Commit Graph

31223 Commits

Author SHA1 Message Date
Robin Gareus
00150e105c Fix AFL position
* update AFL position when preference changes
* "after post-fader processors (before pan)" is before
  the main-out (not at the end).
* Fix "immediately post-fader":
  The amp, when added was the last element. ++after_end then
  made the iterator point to .end()

This likely worked in the past when the monitor send was added
immediately after adding the fader/amp before any other processors.
2020-01-11 17:48:42 +01:00
Carl Hetherington
1f14a9d9a5 Scale the port matrix with the GUI/font-scaling setting. 2020-01-11 01:17:42 +01:00
Robin Gareus
a883afbd64 Clarify insert-time option 2020-01-10 18:59:09 +01:00
Robin Gareus
abc6f24d10 Stop engine for new session creation
This restores Ardour5 behavior and works around a missing "OK"
button in the engine-dialog.
2020-01-10 18:11:42 +01:00
Robin Gareus
afe52fbff5 Special case JACK, sample-rate cannot be changed for new sessions 2020-01-10 02:14:30 +01:00
Robin Gareus
242774eada Allow to configure sample-rate of new sessions
When creating a session from the Editor (after Session > Close,
or directly via Session > New) the engine-dialog needs to be displayed
to allow configuring the sample-rate.

This also consolidates scripted session setup: meta_session_setup()
is now called from build_session(), instead of all callers.
2020-01-09 23:53:07 +01:00
Nikolaus Gullotta
c2da64f7ad NOP: Trim whitespace and convert tabs to spaces 2020-01-09 14:01:37 -06:00
Nikolaus Gullotta
dac127c897 Update reset_mixer script to use new well-known controls 2020-01-09 13:54:43 -06:00
Robin Gareus
0771717dd5 Remove unused variable 2020-01-09 18:21:48 +01:00
Robin Gareus
16549e86e3 Latency debug script: include MIDI ports 2020-01-09 18:21:48 +01:00
Nikolaus Gullotta
0f85a33487 Fix typo in Lua binding for compressor enable control 2020-01-09 10:22:00 -06:00
Paul Davis
0e42708685 expand comment to include (more of?) the full story about uncombining and copies 2020-01-08 22:21:21 -07:00
Paul Davis
965bf74f2b expand the test used to decide if we need to make copies when uncombining a compound region 2020-01-08 22:21:21 -07:00
Paul Davis
1c86b0ce13 never remove entries from the CompoundAssociation map 2020-01-08 22:21:21 -07:00
Paul Davis
7373e3ac14 add concept of an owner region (by ID) to PlaylistSource 2020-01-08 22:21:21 -07:00
Paul Davis
d1c2098c11 fix bugs (thinkos?) that confused PlaylistSource's id() with its original() 2020-01-08 22:21:21 -07:00
Paul Davis
0098072904 NOOP: reindent 2020-01-08 22:21:21 -07:00
Paul Davis
4d6ad4a499 increase explicit refcnt for playlists when used by a PlaylistSource 2020-01-08 22:21:21 -07:00
Robin Gareus
d1433992fb Fix MIDI loop recording - Revert "Fix MIDI disk-writer flush"
This reverts commit 254f22e372.
2020-01-09 03:53:02 +01:00
Robin Gareus
16677e80cd Towards fixing MIDI capture alignment
When there is no overlap (Evoral::OverlapNone) of local transport
position and the record-range, MIDI data does not need to be
offset.

This matches audio recording: Only write to the capture ringbuffer
when there is an overlap.

(There is still some unknown, unresolved discrepancy remaining
to be tracked down)
2020-01-09 03:37:21 +01:00
Robin Gareus
5b8765d6dd Fix CaptureAlignment debug messsage 2020-01-09 00:20:43 +01:00
Paul Davis
2ae327fa8f prevent MIDI note starts being drawn earlier than their region start 2020-01-08 10:22:08 -07:00
Robin Gareus
563a8b15e0 Revert to use an image surface for CairoWidgets
This partially reverts 2edbda2526 and is a follow up to 0b266a54f,
to fix performance issues with MS Windows graphics performance.
2020-01-08 04:24:51 +01:00
Robin Gareus
c59c46a70a Mini-timeline, use explicit cairo-group to consolidate rendering 2020-01-08 04:24:51 +01:00
Paul Davis
5ff28f9ab7 fix required offset when reading MIDI data near loop end/start 2020-01-07 19:27:04 -07:00
Paul Davis
901f17dd67 improved/new DEBUG_TRACE output 2020-01-07 19:27:04 -07:00
Paul Davis
5948d14012 plugins should NOT resolve MIDI notes at loopend
Their data will come from (1) disk, in which case the DiskReader will do the resolve (2) live input
in which case the player/user will do the resolve
2020-01-07 19:27:04 -07:00
Paul Davis
11d7803e57 imrpove debug msg 2020-01-07 19:27:04 -07:00
Paul Davis
0ac09d1f67 fix serious but rare error in RTMidiBuffer's storage of MIDI events with size > 3
sizeof (T) is in units of bytes, not bits. Use C++ standard CHAR_BITS instead.
2020-01-07 19:27:04 -07:00
Robin Gareus
c6493aa81b Fix samples_as_time_string formatting 2020-01-08 00:41:08 +01:00
Robin Gareus
9091838b82 Fix MIDI Port-latencies
Only audio ports have additional latency due to I/O re-sampling
for vari-speed playback/capture.. MIDI ports are not affected.
2020-01-08 00:40:18 +01:00
Robin Gareus
7f33d95937 Remove debug output 2020-01-07 04:21:38 +01:00
Robin Gareus
254f22e372 Fix MIDI disk-writer flush
to_write must not exceed `total = _samples_pending_write`.
If the write succeeds (events spanning `to_write` samples are written)
to_write is atomically subtracted from `_samples_pending_write`.
2020-01-07 03:59:25 +01:00
Robin Gareus
f15297e24c Amend 8a5cbb8: fix variable-names and comments 2020-01-07 01:14:42 +01:00
Nikolaus Gullotta
8a5cbb8510 Reenable the correct sort column and type when redisplaying regions 2020-01-06 16:08:55 -06:00
Robin Gareus
eee01188b4 Dummy: Engine-Pulse audio/midi generators
This produces synchronous events on Audio and MIDI ports.
One rvent per second, exactly at every second since engine-start.

MIDI: C-4 Note-on/off (1 sample long)
Audio: +1/-1 transition:
       +1 in sync with Note-on,
       -1 in sync with Note-off
2020-01-06 22:43:30 +01:00
Robin Gareus
beb39092b9 Proper forward declaration for Lua bindings (amend 2afef6e4bd) 2020-01-06 17:14:10 +01:00
Robin Gareus
64b43a6b95 Fix windows fallback for LV2 state:freePath feature 2020-01-06 16:59:14 +01:00
Robin Gareus
2afef6e4bd Fix Windows builds (Lua binding undefined reference) 2020-01-06 16:53:00 +01:00
Paul Davis
f8243e62e7 remove the (unused) concept of a MIDI patchfile folder per session 2020-01-05 18:47:59 -07:00
Paul Davis
d17a89c9a7 move MidiPatchManager initialization into ARDOUR "global" scope, rather than per session 2020-01-05 18:34:40 -07:00
Paul Davis
ece18d3083 use glibmm threads for the midnam load thread, instead of raw pthreads (for portability) 2020-01-05 17:58:54 -07:00
Paul Davis
5ff8e260ff remove unnecessary call to xmlKeepBlanksDefault() 2020-01-05 17:58:54 -07:00
Paul Davis
df3a4ed9c6 move call to xmlKeepBlanksDefault(0) to before the creation of an XML parser context
the value is used by the parser context; the old code called it only after the *first* parser context
was created. therefore the first XMLTree::read() call has its behavior determined by libxml2's default
for this value, rather than by our explicit choice (do not treat whitespace as a note). All subequent
read() calls will use our value.

This variable inside libxml2 is actually per-thread, which just increases the stakes for calling
xmlKeepBlanksDefault() at the right time
2020-01-05 17:58:54 -07:00
Robin Gareus
7570b9a594 Add Lua bindings for UIConfiguration variables 2020-01-06 01:30:19 +01:00
Paul Davis
560994c97a repeat baf0cdcbef but for BaseUI, thus covering all control protocols 2020-01-05 11:40:59 -07:00
Paul Davis
baf0cdcbef fix handling of flags in the OSC input handler
Some builds of glib on macOS end up delivering IO_PRI when IO_IN is also set. This differs from our own build stack
version, but it isn't really an error, so we should handle it.
2020-01-05 11:25:36 -07:00
Robin Gareus
dba7421153 Allow public access to the editor-mixer-strip
This is currently used by Mixbus to sync visibility of switches on
the editor-mixer-strip with the main mixer.
2020-01-05 19:22:55 +01:00
John Emmas
45dd6a8ed3 Add a missing semicolon 2020-01-05 10:29:35 +00:00
Robin Gareus
dce09c6136 Pixel-pushing: editor-meter size and alignment
Previously the "reset peaks" button expanded to incredible height
when the GUI was scaled. Now the meter fills available space instead.
2020-01-04 23:36:17 +01:00