Paul Davis
ed97a290db
make ::ardour_action_name() private to Bindings, because nothing else uses it and it semi-exposes the <Actions> nonsense
2019-03-20 11:12:06 -07:00
Paul Davis
fd3b8f79af
do not create a (throwaway) playlist during track creation
2019-03-19 15:43:06 -07:00
Robin Gareus
50604d83de
Fix incorrectly saved un-used playlists
...
This addresses issues with session-cleanup and region-cleanup in
some sessions.
The root-cause why some unused playlists were saved in the session XML
under <Playlists> and not <UnusedPlaylists> is not known.
Early 6.0-pre did incorrect reference counting, but also older sessions
had this issue. Perhaps due to ambiguities of matching playlists
by name in 5.x or session-format changes 3.x .. 5.x.
2019-03-19 22:05:06 +01:00
Robin Gareus
c2e0fe8b3f
Add some more playlist Lua bindings
2019-03-19 22:05:06 +01:00
Ben Loftis
957393c435
Compiler fix for 201110.
2019-03-19 11:24:26 -05:00
Ben Loftis
4667ca962b
Mixer/show-editor is now Common/show-editor
2019-03-19 10:42:05 -05:00
Paul Davis
21110444c1
use a new unhandled (thus far) exception rather than ::abort() when an action is undefined
2019-03-19 08:29:30 -07:00
Paul Davis
a3986f703d
reorder #include directives
2019-03-18 22:58:24 -07:00
Robin Gareus
1172ff4948
Add Lua bindings for SessionPlaylists
2019-03-19 05:27:34 +01:00
Robin Gareus
1f7db60389
Add convenience methods (mainly for scripting)
2019-03-19 05:27:30 +01:00
Robin Gareus
cf11e11fc5
Remove global Session::playlists variable, use getter method (1/2)
...
Global variables that can written by anyone are to be avoided.
This also simplifies exposing SessionPlaylists as Lua bindings.
2019-03-19 05:14:00 +01:00
Robin Gareus
ab79165893
Fix Playlist refcount when deleting track
...
Both Disk-reader and Disk-writer use the same playlist.
ARDOUR::Track::use_playlist() sets it for both Disk-IO processors,
so it needs to be released by both on destruction.
2019-03-19 03:08:06 +01:00
Paul Davis
7054b2ffc7
switch remaining use of Common/ToggleMixerList to Mixer/ToggleMixerList
2019-03-18 10:58:02 -07:00
Paul Davis
7d71729237
compute correct size for working buffers used by compound regions during disk refills
2019-03-18 07:39:23 -07:00
Paul Davis
b53d80a7d4
make PlaybackBuffer<T>'s power-of-two size computation available to others
2019-03-18 07:39:23 -07:00
Robin Gareus
4706201425
NO-OP: Use API to set/test state-of-the-state
2019-03-18 15:36:58 +01:00
Paul Davis
bd9d848058
remove debug output
2019-03-17 22:22:09 -07:00
Robin Gareus
09fd380948
Avoid calling rt-methods from non-rt context
...
Since upcoming state-machine transitions are done in rt-context
via ARDOUR::Session::process_event () they should all in rt-context.
set_session() is called from the UI thread (and the process-lock wasn't
even taken)
2019-03-18 06:15:12 +01:00
Robin Gareus
e545e66911
Temporary change to make auto-return work with broken transport-logic
...
Revert this once transport state machine waits for de-click!
This causes audible-clicks on stop, but prevents audible artifacts
on LocateRoll with the current transport-control-logic.
2019-03-17 18:38:07 +01:00
Robin Gareus
66103be9f2
Speed up session deletion
...
No need to reconfigure routes due to removal of monitor or aux
send/return. The processors will be removed with the route.
2019-03-17 17:35:10 +01:00
Robin Gareus
3fa3437c38
Remove unneeded calls to configure_processors during session-load
...
Those are superseded by b890cf73ad , which is done after
all IOChanges have been processed.
2019-03-17 17:32:06 +01:00
Robin Gareus
b890cf73ad
Prepare to configure procs only once - fix missing panners
...
During session load, all earlier configure_processors() calls
were useless and not taking I/O into account! The Delivery ::pan_out()
needs _output I/O ports in order to correctly report the correct
port-count!
This worked in earlier versions because Config->map_parameters()
triggered [two] processor re-configs via ::listen_position_changed().
That behavior was changed in 1af123465c
2019-03-17 17:19:02 +01:00
Robin Gareus
b14fdbb516
NO-OP: prefer to use API to check session-state
2019-03-17 17:04:45 +01:00
Robin Gareus
2f09f72b3d
Amend 883ee9c2, setup required invisible processor
...
This fixes a potential silent master-bus when re-loading a session
("mains_out" may be skipped).
2019-03-15 15:54:07 +01:00
Robin Gareus
41e0255b97
Unused skeleton of the transport state-machine
...
Simple test/example code. Eventually this is to replace
Session::process_event() and Session::realtime_*() methods
are to become transition actions.
2019-03-14 01:11:10 +01:00
Robin Gareus
871bd6e0f3
NO-OP: re-order code, collect realtime transport actions
2019-03-13 16:26:17 +01:00
Ben Loftis
1ab383d43e
Change region-equivalence enum to accommodate new mode.
2019-03-12 12:21:25 -05:00
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