Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-12-29 | add Session::transport_stopped_or_stopping() | Paul Davis | |
Session::TransportStateChanged notifies about transport stop before the stop is complete (i.e. at the start of the declick). Various other objects (notably control surfaces) connect to this signal and use it to modify their displayed state. We need a method that can tell them we are stopped (or stopping) even though we are not "fully" stopped yet. This is that method | |||
2019-12-27 | add new Session method to return the worst_latency_preroll() value rounded ↵ | Paul Davis | |
up to the nearest buffer size | |||
2019-12-27 | remove unused member | Paul Davis | |
Note: there is no global state for "the" transport master, since we have several at all times now | |||
2019-12-25 | Use weak-ptr for source added/removed signals (1/2) | Robin Gareus | |
This might fix a "SessionHandleRef exists across session deletion", when the shared_ptr was be pushed onto a x-thread pool, and not invalidated in time before the session was closed. | |||
2019-12-25 | Prevent copy-construction of sources to be destroyed list | Robin Gareus | |
destroy_sources () is only called from Session::remove_last_capture (). The list of sources to be destroyed is the local scope of that method and will hold a reference to the object. copy-construct the list and removing elements one by one from the copy is only unnecessary overhead. | |||
2019-12-17 | Convert Disksteam & Playlists from old 2.x sessions | Robin Gareus | |
2019-12-16 | reinstate missing latency initialization code | Paul Davis | |
Removed (mistakenly) during work on transportFSM | |||
2019-12-10 | revert to single buffer for disk playback, and 5.x-style overwrite | Paul Davis | |
Also address issues with MIDI and also atomicity of _pending_overwrite | |||
2019-12-05 | changes to use overwrite-buffers when loop is disabled or loop range changed | Paul Davis | |
2019-11-22 | redesign of declicking and fades around loop boundaries | Paul Davis | |
2019-11-15 | consolidate Session::locate() and Session::do_locate() | Paul Davis | |
The first no longer needs to handle requests by passing them to JACK transport | |||
2019-11-15 | eliminate hacky design for being able to deliver the correct time as JACK ↵ | Paul Davis | |
timebase master | |||
2019-11-06 | fix unconditional note resolution during DiskReader::realtime_locate() | Paul Davis | |
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() - ::get_midi_playback() has already taken care of this. But when not looping, we need this. So, add an argument to tell all interested parties whether the locate is for a loop end or not | |||
2019-11-02 | remove unused parameter from Session::set_play_loop() API | Paul Davis | |
2019-11-02 | rename all Evoral source from .(hpp|cpp)$ to .(h|cc) | Paul Davis | |
2019-11-02 | refactor SessionEvent and DiskIO so that we pass around ↵ | Paul Davis | |
boost::shared_ptr<Track> rather than Route (this the raw pointers used inside SessionEvent) | |||
2019-11-01 | don't send TFSM event LocateDone after a locate-for-loop-end | Paul Davis | |
See comment for explanation | |||
2019-10-28 | provide a mechanism to decide if Session::update_latency_compensation() is ↵ | Paul Davis | |
being called as part of a callback from the backend. If it is, do not call AudioEngine::update_latencies() to avoid JACK1-style deadlock | |||
2019-10-26 | Fix latency compensation race-condition | Robin Gareus | |
Remove need for explicit `initialize_latencies` call that used to be called from GUI-thread post_engine_init(), as well as Session::engine_running(). Further reduce calls, `graph_reordered` implies a latency-update and fix ordering issue. update_latency_compensation() must be called *after* resort_routes(). | |||
2019-10-18 | Expose virtual-keyboard port as async-port | Robin Gareus | |
2019-10-18 | Add Virtual-Keyboard MIDI port | Robin Gareus | |
2019-10-13 | Remove unused API declaration (removed in 789f08891b) | Robin Gareus | |
2019-10-12 | remove Session::AudioMidiSetupRequired signal (no longer necessary) | Paul Davis | |
2019-10-10 | make BusProfile argument to new Session constructor be const (and in ↵ | Paul Davis | |
associated call tree) | |||
2019-09-30 | Fix remaining doxygen warnings (!) | Robin Gareus | |
2019-09-30 | Fix a few hundred doxygen warnings.. | Robin Gareus | |
There are still over a hundred left, but this addresses many already. In particular @param references to undocumented parameters. Most notably in audio_backend.h | |||
2019-09-29 | Emit signal when session latency was updated | Robin Gareus | |
2019-09-25 | goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build | Paul Davis | |
2019-09-22 | add direct access API for transportFSM and session transport speed | Paul Davis | |
2019-09-22 | remove unused PostTransportDuration and enumeration-writing for ↵ | Paul Davis | |
Adjust(Playback|Capture)Buffering | |||
2019-09-19 | replace boost::msm - based FSM for transport with one written in "plain C++" | Paul Davis | |
Still need to use boost::intrusive to managed qeued/deferred containers | |||
2019-09-17 | add finite state machine to control/manage transport state | Paul Davis | |
2019-08-26 | Add signal for foldback send add or remove | Len Ovens | |
2019-08-07 | Add method to graphviz plot the process-graph | Robin Gareus | |
2019-08-03 | Update libardour GPL boilerplate and (C) from git log | Robin Gareus | |
2019-08-01 | (Source List) Region Tags (libardour part) | Ben Loftis | |
Rough-in: Region-Tags. More correct implementation of tags property (libardour). Region Tags (libardour part) | |||
2019-08-01 | (Source List) Region List rewrite (libardour part) | Ben Loftis | |
2019-08-01 | (Source List) Source property signals (libardour part) | Ben Loftis | |
2019-04-08 | NO-OP: whitespace, comments | Robin Gareus | |
2019-03-23 | Remove chicken/egg d'tor | Robin Gareus | |
Session::Controllables is a shared_ptr<> list. As long as the session exists the Controllables will be around. Destroyed(*) can only be called after the session is destroyed and releases the shared_ptr<> NB. this code had a nice hack to construct a "shared_from_this" workaround. For future reference: struct null_deleter { void operator()(void const *) const {} }; boost::shared_ptr<Controllable>(c, null_deleter()) | |||
2019-03-19 | Remove global Session::playlists variable, use getter method (1/2) | Robin Gareus | |
Global variables that can written by anyone are to be avoided. This also simplifies exposing SessionPlaylists as Lua bindings. | |||
2019-03-18 | NO-OP: Use API to set/test state-of-the-state | Robin Gareus | |
2019-03-01 | Revert Monitor-Section to be per session | Robin Gareus | |
This partially reverts 639dff3a7c7. When loading a session, the monitor-bus that was saved with the session is used. This changes semantics of the monitor-section/config. Config::set_use_monitor_bus(bool) is used to initiate a change! Notification about the change is sent asynchronously by Session::MonitorBusAddedOrRemoved It is no longer possible to directly call add/remove_monitor_section() and leave the session + config in an inconsistent state. | |||
2019-02-28 | simplifications to the logic and additional comments for code that handles ↵ | Paul Davis | |
auto-return at transport stop | |||
2019-02-22 | remove PostTransportWorkCurveReallocate (no longer used) | Paul Davis | |
2019-02-21 | Add API to check for ongoing de-click | Robin Gareus | |
2019-02-21 | Remove more cruft (unused rf-scale) | Robin Gareus | |
2019-02-20 | Remove cruft (unused PostTransportInputChange) | Robin Gareus | |
2019-02-12 | Session-range behavior (libardour part) | Ben Loftis | |
2018-11-07 | get_stripables and get_routelist are now presentationinfo aware | Len Ovens | |