Commit graph

21413 commits

Author SHA1 Message Date
Paul Davis
e7731f2e89 add -D actions to gtkmm2ext 2024-10-17 07:44:30 -06:00
Paul Davis
009a0e6ffb stacktraces to help track down missing actions 2024-10-17 07:44:30 -06:00
Paul Davis
59ed3d7138 cleanup canvas piano roll header so that it can exist with no current MidiView 2024-10-17 07:44:30 -06:00
Paul Davis
10244c0360 tempo bar and BBT ruler in MIDI cue editor 2024-10-17 07:44:30 -06:00
Paul Davis
b35b30c230 factor out code to extract a TempoMap from an SMF 2024-10-17 07:44:29 -06:00
Paul Davis
e3205bded0 do something to make MIDI bindings accessible in any EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
10b48d2cc4 lock in some major steps for the midi cue/pianoroll editor 2024-10-17 07:44:29 -06:00
Paul Davis
0eeb281bd6 remove debug output 2024-10-17 07:44:29 -06:00
Paul Davis
8e4edd0c07 Revert "separate out all bounds/position info from Region into "Slice""
This reverts commit f3da2cfd8b9dc077ee35fc3bbaf133adec23d463.
2024-10-17 07:44:29 -06:00
Paul Davis
7a5d7cfe69 Revert "add set_* methods to Slice; remove property additions"
This reverts commit 81eee23baab2817218c1766c7d3c37fb7435e619.
2024-10-17 07:44:29 -06:00
Paul Davis
659382ecd8 convert debug output from printf to type-safe iostreams 2024-10-17 07:44:29 -06:00
Paul Davis
a6e02d7a94 add set_* methods to Slice; remove property additions
Derived classes (currently only Region) just register the Slice properties
_start and _length.
2024-10-17 07:44:29 -06:00
Paul Davis
45328723b0 separate out all bounds/position info from Region into "Slice"
The idea here is to be able to describe region size, start and position
independently of an actual Region object.
2024-10-17 07:44:29 -06:00
Paul Davis
7799adc8db make Stateful a virtual base class of StatefulDestructible
This permits dual inheritance from Stateful.
2024-10-17 07:44:29 -06:00
Paul Davis
204d4237f8 further steps towards MidiRegionView outside the Editor 2024-10-17 07:44:29 -06:00
Paul Davis
e3d790207f modify MIDITrigger to use an RTMidiBuffer<Beats,Beats> for playback, not a MidiModel
Creating an iterator on a MidiModel (Sequence) creates a read-lock on the same,
which exists until the iterator is destroyed.

This new designs renders the model/source to an RTMidiBuffer, then atomically
swaps in a new RTMidiBuffer in an RT context.

Not yet implemented in this temporary branch is handling required
state-changing messages when the buffer is swapped.
2024-10-17 07:44:28 -06:00
Paul Davis
a4a277c141 templatize RTMidiBuffer to allow use in different time domains
Also add ::track_state() method to configue a MidiStateTracker
to correspond to the state implied by an RTMidiBuffer<T,D>
at a given point in time.
2024-10-17 07:44:28 -06:00
Paul Davis
b693d07fcb Add a new ::render() method to MidiSource that writes to an EventSink 2024-10-17 07:44:28 -06:00
Robin Gareus
0986b8d1e8
Revert "Only enable RegionFX in debug builds for the time being"
This reverts commit d525f8d60c.
2024-10-17 15:36:29 +02:00
John Emmas
b6cb758357 Another minor tweak to fix a build issue with MSVC/c++17
Fixes a conflict between 'std::byte' (new in c++17) and earlier declarations / typedef's that defined 'byte'
2024-10-17 12:07:05 +01:00
Robin Gareus
d525f8d60c
Only enable RegionFX in debug builds for the time being
This reverts commit 14ff2f2e68.
2024-10-16 18:29:51 +02:00
Paul Davis
6149771910 fix yet more cases where SMF are imported and named incorrectly 2024-10-15 22:35:04 -06:00
Mads Kiilerich
0d4bce8663
backends: Fix class name in debug and error messages for set_latency_range and get_latency_range traces 2024-10-15 00:41:12 +02:00
Mads Kiilerich
99ba70384a
FaderPort8: Improve DEBUG_TRACE messages 2024-10-15 00:41:12 +02:00
Mads Kiilerich
5c763c99ba
FaderPort8: Use explicit "Port 1" for FP8 too
84e38b4c65 made the same change for FP16.

It has apparently not been necessary for FP8 so far, because backends
have happened to report "Port 1" before the control port. But that is
not necessarily the case. It failed for me when playing around.

Change FP8 handling to also not make assumptions about the device order
returned by the backend.
2024-10-15 00:41:12 +02:00
Mads Kiilerich
b7249c8fe7
build: Set _POSIX_C_SOURCE=200809L instead of comment about -std=gnu99 in 8fea1ea42e
We are converging towards setting it globally.
2024-10-14 22:57:15 +02:00
Robin Gareus
eb87b0e2eb
Remove old safety check
These days it only produces false positives (locate at start
of session export).

We leave `ENSURE_PROCESS_THREAD` in place, since it may
come in handy at some point (eg. static analysis, documentation)
2024-10-14 22:52:37 +02:00
Robin Gareus
8115578d4e
Add RT thread priority debugging 2024-10-14 21:49:56 +02:00
Robin Gareus
63d3d1ff3d
Initialize fader's numeric entry adjustment
Previously the internal adjustment used for numeric entry
was left at 0 if the BarController's adjustment was never modified.
2024-10-14 17:58:00 +02:00
John Emmas
fd8808d7b8 Minor declaration issue that upsets MSVC/c++17 2024-10-13 11:39:48 +01:00
Robin Gareus
0aff098541
Fix IO Thread priority
This adds `pbd_pthread_priority` indirection to correctly get
the absolute thread priority.

and for consistency a 4 letter enum is used.
2024-10-11 10:06:49 +02:00
Robin Gareus
5efa5b4529
Optimize audio region read when no regionFX are used 2024-10-10 02:45:03 +02:00
Paul Davis
43dd75b10e invalidate audio region cache when the region _start changes 2024-10-09 16:53:55 -06:00
Robin Gareus
14ff2f2e68
Revert "Only enable RegionFX in debug builds for the time being"
This reverts commit cae710cd7c.
2024-10-09 20:49:36 +02:00
Paul Davis
2a96c9ce98 fix issues with MIDI playback (and who knows what else) near start of roll 2024-10-08 08:36:23 -06:00
Robin Gareus
cae710cd7c
Only enable RegionFX in debug builds for the time being 2024-10-08 16:23:43 +02:00
Robin Gareus
59e98bd824
Fix reading peak-file after EOF
This issue was introduced in b28090c64c
2024-10-08 11:54:14 +02:00
Robin Gareus
33806a2735
Revert "Only enable RegionFX in debug builds for the time being"
This reverts commit 2d076cccb1.
2024-10-03 17:28:09 +02:00
Paul Davis
e3e014bfe6 NO-OP: comment work 2024-10-02 11:03:08 -06:00
Paul Davis
52336eb2f0 fix MIDI Clock output times by using the correct call to get tempo at a position
Could be worth a double check of the codebase/hiding the API that ignores ramping
2024-10-02 09:13:28 -06:00
Robin Gareus
adc9d9e0af
VST3: work around plugins that do not heed ContextInfo::kSendCount
see also c5618f01d6
2024-10-01 23:03:19 +02:00
John Emmas
07c79ce92c Small changes to make pthread_utils.cc buildable again with MSVC 2024-10-01 20:28:16 +01:00
Robin Gareus
44b2377e72
VST3: Fix possible deadlock when using PSL extension for sends
see also c5618f01d6
2024-10-01 19:24:36 +02:00
Robin Gareus
ca7ac7027b
VST3: add more debug messages for PSL extensions 2024-10-01 01:21:35 +02:00
Robin Gareus
22a2cb0624
Ignore inactive routes for pre-roll sub-cycles 2024-09-30 23:36:36 +02:00
Robin Gareus
1aad6805b3
Fix count-in/preroll recording offsets
Notably `Route::process_output_buffers` uses

```
  output_latency = speed * _output_latency;
```

here, speed already needs to be non-zero during count-in
and pre-roll.
2024-09-30 23:36:06 +02:00
Robin Gareus
dab22a7c70
Explicitly set Windows Process Scheduling Class 2024-09-30 19:57:53 +02:00
Robin Gareus
ed437afda7
Fix thread priorities for Windows builds 2024-09-30 19:07:53 +02:00
Robin Gareus
11f71a3297
Fix playback of sessions with low sample-rate
previously, _chunksize =
```
  minimum_disk_read_bytes / sizeof (Sample)
```

can become larger then actual allocated ringbuffer:

```
  audio_playback_buffer_seconds * sample-rate
```

In which case the buffer was never filled.
The disk writer has similar issues
2024-09-29 18:25:33 +02:00
Robin Gareus
46f61d7662
Fix and simplify Playlist::fade_range for multiple ranges 2024-09-28 21:16:55 +02:00