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