Commit Graph

28796 Commits

Author SHA1 Message Date
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
Paul Davis
32d3554761 add extensive comment for posterity 2020-01-03 18:41:47 -07:00
Robin Gareus
0b266a54f0 Return of image-surface backed canvas (windows graphics performance)
This partially reverts 2edbda2526.

Using cairo-groups increases performance on MacOS, and retains
retina-resolution.
However it adds a performance regression for MS Windows graphics
rendering. cairo-groups use a "similar" surface, not an image surface.
Empirically this adds significant overhead compared to rendering
using the CPU and using bitblt.
2020-01-04 00:30:07 +01:00
Paul Davis
f892e5bcfa fix recent bad commit 2020-01-03 16:18:55 -07:00
Paul Davis
fd5cd74214 fix DiskReader::overwrite_existing_audio()
Several math/geometry errors here
2020-01-03 16:13:23 -07:00
Paul Davis
e7542c0611 NOOP: line refolding 2020-01-03 16:13:23 -07:00
Robin Gareus
4c055f3469 Fix linux installer script 2020-01-03 04:33:33 +01:00
Robin Gareus
241a16717e installer-script ARM CPU support 2020-01-03 02:25:10 +01:00
Robin Gareus
96316cb6b2 Unconditionally save instant.xml on session-close
This forces saving session-specific GUI settings (Playhead
position, zoom/scroll with stationary PH, window and pane
positions, etc.

While many GUI operations immediately cause an instant.xml
save, changing the playhead-pos in particular does not, nor
mark the session as modified.

This fixes an issue:
 1. open session
 2. move playhead
 3. close session
 4. re-open session, expect playhead at position from (2)
2020-01-02 19:08:26 +01:00
Robin Gareus
c07e13b7ac Fix crash when X11 is not available for VST UIs
This should not happen -- VST gui_event_loop is only
started if LXVST_XDisplay is not NULL.
However the eventloop itself checks if LXVST_XDisplay is set,
so this might happen with headless builds that still have
access to a display, or due to some async event.
2020-01-01 21:56:12 +01:00
Robin Gareus
eccbdd10e0 Remove debug output 2020-01-01 20:52:07 +01:00
Robin Gareus
f427e38c31 Bump (C) year: the year of Ardour 2020-01-01 13:47:22 +01:00
Paul Davis
d100c92731 convert GenericMIDI into a real control protocol module, with its own event loop and ports 2019-12-31 12:06:14 -07:00
Paul Davis
1ced4067aa ensure that xmlKeepBlankDefault() is called early in instance-life, from PBD::init()
See comment for details on why
2019-12-31 12:06:14 -07:00
Paul Davis
007136cc23 remove MIDI Control input and output ports from session-level objects 2019-12-31 12:06:14 -07:00
John Emmas
75aaae9963 Fix two more cases of of C99 strtoll() 2019-12-31 10:11:18 +00:00
Robin Gareus
def4be7285 Fix MSVC builds, use C89 strtol() instead of C99 strtoll()
For the case at hand (plugin scale-points) it's highly unlikely to
encounter numbers > INT_MAX.
2019-12-30 19:05:51 +01:00
Paul Davis
b8460441fb restore early-return from fixup_bundle_environment() on macOS if not running from a bundle
Mistakenly removed while getting stdout/stderr logging to work
2019-12-30 10:36:04 -07:00
Paul Davis
60ccbcf9cc use a local version (copy) of the G_SOURCE_FUNC macro, since it is not available in the GTK+ version we use for the official build stack 2019-12-30 09:49:23 -07:00
Robin Gareus
2f167e6163 Fix formatting samplecnt_t (aka int64_t aka long long int) 2019-12-30 16:05:25 +01:00
Robin Gareus
3ee08bbae7 Revert "fix a cast warning (as recommended in GTK+ docs"
This reverts commit af30a6f001

because it breaks OSX/MacOS builds:
libs/surfaces/mackie/mackie_control_protocol.cc:945: error: 'G_SOURCE_FUNC' was not declared in this scope
2019-12-30 16:00:22 +01:00
Paul Davis
354995289d move Transport Masters prefs tab under Transport, with LTC and MTC as subtabs 2019-12-29 19:38:04 -07:00
Paul Davis
d79d2807b1 expand use of new BasicUI API for transport button state to all control surfaces 2019-12-29 18:53:22 -07:00
Paul Davis
52aa405ce3 use new Session API to deal with transport state
Transition to use BasicUI button state API to come
2019-12-29 18:43:51 -07:00
Paul Davis
e46e6f12a3 use new BasicUI and Session API to deal with transport state 2019-12-29 18:43:51 -07:00
Paul Davis
a8cc5b1303 provide new methods for BasicUI that wrap the "complexity" of how to show transport state via lit buttons 2019-12-29 18:43:51 -07:00
Paul Davis
6383d4f6a6 recomment a DEBUG_TRACE statement that generates too much output with -D transport 2019-12-29 18:43:51 -07:00
Paul Davis
30226fdc2a add EMIT_SIGNAL comment 2019-12-29 18:43:51 -07:00