Commit graph

14542 commits

Author SHA1 Message Date
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
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