Paul Davis [Sun, 19 Jan 2020 04:14:17 +0000 (21:14 -0700)]
fix mistaken "do not roll" conclusion in TransportFSM::compute_should_roll()
Paul Davis [Sun, 19 Jan 2020 01:07:55 +0000 (18:07 -0700)]
remove fragile union design
Absurd to be memory-conscious about a couple of member variables in an object that represents user input
Paul Davis [Sun, 19 Jan 2020 00:59:44 +0000 (17:59 -0700)]
fix broken-ness caused by bad initialization of a StopTransport event in TransportFSM
Robin Gareus [Sat, 18 Jan 2020 23:42:00 +0000 (00:42 +0100)]
Remember implicit InlineControl visibility
Robin Gareus [Sat, 18 Jan 2020 18:09:36 +0000 (19:09 +0100)]
Fix ISO compliance
Robin Gareus [Sat, 18 Jan 2020 17:17:44 +0000 (18:17 +0100)]
Add timestamp to log -- #7877
This adds the time when a log message is displayed.
ARDOUR_UI::display_message() parses the prefix,
so the timestamp cannot be prefixed in the beforehand.
Still, UI::process_error_message() is called directly in
the same thread, so this makes no significant difference.
Paul Davis [Fri, 17 Jan 2020 23:35:28 +0000 (16:35 -0700)]
rename DoTheRightThing to RollIfAppropriate
Paul Davis [Fri, 17 Jan 2020 22:26:01 +0000 (15:26 -0700)]
Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
Robin Gareus [Sat, 18 Jan 2020 14:52:28 +0000 (15:52 +0100)]
Fix MIDI capture alignment
This fixes Audio/MIDI alignment when recording normally.
Loop and/or Punch-in recording is still not aligned properly
(both audio and MIDI).
_accumulated_capture_offset is initialized once, accumulated
offsets (rec_nframes) are kept, even when ::check_record_status()
is called multiple times.
Robin Gareus [Sat, 18 Jan 2020 14:49:22 +0000 (15:49 +0100)]
Zero capture-offset regardless of data-type
_accumulated_capture_offset is only used for MIDI,
however this is helpful when debugging.
Previously audio kept accumulating the offset indefinitely.
Robin Gareus [Fri, 17 Jan 2020 21:41:01 +0000 (22:41 +0100)]
Make it possible to use reasonable-synth in production
This allows to disable the xmass easter-egg for those who
don't celebrate x-mas.
Robin Gareus [Fri, 17 Jan 2020 17:52:33 +0000 (18:52 +0100)]
Fix another stuck splash screen
Don't allow dialogs to re-create the splash only to hide it.
Nikolaus Gullotta [Thu, 16 Jan 2020 19:58:28 +0000 (13:58 -0600)]
Fix test breakage from
a855119bdd
Ben Loftis [Wed, 15 Jan 2020 22:42:19 +0000 (16:42 -0600)]
Change default preferences as discussed on IRC today
Robin Gareus [Wed, 15 Jan 2020 21:18:53 +0000 (22:18 +0100)]
Remove mostly broken "live band" session-template script
This script originated in Mixbus and has not been kept
up-to date to work properly with Ardour
Robin Gareus [Wed, 15 Jan 2020 21:01:30 +0000 (22:01 +0100)]
Replace some Gtk:MessageDialog with Ardour's variant
This fixes some issues with stuck splash screen early on.
Robin Gareus [Wed, 15 Jan 2020 01:15:49 +0000 (02:15 +0100)]
Update comments & icon of rubberband example Lua script
Paul Davis [Wed, 15 Jan 2020 00:53:55 +0000 (17:53 -0700)]
add styling specifics for TreeViews so that checkboxes are properly visible
Paul Davis [Tue, 14 Jan 2020 21:34:57 +0000 (14:34 -0700)]
fix
03c4335c1e20311 to use the correct test for zero length
That commit used the dangerous Beats::operator== (int) comparison, which only campares the beat portion
Ben Loftis [Tue, 14 Jan 2020 18:02:41 +0000 (12:02 -0600)]
Fix thinkos in cubasish theme
Ben Loftis [Tue, 14 Jan 2020 17:58:27 +0000 (11:58 -0600)]
Recover caineville theme
Ben Loftis [Tue, 14 Jan 2020 17:33:26 +0000 (11:33 -0600)]
Recover clear_gray theme
Robin Gareus [Tue, 14 Jan 2020 15:52:42 +0000 (16:52 +0100)]
Add some example Lua scripts
Paul Davis [Tue, 14 Jan 2020 06:19:52 +0000 (23:19 -0700)]
remove debug output
Paul Davis [Tue, 14 Jan 2020 06:13:04 +0000 (23:13 -0700)]
prevent everything except the name column from changing selection in EditorRoutes
Paul Davis [Tue, 14 Jan 2020 04:26:12 +0000 (21:26 -0700)]
store some/most of the TreeViewColumn pointers for EditorRoutes in the parent object
Robin Gareus [Tue, 14 Jan 2020 02:05:22 +0000 (03:05 +0100)]
Add Lua bindings to inspect the Tempo Map
Robin Gareus [Mon, 13 Jan 2020 23:52:01 +0000 (00:52 +0100)]
NO-OP: whitespace
Robin Gareus [Mon, 13 Jan 2020 23:43:34 +0000 (00:43 +0100)]
Fix Ardour VAMP plugins (FFT)
Bug was introduced in
8ed33f1bc714c1 symbol visibility setting
in CFLAGS, CXXFLAGS was overridden. This resulted in publicly exposed
and bound kiss_fft symbols in libqm-dsp.
At runtime those symbols were resolved using previously bound
symbols in libcodec (see below) that uses a mismatching implementation
(ardour/qm-dsp uses -Dkiss_fft_scalar=double)
#0 0x00007fffea793d40 in kiss_fftr () at /usr/lib/x86_64-linux-gnu/libcodec2.so.0.8.1
#1 0x00007fffcf4516ab in FFTReal::D::forward(double const*, double*, double*) (this=0x5555571d73a0, ri=0x55555a734810, ro=0x55555a7262b0, io=0x55555a728590)
at ../libs/qm-dsp/dsp/transforms/FFT.cpp:121
#2 0x00007fffcf4510fd in FFTReal::forward(double const*, double*, double*) (this=0x555559868190, ri=0x55555a734810, ro=0x55555a7262b0, io=0x55555a728590)
at ../libs/qm-dsp/dsp/transforms/FFT.cpp:186
Ben Loftis [Mon, 13 Jan 2020 23:12:16 +0000 (17:12 -0600)]
Recover Unastudia theme.
Ben Loftis [Mon, 13 Jan 2020 22:39:18 +0000 (16:39 -0600)]
Recover cubasish theme
Ben Loftis [Mon, 13 Jan 2020 21:08:17 +0000 (15:08 -0600)]
Recover Blueberry Milk theme
Ben Loftis [Mon, 13 Jan 2020 21:55:14 +0000 (15:55 -0600)]
Sort palette colors by name only
Ben Loftis [Mon, 13 Jan 2020 20:47:38 +0000 (14:47 -0600)]
Add more clues to port themes to new paradigm
Ben Loftis [Mon, 13 Jan 2020 18:42:17 +0000 (12:42 -0600)]
Fix more default theme colors
Ben Loftis [Mon, 13 Jan 2020 17:38:35 +0000 (11:38 -0600)]
Tweak the tooltip for PDC button
Robin Gareus [Mon, 13 Jan 2020 21:47:50 +0000 (22:47 +0100)]
Fix C++11ism
Robin Gareus [Mon, 13 Jan 2020 19:24:04 +0000 (20:24 +0100)]
Drop references held by any GUI Lua script after execution
Robin Gareus [Mon, 13 Jan 2020 19:17:58 +0000 (20:17 +0100)]
Fix re-packing of toolbar meter
This fixes a gtk-warning when loading a session from a
running instance:
IA__gtk_table_attach: assertion 'child->parent == NULL' failed"
Robin Gareus [Mon, 13 Jan 2020 07:34:37 +0000 (08:34 +0100)]
Add rubberband Lua bindings to process ardour regions
Ben Loftis [Mon, 13 Jan 2020 00:11:55 +0000 (18:11 -0600)]
Processor list should use the same bg color as other lists
Ben Loftis [Mon, 13 Jan 2020 00:04:32 +0000 (18:04 -0600)]
Add missing theme elements, and fix some thinkos
Ben Loftis [Sun, 12 Jan 2020 23:22:39 +0000 (17:22 -0600)]
Apply some missing widget names
Robin Gareus [Sun, 12 Jan 2020 17:05:16 +0000 (18:05 +0100)]
Fix preference pane to access for external-sync
Robin Gareus [Sun, 12 Jan 2020 17:04:12 +0000 (18:04 +0100)]
Fix external timecode GUI display
Only show mis/matching TC if FPS has been detected and
timecode master is locked.
Robin Gareus [Sat, 11 Jan 2020 22:59:24 +0000 (23:59 +0100)]
Fix thinko in
eee01188 (engine pulse spacing)
Robin Gareus [Sat, 11 Jan 2020 21:20:32 +0000 (22:20 +0100)]
Add test synth to debug capture alignment
Paul Davis [Sat, 11 Jan 2020 17:57:14 +0000 (10:57 -0700)]
fix drawing of zero-length notes
Note that the result is too narrow to be manipulated, though it can be moved
Paul Davis [Sat, 11 Jan 2020 17:56:19 +0000 (10:56 -0700)]
use "extends to numeric_limits<Beats>::max()" rather than "zero length" for nascent (incoming) notes
Paul Davis [Sat, 11 Jan 2020 17:55:33 +0000 (10:55 -0700)]
removal incorrect/unnecessary forward decl
Paul Davis [Fri, 10 Jan 2020 22:17:45 +0000 (15:17 -0700)]
use Note::end_time() == numeric_limits<Beats>::max() as the indicator that a note is in-process w.r.t. recording
We used to use length() == 0, but this clashes with actual zero-length notes
Robin Gareus [Sat, 11 Jan 2020 16:48:42 +0000 (17:48 +0100)]
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.
Carl Hetherington [Sat, 11 Jan 2020 00:15:17 +0000 (01:15 +0100)]
Scale the port matrix with the GUI/font-scaling setting.
Robin Gareus [Fri, 10 Jan 2020 17:59:09 +0000 (18:59 +0100)]
Clarify insert-time option
Robin Gareus [Fri, 10 Jan 2020 17:11:42 +0000 (18:11 +0100)]
Stop engine for new session creation
This restores Ardour5 behavior and works around a missing "OK"
button in the engine-dialog.
Robin Gareus [Fri, 10 Jan 2020 01:13:36 +0000 (02:13 +0100)]
Special case JACK, sample-rate cannot be changed for new sessions
Robin Gareus [Thu, 9 Jan 2020 22:51:53 +0000 (23:51 +0100)]
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.
Nikolaus Gullotta [Thu, 9 Jan 2020 20:01:37 +0000 (14:01 -0600)]
NOP: Trim whitespace and convert tabs to spaces
Nikolaus Gullotta [Thu, 9 Jan 2020 19:54:23 +0000 (13:54 -0600)]
Update reset_mixer script to use new well-known controls
Robin Gareus [Thu, 9 Jan 2020 17:20:20 +0000 (18:20 +0100)]
Remove unused variable
Robin Gareus [Thu, 9 Jan 2020 17:18:46 +0000 (18:18 +0100)]
Latency debug script: include MIDI ports
Nikolaus Gullotta [Thu, 9 Jan 2020 16:22:00 +0000 (10:22 -0600)]
Fix typo in Lua binding for compressor enable control
Paul Davis [Thu, 9 Jan 2020 05:21:08 +0000 (22:21 -0700)]
expand comment to include (more of?) the full story about uncombining and copies
Paul Davis [Thu, 9 Jan 2020 05:19:36 +0000 (22:19 -0700)]
expand the test used to decide if we need to make copies when uncombining a compound region
Paul Davis [Thu, 9 Jan 2020 05:19:05 +0000 (22:19 -0700)]
never remove entries from the CompoundAssociation map
Paul Davis [Thu, 9 Jan 2020 05:18:18 +0000 (22:18 -0700)]
add concept of an owner region (by ID) to PlaylistSource
Paul Davis [Thu, 9 Jan 2020 02:37:55 +0000 (19:37 -0700)]
fix bugs (thinkos?) that confused PlaylistSource's id() with its original()
Paul Davis [Wed, 8 Jan 2020 21:59:42 +0000 (14:59 -0700)]
NOOP: reindent
Paul Davis [Wed, 8 Jan 2020 19:13:54 +0000 (12:13 -0700)]
increase explicit refcnt for playlists when used by a PlaylistSource
Robin Gareus [Thu, 9 Jan 2020 02:51:39 +0000 (03:51 +0100)]
Fix MIDI loop recording - Revert "Fix MIDI disk-writer flush"
This reverts commit
254f22e372ff1155e76bea2c9a6f9c6c85a94868.
Robin Gareus [Thu, 9 Jan 2020 02:37:21 +0000 (03:37 +0100)]
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)
Robin Gareus [Wed, 8 Jan 2020 23:04:16 +0000 (00:04 +0100)]
Fix CaptureAlignment debug messsage
Paul Davis [Wed, 8 Jan 2020 17:21:55 +0000 (10:21 -0700)]
prevent MIDI note starts being drawn earlier than their region start
Robin Gareus [Wed, 8 Jan 2020 03:23:44 +0000 (04:23 +0100)]
Revert to use an image surface for CairoWidgets
This partially reverts
2edbda252619 and is a follow up to
0b266a54f,
to fix performance issues with MS Windows graphics performance.
Robin Gareus [Wed, 8 Jan 2020 03:15:18 +0000 (04:15 +0100)]
Mini-timeline, use explicit cairo-group to consolidate rendering
Paul Davis [Tue, 7 Jan 2020 22:07:28 +0000 (15:07 -0700)]
fix required offset when reading MIDI data near loop end/start
Paul Davis [Tue, 7 Jan 2020 22:07:07 +0000 (15:07 -0700)]
improved/new DEBUG_TRACE output
Paul Davis [Tue, 7 Jan 2020 22:06:31 +0000 (15:06 -0700)]
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
Paul Davis [Tue, 7 Jan 2020 22:05:35 +0000 (15:05 -0700)]
imrpove debug msg
Paul Davis [Tue, 7 Jan 2020 21:10:14 +0000 (14:10 -0700)]
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.
Robin Gareus [Tue, 7 Jan 2020 23:41:08 +0000 (00:41 +0100)]
Fix samples_as_time_string formatting
Robin Gareus [Tue, 7 Jan 2020 23:40:18 +0000 (00:40 +0100)]
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.
Robin Gareus [Tue, 7 Jan 2020 03:21:38 +0000 (04:21 +0100)]
Remove debug output
Robin Gareus [Tue, 7 Jan 2020 02:59:25 +0000 (03:59 +0100)]
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`.
Robin Gareus [Tue, 7 Jan 2020 00:14:42 +0000 (01:14 +0100)]
Amend
8a5cbb8: fix variable-names and comments
Nikolaus Gullotta [Mon, 6 Jan 2020 22:08:55 +0000 (16:08 -0600)]
Reenable the correct sort column and type when redisplaying regions
Robin Gareus [Mon, 6 Jan 2020 21:43:30 +0000 (22:43 +0100)]
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
Robin Gareus [Mon, 6 Jan 2020 16:14:10 +0000 (17:14 +0100)]
Proper forward declaration for Lua bindings (amend
2afef6e4bde)
Robin Gareus [Mon, 6 Jan 2020 15:59:14 +0000 (16:59 +0100)]
Fix windows fallback for LV2 state:freePath feature
Robin Gareus [Mon, 6 Jan 2020 15:52:00 +0000 (16:52 +0100)]
Fix Windows builds (Lua binding undefined reference)
Paul Davis [Mon, 6 Jan 2020 01:47:59 +0000 (18:47 -0700)]
remove the (unused) concept of a MIDI patchfile folder per session
Paul Davis [Mon, 6 Jan 2020 01:34:40 +0000 (18:34 -0700)]
move MidiPatchManager initialization into ARDOUR "global" scope, rather than per session
Paul Davis [Mon, 6 Jan 2020 00:51:18 +0000 (17:51 -0700)]
use glibmm threads for the midnam load thread, instead of raw pthreads (for portability)
Paul Davis [Mon, 6 Jan 2020 00:50:06 +0000 (17:50 -0700)]
remove unnecessary call to xmlKeepBlanksDefault()
Paul Davis [Mon, 6 Jan 2020 00:49:35 +0000 (17:49 -0700)]
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
Robin Gareus [Mon, 6 Jan 2020 00:30:19 +0000 (01:30 +0100)]
Add Lua bindings for UIConfiguration variables
Paul Davis [Sun, 5 Jan 2020 18:40:59 +0000 (11:40 -0700)]
repeat
baf0cdcbef1 but for BaseUI, thus covering all control protocols
Paul Davis [Sun, 5 Jan 2020 18:25:23 +0000 (11:25 -0700)]
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.
Robin Gareus [Sun, 5 Jan 2020 18:22:14 +0000 (19:22 +0100)]
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.
John Emmas [Sun, 5 Jan 2020 10:29:35 +0000 (10:29 +0000)]
Add a missing semicolon