13
0
Commit Graph

13636 Commits

Author SHA1 Message Date
eeeb8563c2 sort of no-op ... remove debug output ... just basically put it in git so that i can fetch it on another machine 2017-09-18 11:40:53 -04:00
f8de3e0c6e reinstate "restart seek" behaviour but use a new Session::_seek_counter member variable for this 2017-09-18 11:40:53 -04:00
828b95b526 no more locate-restart based on mismatch transport_frame and locate target 2017-09-18 11:40:53 -04:00
8033fd9912 remove tests for locate_pending() before deciding whether to increment transport position 2017-09-18 11:40:53 -04:00
9836cd3943 more verbose debug output for slave debugging 2017-09-18 11:40:53 -04:00
7149d72625 verbose debug output for slave debugging 2017-09-18 11:40:53 -04:00
b5e1877297 attempt fix for LTC slave when locating 2017-09-18 11:40:53 -04:00
b61146365f delete slave during Session::destroy 2017-09-18 11:40:53 -04:00
d3404f3684 fix logic error that prevent input monitoring during slave wait states 2017-09-18 11:40:53 -04:00
2212403431 don't attempt MIDI playback if there are no MIDI buffers provided for processing 2017-09-18 11:40:53 -04:00
b115a04bab additional DEBUG_TRACE output for slave/diskreader 2017-09-18 11:40:53 -04:00
5c0ce7311a reset DiskReader "no disk output" flag in a couple of exceptional cases 2017-09-18 11:40:53 -04:00
9d423bb12c remove debug output 2017-09-18 11:40:53 -04:00
650953ed14 Non-layered MIDI recording
hand-adapted version of d977cc3238 from master

This does not merge MIDI data, but trims MIDI regions at rec-stop like
non-layered audio-recording does.
2017-09-18 11:40:53 -04:00
2a192dbbd6 remove debug output 2017-09-18 11:40:53 -04:00
38e9487564 when calculating average slave/master delta, use absolute value.
We're interested in average distance between slave/master, the direction is irrelevant and
using sign as direction causes the computed average to be absurd
2017-09-18 11:40:53 -04:00
e9dd575ca5 remove all code related to "silent roll" concept. some debug output added 2017-09-18 11:40:53 -04:00
24df2b5594 NO-OP: mark various state property names as explicitly non-translated 2017-09-18 11:40:53 -04:00
13d44c4d76 move disk_{writer,reader} into Route to allow for simple, sensible implementation of DiskIOPoint 2017-09-18 11:40:53 -04:00
9d355f1390 don't (re)create disk reader/writer if they already exist 2017-09-18 11:40:53 -04:00
6038ef44f9 auditioner always runs at normal speed, independent of transport speed 2017-09-18 11:40:53 -04:00
fb430a7738 add to LUA API (new Stripable API) 2017-09-18 11:40:53 -04:00
9da08b5f19 use const 2017-09-18 11:40:53 -04:00
2c0b35fbb1 remove unused + commented line 2017-09-18 11:40:53 -04:00
29d2754c9a subtle change to _need_butler logic to ensure correct result in mixed-type contexts 2017-09-18 11:40:53 -04:00
59be854f79 reinstate use of a MidiTrack's MIDI filter when reading from disk 2017-09-18 11:40:53 -04:00
8f4d432d73 channel config changes during ::configure_io() must be scoped to ensure they are complete before signals are sent 2017-09-18 11:40:53 -04:00
ece52d3278 move _file_frame from DiskIOProcessor into DiskReader (only place where it is needed); split into by-type array to deal with different rate of audio & MIDI i/o 2017-09-18 11:40:53 -04:00
4dc5be0936 MidiTrack needs to set it's "need butler" status 2017-09-18 11:40:53 -04:00
8b8ce09e9f use a more useful and accurate heuristic to get ::input_streams() for the auditioner 2017-09-18 11:40:53 -04:00
7a0b53f75e clear regions from "other" playlist type in auditioner when starting a new audition 2017-09-18 11:40:53 -04:00
6c14f96ddc auditioner does not care about the state of its diskwriter processor 2017-09-18 11:40:53 -04:00
aaac1e489b change callers of changed Track::use_new_playlist() API and its implementation 2017-09-18 11:40:53 -04:00
a7431e21db remove Auditioner::prepare_playlist() - not used 2017-09-18 11:40:53 -04:00
6bc95465d6 add Track::use_default_new_playlist() 2017-09-18 11:40:53 -04:00
1f53c861b8 remove Track::hidden(); replace with Stripable::is_private_route() 2017-09-18 11:40:53 -04:00
838655bd39 emit required signal 2017-09-18 11:40:53 -04:00
4bfc5ddf71 mechanism to allow Track (or other Route-derived type) to add its own processors at the right time 2017-09-18 11:40:53 -04:00
e5ea6d81d8 add enum registration for DiskIOPoint 2017-09-18 11:40:53 -04:00
9885f04fe6 tweaks to disk io point mechanisms 2017-09-18 11:40:53 -04:00
dc4f730ac9 initial (incomplete) framework for DiskIOPoint manipulation 2017-09-18 11:40:53 -04:00
03e99e9866 fix longstanding compiler warning 2017-09-18 11:40:53 -04:00
c431b527ec new enums for disk i/o positioning 2017-09-18 11:40:53 -04:00
66c5fe41ee framework for silent-roll-while-slave-syncing 2017-09-18 11:40:53 -04:00
144f95c305 do not queue multiple Locate or LocateRoll events 2017-09-18 11:40:53 -04:00
3d183dc462 debug instrumentation for locate time 2017-09-18 11:40:53 -04:00
e6576e2934 probable fix for out-of-sync issue across tracks after locate 2017-09-18 11:40:53 -04:00
646d6bec7e when DiskReader checks to see if a locate is in progress, it must be atomic with respect to all DiskReaders 2017-09-18 11:40:53 -04:00
fb9dd1a411 DiskWriter needs to drop source refs in its destructor.
SerializedRCUManager can't do this by itself
2017-09-18 11:40:53 -04:00
f76c05851f change visible name of disk i/o processors 2017-09-18 11:40:53 -04:00
871428576c do not change Session::_transport_frame is a locate is pending 2017-09-18 11:40:53 -04:00
6fb212a6f6 restart non-RT locate if a new request has been processed by RT context since we started 2017-09-18 11:40:53 -04:00
58ea3d3d8c adjust debug trace output message 2017-09-18 11:40:53 -04:00
bdf3067a59 comment out debug trace output 2017-09-18 11:40:53 -04:00
5ec3e036ff comment out debug trace output 2017-09-18 11:40:53 -04:00
8101d9884f don't bother to re-seek/locate/refill buffers when disk IO processor config changes unless it actually changed 2017-09-18 11:40:53 -04:00
b0c6273f90 add new debug trace output 2017-09-18 11:40:53 -04:00
3dd6144ff5 comment out debug trace output 2017-09-18 11:40:53 -04:00
9edfe24399 fix logic bug in deciding if there is outstanding disk i/o work in butler 2017-09-18 11:40:53 -04:00
0c51230b9f comment out debug trace output 2017-09-18 11:40:53 -04:00
9df314d6d5 add new debug trace output 2017-09-18 11:40:53 -04:00
04c43ffd7e NOOP: remove line split for conditional 2017-09-18 11:40:53 -04:00
d9b456163c change debug trace output 2017-09-18 11:40:53 -04:00
3be9659637 do not advance pointer; avoids illegal over-read during mix_buffers_no_gain() 2017-09-18 11:40:53 -04:00
30c6096d20 locating no longer interrupts process() 2017-09-18 11:40:53 -04:00
1c603682b7 since Session::fail_roll() just calls ::no_roll() make that more explicit when there's actually no failure 2017-09-18 11:40:53 -04:00
feaabcb6c9 missing file from previous commit 2017-09-18 11:40:53 -04:00
cb0d9f5607 remove InputConfigurationChange from session events, since it is a no-op in this development branch 2017-09-18 11:40:53 -04:00
274726084d fix up error in manual rebase correction 2017-09-18 11:40:53 -04:00
c6bd033523 update disk writer input latency at transport stop 2017-09-18 11:40:53 -04:00
79abf3dfa6 set + store signal chain latency for all processors; DiskWriter sets its capture_offset appropriately 2017-09-18 11:40:53 -04:00
d4280997fb the return of MIDI recording, plus refactor to move post-capture playlist manipulations into Track 2017-09-18 11:40:53 -04:00
5ac7d733c2 more DEBUG::Destruction messages 2017-09-18 11:40:53 -04:00
d0faa8e0d6 drop references to disk reader and writer objects in Track destructor 2017-09-18 11:40:53 -04:00
1b058a6ab9 force auditioner to emit GoingAway at the right time, so that its disk reader/writer objects drop their reference 2017-09-18 11:40:53 -04:00
302d15d2c0 drop route shared_ptr when Route::GoingAway is emitted 2017-09-18 11:40:53 -04:00
6827dfe832 fix inadvertent run of Interpolation object when transport speed is zero, leading to a single sample being written when nothing should be.
Also, rename "outgoing" as "disk_signal" to be more clear.
2017-09-18 11:40:53 -04:00
341a6f3c00 fix uninitialized variables causing DiskWriters to think they were in some incorrect state(s) 2017-09-18 11:40:53 -04:00
645f68276b rename a method to be more clear; remove an unused method from DiskReader 2017-09-18 11:40:53 -04:00
8c04457be1 cue monitoring for MIDI 2017-09-18 11:40:53 -04:00
26b13ed5f1 get sdio branch working with MIDI tracks 2017-09-18 11:40:53 -04:00
480b6b81cd NO-OP: comment 2017-09-18 11:40:53 -04:00
982d173b57 cue monitoring for audio (libardour aspects) 2017-09-18 11:40:53 -04:00
eb24353cad move channel-count setting for DiskReader so that it actually reflects the correct numbers 2017-09-18 11:40:53 -04:00
51865535b1 fix various naming issues with Disk{Reader,Writer} 2017-09-18 11:40:53 -04:00
0aa5abe6aa uncomment existing machinery to deal with playlist modifications 2017-09-18 11:40:53 -04:00
3f243303a6 NO-OP: remove placeholder comment 2017-09-18 11:40:53 -04:00
5a52925695 NO-OP explanatory comment 2017-09-18 11:40:53 -04:00
b0d7d6f9fd NO-OP explanatory comment 2017-09-18 11:40:53 -04:00
94bf944acd alignment choice now owned by Track, as a proxy for DiskWriter
DiskWriter is a processor and as such has no Input object. This means
that the "Automatic" setting must be handled by the Track, which
does have an Input object to check for port connections to physical
or non-physical sources
2017-09-18 11:40:53 -04:00
d5ccc7ba98 NO-OP: whitespace inside #if 0 2017-09-18 11:40:53 -04:00
6c29bc1f55 fix iterator initialization 2017-09-18 11:40:53 -04:00
bf973f76e0 set up DiskWriter sources at an appropriate time 2017-09-18 11:40:53 -04:00
690c02c31a don't crash when recording due to null midi_write_source 2017-09-18 11:40:53 -04:00
1046657a58 manual fixes for various XML API changes in master, required after rebase on master 2017-09-18 11:40:53 -04:00
e24ca13394 remove all remaining vestiges of per-track varispeed from libardour 2017-09-18 11:40:53 -04:00
2a1dccabc9 get diskreader working, and remove per-track varispeed API and mechanism 2017-09-18 11:40:53 -04:00
fe8c70e6fc remove debug output 2017-09-18 11:40:53 -04:00
e2f33cdc8b correctly create Tracks, not Busses 2017-09-18 11:40:53 -04:00
5f7798c05a save processor type for Disk{Reader,Writer} 2017-09-18 11:40:53 -04:00
53e6f13852 addd more DEBUG_TRACE for DiskIO; set DiskIOProcess::_need_butler more appropriately; other minor adjustments 2017-09-18 11:40:53 -04:00
462711b23a nothing to do anymore at the Track level when input config changes 2017-09-18 11:40:53 -04:00
5642dd4496 reinstate input monitoring function 2017-09-18 11:40:53 -04:00
68e57101ad fully remove diskstream code 2017-09-18 11:40:53 -04:00
361cab503b random changes required to get an audio track created and transport functional 2017-09-18 11:40:53 -04:00
35c7274cc9 remove Diskstream from Track and derivatives; get ardour to actually startup 2017-09-18 11:40:53 -04:00
d16ae875be remove now-non-existent method from Lua 2017-09-18 11:40:52 -04:00
3e33b0642d add DEBUG::DiskIO 2017-09-18 11:40:52 -04:00
11baba0275 remove Session::track_by_diskstream_id() 2017-09-18 11:40:52 -04:00
a4a87f56e9 mega-commit to save state of first "it compilesand links" state for separated disk i/o changes.
THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-09-18 11:40:52 -04:00
94604c6979 merge almost all audio & midi diskstream code, redistribute between DiskIOProcessor, DiskReader,DiskWriter; compile and link 2017-09-18 11:40:52 -04:00
f8ef82fceb remove duplicated (in heirarchy) loop location from DiskReader 2017-09-18 11:40:52 -04:00
c6dd3045d1 move need-butler from DiskReader to DiskIOProcessor 2017-09-18 11:40:52 -04:00
bcd7a21510 move ChannelInfo structure from DiskReader into DiskIOProcessor 2017-09-18 11:40:52 -04:00
7fb6807ed3 merge MidiDiskstream into DiskReader (playback parts) 2017-09-18 11:40:52 -04:00
074ab1e508 two additional AudioDiskstream methods, partially commented out now 2017-09-18 11:40:52 -04:00
c05cfe3328 merge AudioDiskstream playback code into DiskReader 2017-09-18 11:40:52 -04:00
46366541b1 crawling towards the APIs for separate disk i/o 2017-09-18 11:40:52 -04:00
36046cccc1 add basic data members and methods for adding an explicit size allocation for Canvas::Item 2017-09-18 11:40:52 -04:00
934f1a0476 totally crude mockup of new disk_io.h header 2017-09-18 11:40:52 -04:00
5cfb5dbd4c Bump session file format (pre 6.0)
* latch automation
* logarithmic interpolation option
2017-09-18 11:40:52 -04:00
dc83dc7b58 Add TouchChanged signal (and re-indent) 2017-09-18 11:40:52 -04:00
c4a5ad33a5 Initial support of Latch for some ctrl-surfaces 2017-09-18 11:40:52 -04:00
1d587592ca Add support for Latch Automation 2017-09-18 11:40:52 -04:00
1545c426d9 Revert "Temporary session-format compatibility (revert before release)"
This reverts commit 8cd8cb1650.
2017-09-18 11:40:52 -04:00
766113a024 FP8: call directly into session. 2017-09-18 17:24:57 +02:00
8337982766 Prototype using additional ALSA devices (w/resampling). 2017-09-18 16:13:55 +02:00
128a985361 ALSA Backend: Separate Device Reservation into its own class 2017-09-18 14:50:31 +02:00
71424c9db5 NO-OP: whitespace 2017-09-18 06:47:01 +02:00
eb71eddbc8 Add libzita-resampler as lib
This simplifies x-compiling and x-platform builds as well
allows to statically link, if needed.
2017-09-16 18:31:54 +02:00
7258c6334d Namespace PBD::RingBuffer
class RingBuffer<> is a very generic name and should not pollute the
global namespace.
2017-09-16 16:37:29 +02:00
14fcf86f03 MSVC uses a slightly smaller value for HUGE 2017-09-11 19:25:13 +01:00
019f664356 Fix a-fluidsynth bank/program restore (during session load)
* set program in work-response, synchronous to run()
* properly store bank per channel (for replay)
2017-09-11 16:48:54 +02:00
fdbe22d005 a-fluidsynth: query current bank/program after loading .sf2 2017-09-10 16:06:16 +02:00
057fd9259e FP8: add mode to reset gain to unity
Re-selecting the most recently selected (blinkig select button) strip
returns gain to unity (0dB)
2017-09-09 21:46:26 +02:00
ba2114644d Only emit InstrumentInfo::Changed() on actual change
Ignore plugin re-order, meter-pos changes and other cases where
Route calls reset_instrument_info()
2017-09-09 18:21:06 +02:00
b9f2a2ab3f Fix signal-emission order (first re/set instrument info) 2017-09-09 18:21:00 +02:00
5637bdd29b Prepare for singleton patch-selector per midi-track UI (mixer, editor,..) 2017-09-09 18:20:36 +02:00
7872e4033f LV2/midnam tweaks - fix race conditions
* Emit signal once midnam was actually updated
* only re-read midnam if was it changed. This allows idempotent calls to
  read_midnam() - from the same thread.

At session-load a synth-plugin may load a soundfont in the background
and emit midnam_update() after the synth was initialized but before the
GUI thread connects to the signal. By making the call idempotent the
GUI can call read_midnam() after connecting to the signal to catch up.
2017-09-09 03:08:46 +02:00
2ca3009143 Allow to send MIDI data directly to a plugin 2017-09-09 03:08:46 +02:00
483ad807ce fix crashing thinko in push2 code 2017-09-08 18:36:26 -04:00
b7227415ad a-fluidsynth mark session as modified if .sf2 changes 2017-09-08 23:35:00 +02:00
ba7bbd1d51 a-fluidsynth: implement LV2_BANKPATCH__notify 2017-09-08 23:35:00 +02:00
e452ba0fe1 Add LV2 extension to notify host about midi-bank/pgm state. 2017-09-08 23:35:00 +02:00
8bc2bf0155 Non-numeric Properties are not automatable
Fixes a crash, when the Generic-UI tries to access the AutomationList
of LV2 URID or String Properties.
2017-09-08 23:35:00 +02:00
e15d9202a5 Emit Changed() signal when MIDI bank/pgm changes 2017-09-08 04:35:06 +02:00
6654c53760 Fix bumping .mid file name (snapshots & playlist copy)
When forking regions, copying playlists or saving snapshots we do not
have a reference to the track and cannot use the track's name as basis
for the new filename like Editor::fork_region() does.
A cloned midi region's name is based on the original region name.

This prevents endless addition "name-1-1-1-1-1-1-1-1.mid", adding
to the region's basename.
2017-09-07 06:05:26 +02:00
db7ae81f07 Call curl_global_init() exactly only once (2/2) 2017-08-31 20:08:54 +02:00
03f77792dd Remove over-protection
The queued resize will only happen trigger a size-request when the
widget is realized, and on_size_request() calls ensure_layout().

Moreover, this over protection meant that sometimes a resize wasn't
noticed by the button containers.
2017-08-30 20:11:17 +02:00
d11d8b8a96 Catch new exception in other places. 2017-08-30 17:53:31 +02:00
3d9a0a1f98 Don't use API definition as namespace & fix whitespace 2017-08-30 17:53:08 +02:00
1f6c54a2f0 Gracefully handle templates that lack contents in their description or created_with node. 2017-08-30 10:23:34 -05:00
7d88091229 Avoid assert() when loading xml: Throw an XMLerror if attribute_value fails. 2017-08-30 10:23:34 -05:00
35fcb622bc Accommodate recently removed source(s) in our MSVC project (portaudio_audiobackend) 2017-08-30 09:53:33 +01:00
467c801ce8 Abstract definition of rt-scheduler policy
pthread-w32 does not support pthread_setschedparam() with
SCHED_FIFO and bails out. While pthread_create() simply ignores the policy
and sets the priority regadless.

This only affects ctrl-surface event-loops & AutomationWatch on Windows.
2017-08-29 20:35:36 +02:00
df659e91f1 Consolidate _realtime_pthread_create() into libpbd. 2017-08-29 17:25:23 +02:00
6ab00534c0 Set Automationwatch thread priority (needs to be higher than GUI)
This fixes an issue with sparse automation touch/write when the CPU is
busy (stationary playhead, waveform rendering, or just high DSP load)
2017-08-29 17:25:23 +02:00
229c9584bf Add a PBD API to set pthread priority 2017-08-29 17:25:23 +02:00
d4c211ef6f Compare bundle ports per-type
This addresses the XXX comment in Bundle::has_same_ports()
2017-08-29 10:53:41 +02:00
41c5913b91 Make Bundle::disconnect() more robust
Instead of asserting or crashing if the number of channels of both
bundles don't match, just try to disconnect as much as possible.
2017-08-29 10:53:41 +02:00
50c6a90d24 Make Bundle::connected_to() optionally check for exclusivity
If the new optional argument is true, then the first bundle will also
check if it has other connections than to the given bundle.
2017-08-28 17:54:32 +02:00
6039b44c0a Make Bundle::connected_to() able to check only a single DataType
Also use the same iteration logic than in Bundle::connect to avoid
mismatched port types.
2017-08-28 14:10:22 +02:00
e07bb07899 OSC: Change jog mode should not stop transport
unless started by scrub or shuttle.
2017-08-27 14:15:34 -07:00
dbab25f537 OSC: same fix for /select/* 2017-08-25 10:22:42 -07:00
d7fcdbfe1d OSC: account for user sending the wrong number of paramters gracefully 2017-08-25 09:45:06 -07:00
9c793759c8 Remove all manual accounting of connected user bundles
IO used to manually keep a list of user bundles it was connected to, but
it didn't work correctly: sometimes it didn't notice that a bundle
wasn't connected anymore, and the list wasn't correctly persisted across
save/reloads among other things.

Moreover, it wasn't needed at all, since the user bundles are correctly
listed by _session.bundles() and IO already notices they are connected !

Remove all occurrences of |_bundles_connected| and |check_bundles_connected|.
2017-08-24 15:41:40 +02:00
1aa3a3f4d6 Make IO::connect_ports_to_bundle able to partially connect
Forward the optional |allow_partial| boolean to |Bundle::connect|.
2017-08-23 23:31:28 +02:00
8cb40ab25b Make Bundle::connect able to connect only some DataTypes
When |allow_partial| is true, only when the number of channels of a
given DataType is the same for both bundles are the corresponding
channels connected together.

When |allow_partial| is false (the default), the number of channels must
match for each DataType (the ChanCounts must be equal) for the
connection to be attempted.

This also fixes the logic in case two bundles have the same number of
channels, or even the same ChanCounts, but not with the DataTypes in the
same order (so connecting the ith channel of the bundle to the ith
channel of the other bundle makes no sense).
2017-08-23 23:31:28 +02:00
96a6529e2e Improve getting a Bundle total channel count
|Bundle::nchannels()| creates a ChanCount on demand, by iterating over
the |_channel| member variable. The sum of all |nchannels().n(t)| over
all non-NIL DataTypes |t| is thus equal to |_channel.size()|.

Consequently, calling |nchannels().n_total()| is a convoluted (and slow)
way of getting |_channel.size()|. Add a method |Bundle::n_total()| that
directly returns the latter.
2017-08-23 23:31:28 +02:00
db28d652ca Add a method to get the first DataType
Also put a comment about the ordering of DataTypes.
2017-08-23 22:58:05 +02:00
e8e1b81177 Use DataType iteration instead of assuming integers 2017-08-23 22:10:51 +02:00
ad9551e548 Update "separate_by_channel" API & add Lua bindings
This breaks compilation (GUI)
2017-08-23 21:33:29 +02:00
2961db3b6f Use literal for compatibility 2017-08-23 12:43:48 +02:00
Stefan Müller-Klieser
587a2dee55 backends: jack: display playback only devices
When starting ardour using the jack backend, playback only devices
currently do not get displayed. Mixing and Mastering only workspaces
with e.g. a single USB Dac should be a common use case. Take this use
case into account by adding them to the device list. Tested on Linux
with jack-alsa.
2017-08-23 02:17:51 +02:00
180cbb0af9 Remove cruft 2017-08-22 15:06:43 +02:00
ca2d254fdb OSC cue button up events should not be errors, fixed 2017-08-21 20:08:19 -07:00
ab621b550d OSC: /cue/enable feedback not changing fixed 2017-08-21 12:10:27 -07:00
6b810b67d9 OSC: aux bus detection fixed for mixbus 2017-08-21 08:40:22 -07:00
5a8bdf40f2 Catch Lua exception when scanning scripts 2017-08-21 17:07:54 +02:00
Paul Hedderly
18060e597e prh: Small fix to /cue/send/enable feedback string 2017-08-21 16:23:23 +02:00
f15fc38bd8 Fix a tiny memory leak 2017-08-20 22:23:10 +02:00
Johannes Mueller
d2c163e788 Make literals in libs/ardour/template_utils.cc translatable 2017-08-20 21:09:30 +02:00
Johannes Mueller
bd4db1e151 Remove the template description XMLNode before saving the template
... to avoid that the new template description is concatenated to the old one.
2017-08-20 21:09:30 +02:00
Johannes Mueller
419b1c1cfd Extract the route template descriptions
... and put them into the template info list.
2017-08-20 21:09:30 +02:00
Johannes Mueller
245154d06a Let user add a route template description on saving route templates 2017-08-20 21:09:30 +02:00
Johannes Mueller
ae51d5fd4e Let the user add a template description on saving session templates 2017-08-20 21:09:30 +02:00
Johannes Mueller
908369ab3e Save template description at toplevel rather than in <Metadata/> 2017-08-20 21:09:30 +02:00
c399954148 Don't use references for constant c-types
This fixes various Lua-scripts: There are no explicit bindings to
turn int64_t, uint64_t into a const reference.

Besides it doesn't make sense to use a reference for constant _t that can
be directly loaded in CPU register or on the stack.
2017-08-20 19:02:17 +02:00
fb745cc5a8 Lua may call C++ functions with throw. Catch them 2017-08-19 01:06:44 +02:00
be6abce398 Add Lua binding to un/assign VCAs 2017-08-18 22:00:24 +02:00
08c1300718 Remove old destructive API (non layered is a dynamic mode) 2/2 2017-08-18 21:12:45 +02:00
e0a83a758e Redesign Session+Route Template Meta Script API
Remove special-cased script types. Allow Action-Scripts to be re-used
for session-setup or route-templates.
2017-08-18 20:42:55 +02:00
e951e68780 Add luaRef is Boolean 2017-08-18 20:42:55 +02:00
3421c6e814 NO-OP: whitespace 2017-08-18 09:42:04 -04:00
f84bebbb30 strip <Actions>/ from displayed path when printing bindings to HTML 2017-08-18 09:42:04 -04:00
5ed68fd2f8 NO-OP: whitespace 2017-08-18 00:11:55 +02:00
38a029c069 Expose Lua bindings to create/delete VCAs 2017-08-18 00:11:55 +02:00
6c49d9555a Track Templates: initial lua backend support. 2017-08-17 13:31:45 -05:00
5f0279ab06 Catch some exceptions during session loading. 2017-08-17 19:28:14 +02:00
22055a07c0 Check major session file format version.
Don't allow to load sessions created with a newer version of Ardour
with an old one (no forward compatibility).
2017-08-17 18:32:49 +02:00