mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-05 13:15:44 +01:00
non-AA canvas support (not used by default); new SAE menus; fix locate-play-locate ; add toggle-punch ; use primary clock for verbose cursor mode at all the right times; minimize clock redrawing part one
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3123 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
c25149cfe2
commit
295b2da733
32 changed files with 606 additions and 176 deletions
|
|
@ -162,6 +162,7 @@ class Session : public PBD::StatefulDestructible
|
|||
union {
|
||||
void* ptr;
|
||||
bool yes_or_no;
|
||||
nframes_t target2_frame;
|
||||
SlaveSource slave;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include <pbd/error.h>
|
||||
#include <pbd/pthread_utils.h>
|
||||
#include <pbd/stacktrace.h>
|
||||
|
||||
#include <ardour/configuration.h>
|
||||
#include <ardour/audioengine.h>
|
||||
|
|
@ -130,6 +131,7 @@ Session::summon_butler ()
|
|||
{
|
||||
char c = ButlerRequest::Run;
|
||||
::write (butler_request_pipe[1], &c, 1);
|
||||
// PBD::stacktrace (cerr);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -351,7 +351,8 @@ Session::process_event (Event* ev)
|
|||
case Event::LocateRollLocate:
|
||||
// locate is handled by ::request_roll_at_and_return()
|
||||
_requested_return_frame = ev->target_frame;
|
||||
set_transport_speed (ev->speed, true);
|
||||
cerr << "Set RRF " << ev->target_frame << endl;
|
||||
request_locate (ev->target2_frame, true);
|
||||
break;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -394,6 +394,7 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
|
|||
do_locate = true;
|
||||
} else {
|
||||
_transport_frame = last_stop_frame;
|
||||
_requested_return_frame = -1;
|
||||
}
|
||||
|
||||
if (synced_to_jack() && !play_loop) {
|
||||
|
|
@ -429,9 +430,14 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
|
|||
}
|
||||
#endif
|
||||
|
||||
last_stop_frame = _transport_frame;
|
||||
if (_requested_return_frame < 0) {
|
||||
last_stop_frame = _transport_frame;
|
||||
} else {
|
||||
last_stop_frame = _requested_return_frame;
|
||||
_requested_return_frame = -1;
|
||||
}
|
||||
|
||||
send_full_time_code ();
|
||||
send_full_time_code ();
|
||||
deliver_mmc (MIDI::MachineControl::cmdStop, 0);
|
||||
deliver_mmc (MIDI::MachineControl::cmdLocate, _transport_frame);
|
||||
|
||||
|
|
@ -1188,8 +1194,8 @@ Session::setup_auto_play ()
|
|||
void
|
||||
Session::request_roll_at_and_return (nframes_t start, nframes_t return_to)
|
||||
{
|
||||
request_locate (start, false);
|
||||
Event *ev = new Event (Event::LocateRollLocate, Event::Add, Event::Immediate, return_to, 1.0);
|
||||
ev->target2_frame = start;
|
||||
queue_event (ev);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue