13
0
Commit Graph

28853 Commits

Author SHA1 Message Date
5b8765d6dd
Fix CaptureAlignment debug messsage 2020-01-09 00:20:43 +01:00
2ae327fa8f prevent MIDI note starts being drawn earlier than their region start 2020-01-08 10:22:08 -07:00
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
c59c46a70a
Mini-timeline, use explicit cairo-group to consolidate rendering 2020-01-08 04:24:51 +01:00
5ff28f9ab7 fix required offset when reading MIDI data near loop end/start 2020-01-07 19:27:04 -07:00
901f17dd67 improved/new DEBUG_TRACE output 2020-01-07 19:27:04 -07:00
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
11d7803e57 imrpove debug msg 2020-01-07 19:27:04 -07:00
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
c6493aa81b
Fix samples_as_time_string formatting 2020-01-08 00:41:08 +01:00
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
7f33d95937
Remove debug output 2020-01-07 04:21:38 +01:00
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
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
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
beb39092b9
Proper forward declaration for Lua bindings (amend 2afef6e4bd) 2020-01-06 17:14:10 +01:00
64b43a6b95
Fix windows fallback for LV2 state:freePath feature 2020-01-06 16:59:14 +01:00
2afef6e4bd
Fix Windows builds (Lua binding undefined reference) 2020-01-06 16:53:00 +01:00
f8243e62e7 remove the (unused) concept of a MIDI patchfile folder per session 2020-01-05 18:47:59 -07:00
d17a89c9a7 move MidiPatchManager initialization into ARDOUR "global" scope, rather than per session 2020-01-05 18:34:40 -07:00
ece18d3083 use glibmm threads for the midnam load thread, instead of raw pthreads (for portability) 2020-01-05 17:58:54 -07:00
5ff8e260ff remove unnecessary call to xmlKeepBlanksDefault() 2020-01-05 17:58:54 -07:00
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
7570b9a594
Add Lua bindings for UIConfiguration variables 2020-01-06 01:30:19 +01:00
560994c97a repeat baf0cdcbef but for BaseUI, thus covering all control protocols 2020-01-05 11:40:59 -07:00
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
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
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
32d3554761 add extensive comment for posterity 2020-01-03 18:41:47 -07:00
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
f892e5bcfa fix recent bad commit 2020-01-03 16:18:55 -07:00
fd5cd74214 fix DiskReader::overwrite_existing_audio()
Several math/geometry errors here
2020-01-03 16:13:23 -07:00
e7542c0611 NOOP: line refolding 2020-01-03 16:13:23 -07:00
4c055f3469
Fix linux installer script 2020-01-03 04:33:33 +01:00
241a16717e
installer-script ARM CPU support 2020-01-03 02:25:10 +01:00
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
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
eccbdd10e0
Remove debug output 2020-01-01 20:52:07 +01:00
f427e38c31
Bump (C) year: the year of Ardour 2020-01-01 13:47:22 +01:00
d100c92731 convert GenericMIDI into a real control protocol module, with its own event loop and ports 2019-12-31 12:06:14 -07:00
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
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
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
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
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
2f167e6163
Fix formatting samplecnt_t (aka int64_t aka long long int) 2019-12-30 16:05:25 +01:00
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