John Emmas
a6e7abb7fa
Accommodate newly introduced source(s) in our MSVC project (libpbd)
2019-02-08 10:17:57 +00:00
Robin Gareus
bea9f5adc3
Remove disk-reader local MIDI vari-speed
...
Vari-speed is now handled by the engine, on port-level
2019-02-07 21:32:20 +01:00
Robin Gareus
8dda9f4ca8
Prefer AudioBuffer reference over raw buffer
...
This allows for consistent libardour API usage, in particular Amp.
2019-02-07 15:28:30 +01:00
Robin Gareus
18af4dd55a
Prepare dedicated Disk-reader de-click gain-stage
...
This allows to specify a shorter fade-duration than default
Amp::apply_gain(), also allows to unroll and vectorize the loop
2019-02-07 15:28:25 +01:00
Robin Gareus
3c96ba1de6
Allow reading future data without read-commit
...
This is in preparation for de-click, fade-out. A disk-reader
can keep going, reading buffered data (if any) without changing the
read-index.
2019-02-07 01:31:15 +01:00
Paul Davis
243412d930
do not use green for "OK" deltas in transport master dialog and drop delta character
2019-02-06 15:04:33 -07:00
Paul Davis
68897a742f
use correct value for silent sample count delivered to LTC decoder
2019-02-06 13:54:05 -07:00
Paul Davis
896091d256
do not attempt to update transport master rows if audioengine is not running
2019-02-06 13:54:05 -07:00
Robin Gareus
5e1484bf18
Fix rolling backwards
...
When speed is -1, start_sample >= end_sample and _transport_sample
needs to be decremented.
Session::process_with_events() did this correctly, this change makes
Session::process_without_events() behave identically.
2019-02-06 20:26:44 +01:00
Robin Gareus
1845dff4c8
Implement backwards micro-locates
2019-02-06 20:22:22 +01:00
Robin Gareus
dcd612f8a7
Prepare Disk-reader for bi-directional micro-locates
2019-02-06 19:22:46 +01:00
Robin Gareus
6975b5ca54
Prepare buffer for seeking
...
Keep track of safe reservation:
Data has been read (or was skipped) previously can be read again
up to the allocated "reservation" (which is never overwritten).
2019-02-06 19:00:15 +01:00
Robin Gareus
b3fda6236a
Optimize buffer zero-filling
2019-02-06 17:02:20 +01:00
Robin Gareus
007c4ffdc0
Towards a new disk-reader ringbuffer
...
This is mainly a NO-OP, introducing a new PlaybackBuffer type
and preparing for its use.
At this point in time, the buffer is just a power-of-two sized
ringbuffer and the disk-reader's read-logic is still unchanged.
Eventually the read and write sample position that are currently
private to the disk-reader can be migrated to be owned by the buffer.
Also Diskreader::read() positions can be matched to read-position ..
+/- buffer reservation and de-click can read w/o committing the read.
2019-02-05 23:29:31 +01:00
Paul Davis
3cc3074dc7
use ::reset() not ::update()
2019-02-04 11:24:23 -07:00
Paul Davis
90e5220fa6
reset "current" in LTC transport master when necessary
2019-02-04 11:23:56 -07:00
Paul Davis
5b12cc9bad
correctly initialize LTC transport master port latency (reversed boolean error)
2019-02-04 11:23:35 -07:00
Paul Davis
6f81552011
NOOP: whitespace in function call
2019-02-04 11:22:25 -07:00
Paul Davis
a18250905c
fully initialize all LTC transport master members
...
at least the ones that can be done via initialization statements
2019-02-04 11:22:04 -07:00
Paul Davis
3a43c6375d
remove debug output
2019-02-04 11:21:07 -07:00
Paul Davis
dae7ea5382
add DEBUG::Destruction output for Port
2019-02-04 11:20:49 -07:00
Paul Davis
8edd03e68b
extend debug output statement
2019-02-04 11:20:32 -07:00
Paul Davis
55e2542193
add new DEBUG_TRACE output for transport masters
2019-02-04 11:20:19 -07:00
Paul Davis
ae1bd6bbd0
remove commented code
2019-02-04 11:19:56 -07:00
Paul Davis
64ed049567
force execution of ARDOUR::init_post_engine() before any handlers of AudioEngine::Running()
2019-01-27 14:02:03 -07:00
Paul Davis
e7b34d7f18
do not reset ControlProtocol state for every engine restart, it is not necessary
2019-01-27 14:01:05 -07:00
Paul Davis
59b709be2b
remove debug output
2019-01-25 11:09:31 -07:00
Paul Davis
89d54b8790
minor refactorization of how the transport master widget is rebuilt
2019-01-25 09:23:08 -07:00
Paul Davis
1be3301342
new approach to handling Transport Masters when engine is restarted
...
Trust that ::reset() works for all transport masters, and call it when engine is stopped. This way
the transport masters are ready to be called again as soon as the engine restarts.
2019-01-25 09:23:08 -07:00
Robin Gareus
c01ab83e1f
Kill the last remaining buses
...
In Ardour's world, the plural of a "Bus[Bar]" is "Busses".
(some day we may or may not search/replace 'em all to "buses")
2019-01-23 16:05:21 +01:00
Robin Gareus
28f211c5d2
NO-OP: whitespace
2019-01-23 12:59:17 +01:00
Robin Gareus
87602e7fb3
system-exec read: allow 1 byte for null termination -- #7715
2019-01-23 12:44:10 +01:00
Robin Gareus
145d7f8d0a
LV2: Immediately respond after processing scheduled work in sync exec mode
...
This allows for sample-accuracy when the work is triggered by sequenced
events in offline rendering mode.
2019-01-22 21:54:22 +01:00
Robin Gareus
586792fcc9
NO-OP: whitespace
2019-01-21 14:36:59 +01:00
Robin Gareus
657e976a80
NO-OP: remove unused code
2019-01-21 14:34:19 +01:00
Robin Gareus
d97364736c
ISO-C++ compat, see cd70c6bda5, 91ed9840d
2019-01-21 14:33:08 +01:00
Robin Gareus
d5241c6194
Use correct playlist when loading Ardour5 session
...
Ardour5 identifies playlists by playlist-name, not by diskstream name.
2019-01-19 12:08:54 +01:00
Robin Gareus
bf728520ca
Optimize exponential interpolation.
2019-01-19 12:08:54 +01:00
Len Ovens
616ee4e43b
OSC: remove unused variable
2019-01-18 10:24:13 -08:00
Len Ovens
da347c3b37
Hmm, balanced panner didn't seem to make it in
2019-01-18 10:24:13 -08:00
Len Ovens
80df6b84b0
foldback sends should have unlinked balanced panner
...
Or 1+2 for mono sends.
2019-01-18 10:24:13 -08:00
Len Ovens
c7787690f6
OSC: shorten foldbackbus names
2019-01-18 10:24:13 -08:00
Robin Gareus
5d967b64b1
Clarify auto-connect preference
2019-01-17 18:12:51 +01:00
Paul Davis
755babeb59
remove unnecessary call to init_post_engine() (now called from libardour)
2019-01-17 09:18:53 -06:00
Paul Davis
c60d8cf747
(libs) call ARDOUR::init_post_engine() from within libardour rather than requiring "users" of the library to arrange for it
2019-01-16 15:29:38 -06:00
Paul Davis
4c064081af
(libs) call ARDOUR::init_post_engine() from within libardour rather than requiring "users" of the library to arrange for it
2019-01-16 15:29:38 -06:00
Robin Gareus
cd70c6bda5
Fix ambiguity introduced in 91ed9840d
...
(bool) false == 0 == (const char*) NULL
error: ISO C++ says that these are ambiguous, even though the worst
conversion for the first is better than the worst conversion for the second:
actions.h:92: note: candidate 1: Glib::RefPtr<Gtk::Action> ActionManager::get_action(const char*, const char*, bool)
actions.h:91: note: candidate 2: Glib::RefPtr<Gtk::Action> ActionManager::get_action(const std::string&, bool)
2019-01-16 01:17:52 +01:00
Robin Gareus
8b71967be9
ALSA: add locks to safely add/remove MIDI devices
...
Theoretically this could be lock-free by using a queue of device
ports to be added/remove in sync in the process-callback, but
realistically adding/removing devices doesn't have to be rt-safe.
2019-01-14 22:33:31 +01:00
John Emmas
8f9e63575f
Clarify which version of 'ActionManager::get_action()' we're calling
...
For MSVC, the parameter 'false' (i.e. 0) can be considered as either a bool or a pointer - so it'll map to both declarations of ActionManager::get_action()
2019-01-14 14:14:23 +00:00
Paul Davis
9d1fa8f820
re-order startup process, registering actions early
...
Mostly to stop an error when UIConfiguration::map_parameters()
looks for an action that has not yet been registered
2019-01-13 12:01:18 -06:00