13
0
Commit Graph

25943 Commits

Author SHA1 Message Date
0f82302e63 Update GUI, use filename-extensions 2017-10-18 19:24:54 +02:00
706805e0ba Consolidate session + template file extensions 2017-10-18 19:22:23 +02:00
5c6e2b5802 Fix g_stat() for 64bit windows/mingw64 2017-10-18 17:54:39 +02:00
0c59ba649e Save <UI> state for plugins only.
Only PluginInserts have UIs and PinMgs and unique IDs.
Other processors  may not be saved explicitly, [re-]created
dynamically, change ID (eg. capturing processor) and clutter up
the list.

TODO: removing a processor should also remove its UI state.
2017-10-18 04:15:15 +02:00
4c1feac16e OSC: Move observers to surface based for less traffic. 2017-10-17 14:57:47 -07:00
7422ffe692 editor_pt_import: Process wav indexes once only 2017-10-15 17:18:33 +11:00
124092d139 Update ptformat to upstream 72bd66b
- Fix a wrong assumption in the xor code
- Find start of wav list more consistently
- Fix long long constants
2017-10-15 17:14:59 +11:00
f0f822feff OSC: fix crash for wrong number of parameters in set_surface 2017-10-12 13:18:21 -07:00
5c24db2402 Fix pre-roll cycle-split
previously this worked as long as the cycle was only
needed to be split once.
2017-10-12 01:49:05 +02:00
47246c86e2 add missing lock (for audition + mon section) 2017-10-10 22:12:54 +02:00
514c43278b OSC clean up route observer 2017-10-07 20:23:48 -07:00
ad226cf2bb For 'Route::send_pan_azi_controllable()' (when building non-Mixbus) I'm assuming the intention was to return an empty object
(i.e. similar to 'Route::send_enable_controllable()')
2017-10-07 10:11:12 +01:00
2107d09454 US2400: add us2400 files to repository. 2017-10-05 10:55:45 -05:00
32c725115d US2400: add us2400 to surfaces path, in ardev 2017-10-05 10:47:32 -05:00
0e12c967ea US2400: add us2400 to surfaces. 2017-10-05 10:03:09 -05:00
28d8f2f6b9 US2400: send_pan_azimuth lookup function (currently mb-only) 2017-10-05 09:59:03 -05:00
e156ec28bb US2400: add debug bits 2017-10-05 09:55:32 -05:00
9c3983a7a5 Fix various edge-cases with session-archives
* prevent duplicate names when pulling-in external sources
* drop "origin" after including external sources
* don't include unused playlists
  (they may reference sources that are not included)
* likewise exclude unused regions
2017-10-04 05:06:47 +02:00
e31f5d9998 Clean up State API:
* Processor implement get_state(), classes derived from Processor
  implement protected ::state() -- as documented in processor.h
* likewise for Route, Track: make ::state() a protected interface
* removal of "full_state", use explicit "template_save"
* use RAII/Unwind to skip saving automation-state
2017-10-04 00:54:55 +02:00
5dd9acf9ab Fix another hardcoded "tar.xz" -> ARDOUR::session_archive_suffix 2017-10-03 18:03:40 +02:00
b73eac450a Fix session-archive file extension filter 2017-10-03 03:09:25 +02:00
f9710f4624 Update Session-Archive Dialog: add compression-option 2017-10-03 02:24:19 +02:00
0802a0872f API change: expose session-archive compression-level 2017-10-03 02:24:16 +02:00
7613c9cb34 Fix session-archive edge-cases, prepare uncompressed archives
* don't fork/clone midi regions (default snapshot)
* properly handle encoding embedded/external multi-channel files
* use dedicated file-extension (prepare for uncompressed archive)
2017-10-03 02:24:10 +02:00
df83c0381e Prepare support for compression levels (archive + flac) 2017-10-03 02:22:42 +02:00
86d3735ea8 Fix MIDI Automation interpolation options 2017-10-03 02:20:57 +02:00
3f48d00081 use new CubicInterpolation API 2017-10-02 12:46:12 -04:00
45b1f6f6b8 change API and implementation for CubicInterpolation and Interpolation.
Also remove LinearInterpolation which is not used
2017-10-02 12:44:52 -04:00
4b9bf57b39 remove cruft 2017-10-02 12:44:52 -04:00
7921f6dc4d DiskReader should do nothing at all if there are no channels 2017-10-02 12:44:52 -04:00
4cc5958960 remove cruft 2017-10-02 12:43:34 -04:00
a2703ea503 remove midi_interpolation member of DiskIOProcessor (was used only to call ::distance() method 2017-10-02 12:43:34 -04:00
54f9edaf4b NO-OP: comment format change and whitespace 2017-10-02 12:43:34 -04:00
ee3090dff6 remove cruft from DiskIOProcessor header 2017-10-02 12:43:34 -04:00
318600d05e use constructor syntax 2017-10-02 12:43:34 -04:00
275756e96a remove leftover cruft related to wrap buffers from DiskIOProcessor 2017-10-02 12:43:34 -04:00
2153449400 tracks no longer need to be notified about speed changes 2017-10-02 12:43:34 -04:00
9775c5c9f1 set owner or disk-i/o processors
This fixes a race-condition. These plugins may be run w/o being
re-configured which sets the ownershi. currently debug msgs use
owner()->name()
2017-10-01 20:54:40 +02:00
d554dcc096 These are "Frames" :) 2017-10-01 04:00:50 +02:00
c5a92ef813 Fix MIDI rec-region display
gui_feed_buffer is used for DiskWriter -> GUI notifications.
It was wrongly migrated from MidiDiskstream to DiskReader in 7fb6807
2017-10-01 03:30:02 +02:00
05ab7a46b5 Fix recording MIDI
- Fix API call to add region(midi_region) -- set count to "1"
- Forward DataRecorded() signal
- remove botched merge/rebase"
  a4a87f56 accidentally brought back code from old-destructive API
  which was removed in af103cf3 and 08c13007
  There is no per track NonLayered record mode anymore, it's session global.
- set can_record correctly to not accidentally clear last capture sources
  for cont'd recording (toggle track's rec-arm)
2017-10-01 03:03:44 +02:00
0431ed3d3e Disk-writer: don't record immediate/oob events 2017-09-30 23:38:41 +02:00
93d11d155c Make MIDI disk-reader a bit less buggy :)
* use start/end frame
* differentiate nframes and disk_samples_to_consume
* add global Port::port_offset () when writing data.
* add a note about b0rked vari-speed ..
2017-09-30 23:30:52 +02:00
eb0dded095 Immediate-event/out-of-band injection update & tweak clearing buffers
Immediate events are used for MIDI-Panic and to inject GUI generated
events e.g. patch-changes, note-events from the track-header
(scroomer-keyboard) and patch-change audition.

Current behavior:

- snapshot copy immediate events from ringbuffer into a buffer at
  the beginning of each the cycle.
- Inject immediate events into input-buffer directly after reading the input
- process "normally"
- pass immediate event-buffer to disk-writer, so it can skip them
  (don't write immediate events to disk)
- if the Route is not monitoring input: clear buffer before disk-reader
  and re-inject (original) immediate events after the disk-reader
- immediate events process normally and are also sent to outputs.
2017-09-30 23:16:04 +02:00
97c637e399 MIDI debugging. 2017-09-30 22:44:44 +02:00
37eb68e817 Remove unused IO::process_input() API
This was only needed in order to run the meter on inputs when Ardour did
no processing at all.
2017-09-30 18:56:54 +02:00
56edd3767c NO-OP, re-order code, put all *roll() methods next to each other. 2017-09-30 18:54:47 +02:00
dec10f2f3c First part of consolidating ::roll(), ::no_roll()
This moves common code (get and fill buffers) into ::passthru()
and renames ::passthru() to ::run_route().

passthru_silence() is no longer used (it was only needed A5 style
Track::no_roll_unlocked for no-roll + disk-monitoring)
2017-09-30 18:53:02 +02:00
0fc3bbddb2 remove unused Route::_silent 2017-09-30 18:46:24 +02:00
de4c0eb27c Remove Input-meter special-case
Now that disk is no longer topper-most but a processor, the special
case is no longer needed.
2017-09-30 18:01:45 +02:00