13
0
Commit Graph

14518 Commits

Author SHA1 Message Date
bc9bf87dde
Debug AudioGrapher::CmdPipeWriter<> command 2019-02-26 17:01:37 +01:00
Nikolaus Gullotta
711965b1a9 Amend d61efbee3 - remove check for Mixbus 2019-02-26 09:45:58 -06:00
Nikolaus Gullotta
d61efbee3e Route::save_as_template() needs call state() with true, and add modified-with node to state for template-files 2019-02-26 09:42:30 -06:00
7048d86d6c
Remove unused define 2019-02-26 03:49:02 +01:00
6920e5d653
Prefer vfork() over system() when opening an URI
see also https://github.com/surge-synthesizer/surge/issues/657
2019-02-26 03:47:36 +01:00
b8a6f7b052
TimeFx-Filter: do not create a region when operation is canceled 2019-02-26 03:07:49 +01:00
5f1e2d4961
Fix never-ending timestretch
This is relevant when time-stretch is canceled. In that case
stretcher.process() is never called with final=true, and hence
stretcher.available() will always return a value >=0.
2019-02-26 01:57:02 +01:00
75134e8ccf
Update Fluidsynth to v2.0.4
see https://github.com/FluidSynth/fluidsynth/releases/tag/v2.0.4
2019-02-23 18:41:05 +01:00
63fdfd9e85 remove PostTransportWorkCurveReallocate (no longer used) 2019-02-22 14:54:34 -07:00
11ef82954e
Sort route-templates by name 2019-02-22 22:33:01 +01:00
59c856c2c0
Remove unused API, unused variable 2019-02-21 16:11:32 +01:00
8006057279
Avoid dynamic-cast, prefer virtual inheritance for performance reasons 2019-02-21 16:10:45 +01:00
522f28b3c5
Add API to check for ongoing de-click 2019-02-21 01:34:58 +01:00
e48fe0fd42
Remove more cruft (unused rf-scale) 2019-02-21 00:24:56 +01:00
c3a7c7c452
Remove cruft (unused PostTransportInputChange) 2019-02-20 19:23:37 +01:00
69322ccd1b
Add unified API to select plugins to show on control-surfaces
e.g. Mixbus channelstrip should be hidden, also mixbus' built-in
effects are exposed as well-known controls
2019-02-20 16:26:51 +01:00
125a38bdbf Add/remove source(s) in our MSVC project (libardour) 2019-02-18 10:12:57 +00:00
bb4d769310
Remain silent while a disk-buffer is overwritten
This catches a case where a user-operation results in a complete
buffer re-fill during playback (e.g. split or move regions while playing)
2019-02-18 02:18:13 +01:00
6d7bc4ea30
Emit signal when plugin latency changes 2019-02-17 02:22:03 +01:00
2ec28f3ce7
Clean up Latency API (Processor vs Plugin)
Plugins are only a source of Latency (Plugin delay).
The API to query, signal and override Latency is managed
by PluginInsert.
2019-02-17 01:51:49 +01:00
23a98e5f4d remove references to "Editor_menus" which is an action that no longer exists 2019-02-16 13:12:45 -07:00
56e950b189 rename Main_menu action to Main menu
So that if it ever does show up in a list, it looks nice
2019-02-16 13:05:41 -07:00
35609bcfed
Fix some signed/unsigned warnings 2019-02-16 01:10:50 +01:00
fb8505a4ad
NO-OP: whitespace 2019-02-16 01:10:50 +01:00
3cffaeac74
Prepare to allow to disable latency-compensation
Previously "zero custom/user latency" meant "default plugin latency".
This is now saved in a separate boolean allowing a user to reduce a
processor's latency to zero.

This also prepares for a global switch to use zero latency throughout
the whole session.
2019-02-16 01:10:50 +01:00
a858f199a1
Simply debugging port-registration failures 2019-02-15 18:27:22 +01:00
edc34b8d05
Optimize DSP-load calculation, pre-calculate fall-off once 2019-02-14 00:04:29 +01:00
08f51e72d5 midi-audition-synth-uri is deprecated (libardour part). 2019-02-12 13:04:59 -06:00
14c69e869f Hard-code GMsynth as the fallback, and allow UI to select the audition synth on-the-fly. 2019-02-12 13:04:59 -06:00
688bd28458 Session-range behavior (libardour part) 2019-02-12 11:35:48 -06:00
37d28c63db Selection-after-split behavior ( libardour part ) 2019-02-12 11:34:50 -06:00
983875ffc8
Fix llabs() ambiguity
some older systems (e.g. OSX/PPC) fail to compile with
  error: call of overloaded 'llabs(long long int)' is ambiguous
  candidates are:
      long long int llabs(long long int)
      long long int __gnu_cxx::llabs(long long int)
2019-02-09 03:33:32 +01:00
3f66bac4d0
Fix MIDI-bypass for inplace plugins -- #7722 2019-02-09 00:38:36 +01:00
865a33f7b9
Properly initialize atomic variable 2019-02-08 19:33:23 +01:00
796ac29cf2
Fix some disk-buffer threading issues
Make _pending_overwrite atomic (butler + process thread).
This also addresses a potential seek before override race.

Seeking will fill the buffers and by the time overwrite_existing_buffers()
is called from there is no space to overwrite anymore.
2019-02-08 19:33:23 +01:00
b5587e5e43
NO-OP: clarify internal API, prepare for overwrite queue 2019-02-08 19:33:19 +01:00
a6e7abb7fa Accommodate newly introduced source(s) in our MSVC project (libpbd) 2019-02-08 10:17:57 +00:00
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
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
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
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
243412d930 do not use green for "OK" deltas in transport master dialog and drop delta character 2019-02-06 15:04:33 -07:00
68897a742f use correct value for silent sample count delivered to LTC decoder 2019-02-06 13:54:05 -07:00
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
1845dff4c8
Implement backwards micro-locates 2019-02-06 20:22:22 +01:00
dcd612f8a7
Prepare Disk-reader for bi-directional micro-locates 2019-02-06 19:22:46 +01:00
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
b3fda6236a
Optimize buffer zero-filling 2019-02-06 17:02:20 +01:00
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
3cc3074dc7 use ::reset() not ::update() 2019-02-04 11:24:23 -07:00
90e5220fa6 reset "current" in LTC transport master when necessary 2019-02-04 11:23:56 -07:00
5b12cc9bad correctly initialize LTC transport master port latency (reversed boolean error) 2019-02-04 11:23:35 -07:00
6f81552011 NOOP: whitespace in function call 2019-02-04 11:22:25 -07:00
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
3a43c6375d remove debug output 2019-02-04 11:21:07 -07:00
dae7ea5382 add DEBUG::Destruction output for Port 2019-02-04 11:20:49 -07:00
8edd03e68b extend debug output statement 2019-02-04 11:20:32 -07:00
55e2542193 add new DEBUG_TRACE output for transport masters 2019-02-04 11:20:19 -07:00
ae1bd6bbd0 remove commented code 2019-02-04 11:19:56 -07:00
64ed049567 force execution of ARDOUR::init_post_engine() before any handlers of AudioEngine::Running() 2019-01-27 14:02:03 -07:00
e7b34d7f18 do not reset ControlProtocol state for every engine restart, it is not necessary 2019-01-27 14:01:05 -07:00
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
28f211c5d2
NO-OP: whitespace 2019-01-23 12:59:17 +01:00
87602e7fb3
system-exec read: allow 1 byte for null termination -- #7715 2019-01-23 12:44:10 +01:00
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
586792fcc9
NO-OP: whitespace 2019-01-21 14:36:59 +01:00
657e976a80
NO-OP: remove unused code 2019-01-21 14:34:19 +01:00
d97364736c
ISO-C++ compat, see cd70c6bda5, 91ed9840d 2019-01-21 14:33:08 +01:00
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
bf728520ca
Optimize exponential interpolation. 2019-01-19 12:08:54 +01:00
616ee4e43b OSC: remove unused variable 2019-01-18 10:24:13 -08:00
da347c3b37 Hmm, balanced panner didn't seem to make it in 2019-01-18 10:24:13 -08:00
80df6b84b0 foldback sends should have unlinked balanced panner
Or 1+2 for mono sends.
2019-01-18 10:24:13 -08:00
c7787690f6 OSC: shorten foldbackbus names 2019-01-18 10:24:13 -08:00
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
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
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
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
e5ae620c0b adjust debug/trace output for key bindings 2019-01-13 12:00:31 -06:00
f974ff594a additional API to make it nicer to get an existing action group 2019-01-13 11:59:18 -06:00
b67bb8165b do not crash if an unknown action is used by US2400 support 2019-01-11 12:54:44 -06:00
91ed9840d0 do not crash if an unknown action is used by Mackie Control support 2019-01-11 12:39:07 -06:00
Jan Lentfer
ff0ee75a56 LCXL: Fix a problem in switch_bank 2019-01-03 19:22:56 +01:00
Jan Lentfer
45f83beb17 LCXL: fix special 32C handling for autom. lanes 2019-01-03 19:22:15 +01:00
86a78dc100
Fix a -Wunused-but-set-variable 2019-01-02 18:59:03 +01:00
552ede7695
Include Volume Paths in Ardour's PathsDialog Widget
This fixes an issue on MacOS/X. Show non-root volumes to the sidebar
as shortcuts.
2019-01-02 17:40:03 +01:00
ac9329f907
Update Fluidsynth to v2.0.3
see https://github.com/FluidSynth/fluidsynth/releases/tag/v2.0.3
2019-01-02 16:48:03 +01:00
e353bd982b
NO-OP: whitespace 2018-12-28 17:32:38 +01:00
Alex Pilon
53c6b7f909
Check whether punch-in is enabled and record is enabled in addition to if we are actively recording when deciding whether to run count-in clicks 2018-12-28 17:30:09 +01:00
04ccd328dc remove configure-time --no-lv2 option. LV2 is integral to what we do 2018-12-28 09:47:55 -05:00
923d07be31 remove debug output 2018-12-27 17:18:21 -05:00
b09ac181e0 div wrapping 2018-12-27 17:18:21 -05:00
d50d8b9d33
C++98 compatible map erase 2018-12-27 12:45:36 +01:00
7d1a7b076f
NO-OP: whitespace 2018-12-24 02:30:00 +01:00
a0994b16dd
Update Convolver/LuaConvolver
* Add API to allow per-channnel gain and delay
* Fix channel-mapping for stereo IRs w/o true-stereo
2018-12-24 02:29:24 +01:00
517b5f091f
Use same has for ALSA-seq and ALSA-raw devices 2018-12-23 21:58:56 +01:00
79e247e00a
Dynamic ALSA MIDI I/O device discovery and re/connect 2018-12-23 21:58:56 +01:00
217ef4d365
Use hash for ALSA-MIDI device name/ID 2018-12-23 21:58:55 +01:00
c3c85e9ecd
Fix cases where there's no MIDI buffer (e.g. audio audition) 2018-12-23 01:58:19 +01:00
6fa1c58cec
Add guard-points when shifting automation 2018-12-22 02:04:17 +01:00