Robin Gareus
56d8b6cae1
Change default RE to use Layer+Time
2019-03-12 15:17:41 +01:00
Robin Gareus
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
Robin Gareus
bdcfab73f8
Use VST's print_parameter() when applicable.
2019-03-11 02:56:08 +01:00
Robin Gareus
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
Robin Gareus
4964852f0b
Remove cruft, unused variable
2019-03-11 01:49:43 +01:00
Robin Gareus
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
Paul Davis
65fc37afb7
do not save MIDI port info unnecessarily
2019-03-08 17:51:00 -07:00
Paul Davis
d14d9d9532
on engine (re)start, just mark MIDI port info dirty
2019-03-08 17:50:32 -07:00
Paul Davis
c51c8b3308
add runtime warning message
2019-03-08 17:08:29 -07:00
Paul Davis
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
Paul Davis
ac50d66da9
rework name/canonical-name stuff for MIDI port info
2019-03-07 22:05:40 -07:00
Robin Gareus
15cd1163fc
Pass stderr mode properly to vfork wrapper
2019-03-07 23:51:04 +01:00
Robin Gareus
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
Paul Davis
99462a50e6
save/restore MIDI port pretty names, but prefer backend pretty name if available
2019-03-07 13:30:54 -07:00
Paul Davis
f7802325dc
redesign naming and reload of MIDI port information (library edition)
2019-03-07 12:01:27 -07:00
Paul Davis
8b212bfa12
a more nuanced version of the "do-not-automatically-disconnect-selection-follows-input
2019-03-07 12:01:27 -07:00
Robin Gareus
b774ef1e20
Remove unused fluidsynth setting (since fluidsynth 2.0)
2019-03-06 23:50:07 +01:00
Robin Gareus
ce961d73f3
Use unique midi-port names for Ardour's Dummy backend
2019-03-06 23:48:07 +01:00
Robin Gareus
8ccc45d44d
Ardour/ALSA allow multiple MIDI devices with the same name
2019-03-06 23:41:15 +01:00
Robin Gareus
51674b0307
Add missing newline on error message
2019-03-06 17:09:29 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
e1ffe7857f
Use enum for exec stderr parameter (1/2)
2019-03-05 22:49:15 +01:00
Robin Gareus
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
Paul Davis
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
Robin Gareus
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
Robin Gareus
bb6408d553
Make it compile again
...
ISO C++ forbids applying 'sizeof' to an expression of function type
2019-03-04 21:42:21 +01:00
John Emmas
d3657a8944
Add/remove source(s) in our MSVC project (audiographer)
2019-03-04 12:16:47 +00:00
Paul Davis
6dad858620
remove double assignments and one debug trace output; tweak second debug trace output
2019-03-03 13:19:01 -07:00
Paul Davis
7c820af42f
debug trace output tweaks
2019-03-03 13:17:42 -07:00
Paul Davis
cd3c72bffe
remove debug output
2019-03-03 13:17:30 -07:00
Paul Davis
033699a4cd
remove conditional surrounding wait-for-master-to-catch-us logic
2019-03-03 13:16:30 -07:00
Paul Davis
64b6ea4341
remove debug output
2019-03-03 13:15:12 -07:00
Paul Davis
1568cd4411
do not initialize LTC timecode rate from session FPS
2019-03-03 11:39:56 -07:00
Paul Davis
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
Paul Davis
564796b6c0
audioengine skip should trigger full LTC_Slave::reset(), not just feed silence to the decoder
2019-03-03 10:26:48 -07:00
Paul Davis
920fc66540
LTC_Slave: count frames since reset
2019-03-03 10:26:22 -07:00
Paul Davis
18f75c9f8a
debug trace output tweaks (including avoiding stderr/stdout issues)
2019-03-03 10:24:02 -07:00
Paul Davis
42f93487b5
LTC_Slave::reset() should change _current.speed back to zero
2019-03-03 10:22:22 -07:00
Paul Davis
a000faaa47
NO-OP: brace position
2019-03-03 10:21:07 -07:00
Paul Davis
cbc93c3487
NO-OP: brace position
2019-03-03 10:20:49 -07:00
Paul Davis
7fd05ff051
expand scope of LTC_Slave::reset() to include more object state
2019-03-03 10:20:27 -07:00
Paul Davis
5146d93853
fix semantics of LTC_Slave::locked() - we must have detected FPS to be considered locked
2019-03-03 10:19:45 -07:00
Paul Davis
d2d349a30b
fix initialization order
2019-03-03 10:19:06 -07:00
Paul Davis
477628a884
rename LTC_Slave::prev_sample to prev_frame, correcting s/frame/sample/ changes
2019-03-03 10:17:46 -07:00
Paul Davis
86cac37680
removed _locked property from TransportMaster (it's a method, not a property)
2019-03-03 10:12:08 -07:00