#include <ardour/ardour.h>
#include <ardour/session.h>
-#include <ardour/diskstream.h>
+#include <ardour/audio_diskstream.h>
#include "i18n.h"
using namespace ARDOUR;
-//using namespace sigc;
+using namespace PBD;
MultiAllocSingleReleasePool Session::Event::pool ("event", sizeof (Session::Event), 512);
};
void
-Session::add_event (jack_nframes_t frame, Event::Type type, jack_nframes_t target_frame)
+Session::add_event (nframes_t frame, Event::Type type, nframes_t target_frame)
{
Event* ev = new Event (type, Event::Add, frame, target_frame, 0);
queue_event (ev);
}
void
-Session::remove_event (jack_nframes_t frame, Event::Type type)
+Session::remove_event (nframes_t frame, Event::Type type)
{
Event* ev = new Event (type, Event::Remove, frame, 0, 0);
queue_event (ev);
}
void
-Session::replace_event (Event::Type type, jack_nframes_t frame, jack_nframes_t target)
+Session::replace_event (Event::Type type, nframes_t frame, nframes_t target)
{
Event* ev = new Event (type, Event::Replace, frame, target, 0);
queue_event (ev);
switch (ev->type) {
case Event::SetLoop:
- set_auto_loop (ev->yes_or_no);
+ set_play_loop (ev->yes_or_no);
+ break;
+
+ case Event::AutoLoop:
+ if (play_loop) {
+ start_locate (ev->target_frame, true, false, Config->get_seamless_loop());
+ }
+ remove = false;
+ del = false;
break;
case Event::Locate:
case Event::PunchIn:
// cerr << "PunchIN at " << transport_frame() << endl;
- if (punch_in && record_status() == Enabled) {
+ if (Config->get_punch_in() && record_status() == Enabled) {
enable_record ();
}
remove = false;
case Event::PunchOut:
// cerr << "PunchOUT at " << transport_frame() << endl;
- if (punch_out) {
+ if (Config->get_punch_out()) {
step_back_from_record ();
}
remove = false;
del = false;
break;
- case Event::AutoLoop:
- if (auto_loop) {
- start_locate (ev->target_frame, true, false, seamless_loop);
- }
- remove = false;
- del = false;
- break;
-
case Event::Overwrite:
- overwrite_some_buffers (static_cast<DiskStream*>(ev->ptr));
+ overwrite_some_buffers (static_cast<AudioDiskstream*>(ev->ptr));
break;
case Event::SetDiskstreamSpeed:
- set_diskstream_speed (static_cast<DiskStream*> (ev->ptr), ev->speed);
+ set_diskstream_speed (static_cast<AudioDiskstream*> (ev->ptr), ev->speed);
break;
case Event::SetSlaveSource:
- set_slave_source (ev->slave, ev->target_frame);
+ set_slave_source (ev->slave);
break;
case Event::Audition:
- set_audition (static_cast<AudioRegion*> (ev->ptr));
+ set_audition (ev->region);
break;
case Event::InputConfigurationChange: