Commit graph

14531 commits

Author SHA1 Message Date
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
Paul Davis
84aedbb532 remove ill-conceived use-session-timecode-format option 2019-03-03 09:59:05 -07:00
Robin Gareus
8b2a8fa42a
Remove another unused include 2019-03-02 14:32:54 +01:00
Robin Gareus
9a8464ff40
Add a signal to indicate VCA creation
As opposed to VCAAdded this is not emitted when re-loading a session
and only emitted when a user creates a new VCA.
2019-03-01 18:56:56 +01:00
Robin Gareus
1854a72b80
Revert Monitor-Section to be per session
This partially reverts 639dff3a7c. 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-03-01 16:45:42 +01:00
Robin Gareus
6064c75fd5
NO-OP: whitespace 2019-03-01 16:02:08 +01:00
Robin Gareus
63200eab05
Don't use c99 (amend 959947e7f8) 2019-03-01 16:02:08 +01:00
John Emmas
93d23f7e49 Add/remove source(s) in our MSVC project (libardour) 2019-03-01 08:39:50 +00:00
Paul Davis
bc8286c7eb simplifications to the logic and additional comments for code that handles auto-return at transport stop 2019-02-28 17:18:28 -07:00
Robin Gareus
7ea51298da
NO-OP: whitespace 2019-02-28 23:57:44 +01:00
Robin Gareus
fc7dc6a214
Abort when Action cast failed
Previously the action-manager only called ::abort() when
an action could no be found. This add a further restriction
that the expected class must match.
2019-02-28 23:57:32 +01:00
Robin Gareus
959947e7f8
NO-OP: whitespace (remove vi modelines) 2019-02-28 20:56:23 +01:00
Robin Gareus
9131cd17a0
Consolidate gdither noise code 2019-02-28 20:40:45 +01:00
Robin Gareus
2a8d3ff4f0
Amazing PCM byte/array convert functions, unused. 2019-02-28 18:52:10 +01:00
Robin Gareus
be3fa5a635
Remove unused RDF in RIFF prototype 2019-02-28 18:30:06 +01:00
Robin Gareus
c83ba53399
Remove ancient, unmaintained xcode project files 2019-02-28 18:12:44 +01:00
Robin Gareus
7ae1825a3c
Remove cruft, unused files 2019-02-28 18:04:42 +01:00
Robin Gareus
c6e2e0a948
Clean up remnants from a half eaten apple 2019-02-28 18:00:08 +01:00
Robin Gareus
d2b73141af
Fix analysis plugin when using plugin-presets 2019-02-28 04:49:27 +01:00