Age | Commit message (Collapse) | Author |
|
|
|
and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
|
|
Various session rt-events set "_send_timecode_update" to true,
but at the same time queue post-transport-work.
The timecode-update is generated, but due to pending transport work
session->silent() is true and the timecode was never sent.
|
|
..to prevent switching forth and back during individual
::state(), ::set_state() when loading/saving the session or locating.
|
|
amend 939808a7
|
|
|
|
|
|
|
|
Paul Davis was responsible for introducing almost all of this.
|
|
We can't check for Session::actively_recording() because punch out may have disabled that. Rather
than add logic to check if a flush is needed (which is not much different than the code that runs
as part of the flush to disk), just do a flush anyway.
|
|
|
|
connected with play-loop just being enabled"
|
|
|
|
|
|
an "is-rolling" test
|
|
|
|
|
|
auto-return to last roll location or nothing
|
|
ardour-merge-from-tracks (just the libs/* section)
|
|
to match Tracks' logic
|
|
|
|
changes); remove debug output
|
|
add missing set_track_loop() call for playhead priority
|
|
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/ardour/types.h
libs/ardour/enums.cc
libs/ardour/session_transport.cc
system_config
|
|
session loading
Conflicts:
libs/ardour/diskstream.cc
libs/ardour/session.cc
libs/ardour/session_state.cc
Conflicts:
libs/ardour/session.cc
|
|
When refilling playback buffer, try to fill it completely, or at least
using the next-lowest power-of-2 as the amount to read. When locating,
where we use do_refill_with_alloc(), only partially fill the buffer.
Work not yet finished, but possibly promising.
|
|
|
|
MTC source is activated
This is required for the case when we leave Tracks ready for record and then activate MTC source.
|
|
The general design here is wrong, because it should be more general and cover all possible sync sources.
But it does work, it is used in Tracks, and my attempt to do it correctly revealed the problem to be
an EXTREMELY difficult design issue (as in: two weeks of work on it did not really solve the
fundamental issues with slave design).
So, here it is for now, c/o Grygorii
|
|
dropped to 0 outside, it's illegal. It may cause "should_do_transport_work" go below 0 and make butler to round for a very-very long time (hang and possible lock of other threads) before stop() call returns.
_butler->stop () is synchronous, so its safe to wait in this call for butler to finish it's work.
[Reviewed by] PDavis
|
|
|
|
realtime processor re-ordering does not require
a route resort nor latency compensation update.
(which were done as callback in same thread)
|
|
|
|
Session::unset_play_loop() needed to be a no-op if play loop was
already false, and this was exacerbated now that it potentially
schedules butler transport work.
|
|
Session::locate()
|
|
[Reviewed by] REQUIRED REVIEW FROM PAUL DAVIS
|
|
Try to make sure that we appropriately reset and refill track
buffers whenever we enter/leave loop playback,and whenever
we locate. In addition, if we start playing somewhere other
than the loop range while loop is enabled, then the first
time we hit the loop end, set up the track buffers.
Conflicts:
libs/ardour/session_transport.cc
|
|
Something, somewhere has to tell tracks to refill their buffers with
the special loop-data-only magic
|
|
later, when coming back to the loop)
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/session.cc
libs/ardour/session_transport.cc
|
|
save itself.
This prevents the possibility of cross-thread calls in the GUI when it adds its state
to the session via extra XML
|
|
|
|
|
|
user pressed stopped (2) captured regions should end where the playhead ends
|
|
|
|
is follow-edits. when you select a range, the playhead should jump to the start of the range and begin to play the selection. BUT (unlike previous implementation) if the user wants to relocate the playhead, then that should be allowed. The user should always remain in charge of the playhead location. NOTE: your previous config setting will be invalidated. You must re-save a session to overwrite with the new config variable
|
|
modifying the range with keyboard commands.
|
|
|
|
|
|
the "play loop" button.
If enabled, then the button simply changes the behaviour of the "play" button rather than actually starting playback. If disabled
transport behaviour should be unchanged from before.
|
|
|