4c4f659c5d
libmidi++: allow tracer to print tick message
2023-02-23 15:34:27 -07:00
95ad72bda6
libmidi++: add the hitherto unknown and unsupported MIDI "tick" message
...
See http://midi.teragonaudio.com/tech/midispec/tick.htm
2023-02-23 15:34:27 -07:00
94570e0e1e
midi clock: no changing tempo when we're not using an external sync source
2023-02-23 15:34:27 -07:00
df577d79d4
Clarify scale-slider, label is not the current value
2023-02-23 22:52:56 +01:00
adb6467427
midi clock: move incoming BPM quantize option and add tooltip
2023-02-23 12:15:51 -07:00
27205c7639
midi clock: provide option to quantize incoming BPM values
2023-02-23 12:15:26 -07:00
dbd779bf85
NOOP: remove commented debug output
2023-02-23 12:14:39 -07:00
a7458d308b
midi clock: allow user to "quantize" MIDI clock resolution (GUI edition)
2023-02-23 10:17:54 -07:00
e430d13d53
midi clock: allow user to "quantize" MIDI clock resolution
2023-02-23 10:17:47 -07:00
866876c903
Update MClk DLL, fix calculating coefficient
...
For whatever reason, previously the DLL bandwidth was set
to (10 Pi bpm^-2).
2023-02-23 17:26:30 +01:00
e1ef2c7e0d
Fix LADSPA default values for log-scale controls
2023-02-23 15:05:14 +01:00
52cfa9ff19
Another step towards fixing MIDI Clock sync
...
* Fix reset on timeout: Reset needs to be called before
processing any messages.
* use DLL to compute BPM (remove 1st order LPF)
* set BPM before calculating ppqn
* Fix speed at 1.0, change BPM only. MIDI clock must
vari-speed (which changes pitch). MIDI clock is acts as
"Conductor" that specifies when a beat happens at a given
wall-clock time. timecode moves at speed 1.0 only the BPM
changes.
2023-02-22 18:41:11 +01:00
93b68fea89
mclck: compute "predicted_clock_interval_in_samples" correctly
2023-02-20 21:40:02 -07:00
Ayan Shafqat
2773199fa3
Fix clang build error
2023-02-21 02:02:08 +01:00
83d7114597
transport master: fix think in 58c5f75fc9
which stopped checking both port arguments
2023-02-20 17:35:24 -07:00
6721fe4697
mclk: fix debug output arguments
2023-02-20 17:35:24 -07:00
luzpaz
44a869732c
Fix various typos
...
Found via `codespell`
2023-02-20 17:35:24 -07:00
cd6c88c964
Fix loading VST2 presets at instantiation time
...
This fixes a crash when dragging a VST2 presets from
the mixer-sidebar to a track.
2023-02-21 01:33:47 +01:00
78c89fcbae
Fix MIDI Clock transport master ( #8750 )
...
MIDI Start and Position messages need to leave
the clock timestamp alone. They are not relevant
to compute BPM.
2023-02-19 22:49:23 +01:00
cf0b119b45
Towards fixing MClk transport master ( #8750 )
...
* Honor MCLk stop messages, do not auto-start as soon as
the tempo is locked (after 3 clock ticks).
* Retain MIDI beat position, do not rewind in ::update_midi_clock
Do not directly start when receiving the position message,
transport speed should be zero (regardless of clock speed),
until the "continue" message arrives.
* Mclk start needs to rewind (not reset)
There is still an issue with start, when
_session->transport_sample() is not zero. Ardour ends up
constantly locating, rolling for a short time and re-syncing
by locating again.
2023-02-19 18:19:18 +01:00
e83898cf88
Use correct flag for MMC
2023-02-19 18:09:01 +01:00
c1c913be9d
Fix MClk generator position
2023-02-19 18:08:58 +01:00
b6f0e547bb
Pick a more sensible arbitrary number
2023-02-18 18:44:40 +01:00
cba8fd090f
Fix widget retina scaling ( #9243 )
...
For normal cairo-widgets ardour should not use image surfaces on macOS,
because that bypasses retina scaling. In theory explicit upsampling could
be performed (compere to openGL/cairo), but for the case at hand that is
overkill and inconvenient.
Performance critical widgets that render periodically can enable openGL
backing. Casual widgets (buttons with text, knobs, sliders etc) can be
rendered directly without any significant performance penalty.
2023-02-17 15:57:32 +01:00
9df3058cd8
Add Graphics Acceleration heading to prefs on macOS
2023-02-17 15:57:32 +01:00
5b6bc3f358
Revert "tempo map: use lookup tables to speed up time conversions"
...
This reverts commit 644ebe37a8
.
Adding entries to the lookup table is (a) not thread safe (b) not appropriate
from RT context.
2023-02-16 18:25:23 -07:00
cfb31e3257
AU: update to new tempo-map API (amend 259499fc
)
2023-02-17 01:19:10 +01:00
edbcaa24fb
VST3: initially only enable default-active busses
...
This works around a problem with some JUCE plugins, notably
https://github.com/surge-synthesizer/surge/issues/6847
2023-02-16 20:43:03 +01:00
31a3c3c6f3
temporal: fix bad escape sequence in test source code
2023-02-15 18:36:23 -07:00
a59059c15e
temporal: map used for ::reftime() must be the one pointed at by TempoMetric
2023-02-15 18:36:23 -07:00
92f5046ae6
Update BBT Lua bindings, add missing BBT_Argument
2023-02-16 02:20:18 +01:00
ee64390c48
fix libtemporal tests after API changes to the library
2023-02-15 17:51:28 -07:00
644ebe37a8
tempo map: use lookup tables to speed up time conversions
2023-02-15 16:02:56 -07:00
6f095b91ce
tempo map: add data structure and methods for (fast?) lookup tables
...
As of this commit, none of the data structures are used.
2023-02-15 16:02:56 -07:00
92bd8461ca
tempomap: provide improved reftime() method for TempoMetric
...
This now looks backwards in time for a BBT_Marker or the start of the
tempo map, whichever comes first.
2023-02-15 16:02:56 -07:00
6cde958480
BBT_Time: provide conversion to/from integer format
...
This is not guaranteed to be lossless, but with 44 bits for bars,
256 beats per bar and up to 4095 ticks per beat, it should be fine.
2023-02-15 16:02:56 -07:00
2c7bfa9ead
require use of BBT_Argument as both parameter and return type from most methods (GUI edition)
2023-02-15 16:02:56 -07:00
259499fc5f
require use of BBT_Argument as both parameter and return type from most methods (libs edition)
2023-02-15 16:02:56 -07:00
f033b5717d
tempo map: fix lookup of tempo/meter for a BBT time
...
Find the first point/tempo/meter after the reference time of the BBT argument
2023-02-15 16:02:56 -07:00
43c8fae709
initial addition and use of BBT_Argument
...
Currently this is interchangeable with BBT_Time, but soon will
be handled differently
2023-02-15 16:02:56 -07:00
3c57085756
VST3: fix deadlock when loading a preset in some plugins
...
Some plugins call back to restartComponent() directly from
IEditController::setComponentState.
This lead to a deadlock since VST3Plugin::load_preset
takes a lock (since 7.2-85 b27467157b
), and restartComponent
takes the same mutex again.
2023-02-15 23:50:50 +01:00
8f248bd0ba
update C++ preferences metadata object
2023-02-14 10:15:18 -07:00
9107c6d70c
lots more preferences metadata
2023-02-14 10:15:06 -07:00
62d4e0789a
tempo map: fix error in TempoMap::copy_points() that fails to reset _map ptr
...
This left the _map ptr of all points in a copy of a map pointing
to an old/dead TempoMap.
2023-02-14 10:14:55 -07:00
3dd9b2c201
rationalize single call to TempoMap::use() in AudioClock::set_bbt()
2023-02-14 10:14:39 -07:00
72bc6ac43d
some edits for preferences metadata
2023-02-14 10:13:26 -07:00
423a921301
VST3: prevent deadlock when restartComponent is called from Process
...
This fixes an issue with Blendeq (and likely other plugins)
that call `restartComponent(Vst::kLatencyChanged) from the
in realtime context from plugin's process
2023-02-13 17:32:21 +01:00
8a23015ffb
Update Russian translation
2023-02-13 04:56:58 +03:00
b8c4034af5
Fix a user-visible typo
2023-02-13 03:05:38 +03:00
168344a3f9
Indicate sample-rate mismatch in the status-bar
2023-02-12 16:23:42 +01:00