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
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
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
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
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
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
John Emmas
45dd6a8ed3
Add a missing semicolon
2020-01-05 10:29:35 +00: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
eccbdd10e0
Remove debug output
2020-01-01 20:52:07 +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
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
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
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