56d8b6cae1
Change default RE to use Layer+Time
2019-03-12 15:17:41 +01:00
d7314e0048
Add a time+layer equivalence check
...
This is more useful than exact_equivalent() since _start offset
may not match in some cases (compounds, import, record with different
capture latencies).
However shared group editing (range, copy/paste) does result in
consistent layers and matching position+length.
2019-03-12 15:17:12 +01:00
bdcfab73f8
Use VST's print_parameter() when applicable.
2019-03-11 02:56:08 +01:00
484e0d0fb2
Remove generic parameter-printer
...
This has been superseded by value_as_string() along with meta-data
from parameter-descriptor, which is supported by all standards, except VST.
2019-03-11 02:10:50 +01:00
4964852f0b
Remove cruft, unused variable
2019-03-11 01:49:43 +01:00
4d695eaf51
Work-around crash when printing bindings
...
(ardour -b or Keyboard-Shortcuts > Print Bindings)
see also https://github.com/Ardour/ardour/pull/447
2019-03-09 21:59:16 +01:00
65fc37afb7
do not save MIDI port info unnecessarily
2019-03-08 17:51:00 -07:00
d14d9d9532
on engine (re)start, just mark MIDI port info dirty
2019-03-08 17:50:32 -07:00
c51c8b3308
add runtime warning message
2019-03-08 17:08:29 -07:00
dd8b051636
drop silly canonical name stuff from MIDI port info, and just store backend name (libs version
2019-03-08 12:10:22 -07:00
ac50d66da9
rework name/canonical-name stuff for MIDI port info
2019-03-07 22:05:40 -07:00
15cd1163fc
Pass stderr mode properly to vfork wrapper
2019-03-07 23:51:04 +01:00
df8097e31e
Fix mp3 export
...
For reasons yet to be investigated, closing stderr when using a
pipe into ffmpeg results in ffmpeg's stderr being written
verbatim in the output file.
2019-03-07 23:51:01 +01:00
99462a50e6
save/restore MIDI port pretty names, but prefer backend pretty name if available
2019-03-07 13:30:54 -07:00
f7802325dc
redesign naming and reload of MIDI port information (library edition)
2019-03-07 12:01:27 -07:00
8b212bfa12
a more nuanced version of the "do-not-automatically-disconnect-selection-follows-input
2019-03-07 12:01:27 -07:00
b774ef1e20
Remove unused fluidsynth setting (since fluidsynth 2.0)
2019-03-06 23:50:07 +01:00
ce961d73f3
Use unique midi-port names for Ardour's Dummy backend
2019-03-06 23:48:07 +01:00
8ccc45d44d
Ardour/ALSA allow multiple MIDI devices with the same name
2019-03-06 23:41:15 +01:00
51674b0307
Add missing newline on error message
2019-03-06 17:09:29 +01:00
a24252e0d0
Fix typo
2019-03-06 17:09:12 +01:00
Jan Lentfer
dfda5eab82
LCXL:Disable global mute/solo/recarm in device mode
2019-03-06 09:28:25 +01:00
1af123465c
Tweak session load
...
Listen positions are already correctly set when the route state
is restored. The Route directly uses the Config.
This skips duplicate calls to re-configure all processors on all Routes
during RCConfiguration::map_parameters() on session-load, twice
(pfl-position, listen-position)
2019-03-06 01:04:29 +01:00
883ee9c2a0
Allow to call set_state() on existing routes
...
Delaylines are not saved in the XML and internal-return is an
invisible processor not explicitly re-added when the state is restored.
They are [re]inserted during Route::setup_invisible_processors().
So this method need to be called after restoring processor state
(indirectly via configure_processors_unlocked as needed).
PS. During route creation this call happens explicitly and on session load
hookup_io() -> Route::output_change_handler() implicitly sets this up.
2019-03-06 00:57:49 +01:00
6a7750a55d
Tweak, optimize route setup
...
Speed up route creation: add_processor() takes a process-lock
and calls configure_processors() but this is done explicitly at the
end of init() already.
2019-03-06 00:03:46 +01:00
8b5437301b
Close stderr of child processes on MacOS
...
This fixes a bug on some modern mac systems. Related to
setup_logging() changing stderr to use ASL and write to com.apple.console.
When a forked application writes to stderr while ASL is used,
the child is terminated for some reason.
2019-03-05 22:52:53 +01:00
e1ffe7857f
Use enum for exec stderr parameter (1/2)
2019-03-05 22:49:15 +01:00
fdf74cf850
Enable de-click in disk-reader
...
This breaks auto-return and other post-transport locates until
such transport-states wait for de-click before seek().
2019-03-05 22:49:08 +01:00
f1dfc6d2a2
do not disconnect MidiPortSelection-flagged ports from everything when (MIDI track) selection changes
...
If the user manually connects such a port to something, then it is
up the user to disconnect it too
2019-03-04 18:23:06 -07:00
2cf57e9257
Fix recursive WriteLock crash due to signal emission
...
Route::processors_changed() signal connects to a same thread session-slot
Session::route_processors_changed() which can end up iterating over
Routes and Processors to re-calculate latency.
This takes a ReadLock after WriteLock, which eventually leads a duplicate
unlock and segfault.
2019-03-05 00:25:53 +01:00
bb6408d553
Make it compile again
...
ISO C++ forbids applying 'sizeof' to an expression of function type
2019-03-04 21:42:21 +01:00
d3657a8944
Add/remove source(s) in our MSVC project (audiographer)
2019-03-04 12:16:47 +00:00
6dad858620
remove double assignments and one debug trace output; tweak second debug trace output
2019-03-03 13:19:01 -07:00
7c820af42f
debug trace output tweaks
2019-03-03 13:17:42 -07:00
cd3c72bffe
remove debug output
2019-03-03 13:17:30 -07:00
033699a4cd
remove conditional surrounding wait-for-master-to-catch-us logic
2019-03-03 13:16:30 -07:00
64b6ea4341
remove debug output
2019-03-03 13:15:12 -07:00
1568cd4411
do not initialize LTC timecode rate from session FPS
2019-03-03 11:39:56 -07:00
5b0d98abcd
fix decision about sending MTC to be based not just on whether the transport master is locked, but whether it is external
2019-03-03 10:27:38 -07:00
564796b6c0
audioengine skip should trigger full LTC_Slave::reset(), not just feed silence to the decoder
2019-03-03 10:26:48 -07:00
920fc66540
LTC_Slave: count frames since reset
2019-03-03 10:26:22 -07:00
18f75c9f8a
debug trace output tweaks (including avoiding stderr/stdout issues)
2019-03-03 10:24:02 -07:00
42f93487b5
LTC_Slave::reset() should change _current.speed back to zero
2019-03-03 10:22:22 -07:00
a000faaa47
NO-OP: brace position
2019-03-03 10:21:07 -07:00
cbc93c3487
NO-OP: brace position
2019-03-03 10:20:49 -07:00
7fd05ff051
expand scope of LTC_Slave::reset() to include more object state
2019-03-03 10:20:27 -07:00
5146d93853
fix semantics of LTC_Slave::locked() - we must have detected FPS to be considered locked
2019-03-03 10:19:45 -07:00
d2d349a30b
fix initialization order
2019-03-03 10:19:06 -07:00
477628a884
rename LTC_Slave::prev_sample to prev_frame, correcting s/frame/sample/ changes
2019-03-03 10:17:46 -07:00
86cac37680
removed _locked property from TransportMaster (it's a method, not a property)
2019-03-03 10:12:08 -07:00