Paul Davis
50232a23a7
temporal: hide superclock_t variant of TempoMap::metric_at()
...
This fixes several callsites that were passing samplepos_t to get a TempoMetric,
some of them somewhat significant (e.g. VST plugins that want tempo information).
Bad API design on my part, apologies.
This commit combines libs/ and gtk2_ardour because the new private status
of the ::metric_at() call would be a blocking point for git bisect
2023-06-12 12:36:16 -06:00
Paul Davis
b35518e212
switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
...
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis
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
Robin Gareus
5130a43d87
Remove direct use of audio-engine rate (1/2)
...
This is in preparation for sample-rate independence.
2023-01-22 20:06:14 +01:00
Robin Gareus
ebf7afc482
Fix reporting tempo and time-signature to VST plugins #9188
2023-01-07 05:16:14 +01:00
Robin Gareus
40744c672a
Fix VST2 callbacks querying tempo-map
...
Some VST2 use a custom thread to make callbacks, in this case
the corresponding thread will not have fetched a thread-local
tempo-map.
2022-03-20 15:42:47 +01:00
Paul Davis
8bada4b5e1
remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion
...
libtemporal still needs ::bbt_at (superclock_t) fairly often so retain it as a private method, but public
interfaces take either Beats or timepos_t
2021-08-13 12:51:35 -06:00
Paul Davis
af2474ab80
fix setting VST loop times (in beats)
2021-08-13 12:51:32 -06:00
Paul Davis
f66a6c779e
adapt to DoubleableBeats and so forth (libs edition)
2021-08-13 12:51:32 -06:00
Paul Davis
34d798327b
libardour: cleanup for explicit Beats::operator bool()
2021-08-13 12:51:31 -06:00
Paul Davis
3ca2be321d
use cleaned up Temporal ::quarters*_at* API (libs edition)
2021-08-13 12:51:31 -06:00
Paul Davis
79763893b3
remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr)
2021-08-13 12:51:30 -06:00
Paul Davis
f67029bd02
random commit to facilitate trivial move of work from laptop back to main system
2021-08-13 12:51:29 -06:00
Paul Davis
eae9d276fe
libardour: conversion to use timeline types (mega-commit)
2021-08-13 12:51:29 -06:00
Paul Davis
f4490f54c5
change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
...
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
Robin Gareus
f9cdf533ba
Event API consistency; reorder arguments (time, type, payload)
2020-09-20 19:18:09 +02:00
Robin Gareus
1674261f89
On plugin internal-state change, mark preset as modified
2020-06-21 17:36:01 +02:00
Robin Gareus
a22f918d9d
Update libardour GPL boilerplate and (C) from git log
2019-08-03 15:53:16 +02:00
Robin Gareus
4964852f0b
Remove cruft, unused variable
2019-03-11 01:49:43 +01:00
Robin Gareus
5d4fbcb1ea
Allow to special case plugins used for IR analysis
...
This is relevant for some VST specifics (e.g connected pins) or
similar audioMasterCallbacks that use either global or plugin-insert
specific data.
2019-02-28 04:49:00 +01:00
Robin Gareus
383bd2526c
Fix incorrect VST callback fall-though (effective NOOP)
2018-10-27 10:33:58 +02:00
John Emmas
b60e9f7df9
Remove a call to 'fst_audio_master_idle()'
...
Nobody seems quite sure why it's needed but it seems to be crashing a lot of plugins:-
http://tracker.ardour.org/view.php?id=7668
2018-10-02 09:17:32 +01:00
Robin Gareus
5fcea5833d
Properly announce support for Vendor string
2018-08-08 14:09:31 +02:00
Stefan Westerfeld
2fc5ed1e72
Let VST plugins know that we implement plugin window resizing.
2018-08-08 13:25:04 +02:00
Robin Gareus
9ccace8f0d
Amend VST "MasterUpdateDisplay", allow UI(s) to idle-update.
2018-07-30 15:58:29 +02:00
Robin Gareus
98769796d7
Fix VST callback and crash for some plugins
...
Apparently "MasterUpdateDisplay" is for plugins to notify the host about
state changes -- and not notficy the plugin's own UI.
see also
http://mixbus.harrisonconsoles.com/forum/thread-6229-post-37127.html
2018-07-30 15:42:17 +02:00
Paul Davis
28f8772c3a
remove aeffectx.h; use vestige.h
2018-06-04 17:38:41 -04:00
Robin Gareus
868eec264f
Implement VST UI touch (begin/end Edit)
2018-04-02 22:33:11 +02:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus
fd8053da9e
Don't use VST ->user points, prefer host-reserved ptr
...
Apparently "user" is for plugins (not hosts) to use.
2017-07-08 18:13:42 +02:00
Robin Gareus
37a4987dab
Ardour does support VST's audioMasterGetProductString, return true;
2017-05-09 16:31:42 +02:00
Robin Gareus
4b982ef895
Prepare moving to a dedicated x-thread signal for VST UI resizing
...
(this changes the internal API, pending follow-up GUI update)
2017-03-08 13:03:46 +01:00
Robin Gareus
de2612f7b4
remove cruft
2017-01-20 17:36:18 +01:00
nick_m
33e95a1577
rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
...
- adds quarter_notes_per_minute(), note_divisions_per_minute (double)
pulses_per_minute() and frames_per_quarter_note()
- this should be a no-op except for the use of tempo by
the vst callback which definitely uses quarter notes per minute.
- the XML node for TempoSection named 'beats-per-minute'
has been renamed.
2016-11-11 03:37:08 +11:00
nick_m
594137f5cc
remove public pulse methods from TempoMap.
...
- the only object whose musical position is not expressed in
quarter notes is MetricSection.
there is now no need to expose this.
2016-11-11 03:37:08 +11:00
nick_m
6d0208613d
Use quarter pulses (quarter notes) for VST's ppqBar, ppqPos and cycleStart/EndPos.
2016-08-18 05:39:44 +10:00
Robin Gareus
613ff66042
fix ramped BPM reporting to AU and VST plugins
2016-08-17 17:17:00 +02:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Robin Gareus
e9a8ccc7e2
major internal plugin & processor API change:
...
Pass current (latency compensated) cycle times to plugin.
This fixes time-reporting to plugins and also fixes automation
and when bouncing (the session->transport* is not valid) etc.
2016-06-25 02:23:56 +02:00
nick_m
10228a4bc3
Tempo ramps - fix missing rt call.
2016-05-28 00:24:02 +10:00
nick_m
78bec77c3e
Tempo ramps - fix merge conflicts, add bbt_at_frame_rt().
2016-05-28 00:10:53 +10:00
nick_m
34c9ac9dd7
Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> frame_at_bbt()
2016-05-27 23:38:17 +10:00
nick_m
8f3bc6f809
Tempo ramps - rename tempo_at() -> tempo_at_frame().. 3 decimals for the audioclock tempo display.
2016-05-27 23:38:17 +10:00
nick_m
7fc3b0c34c
Initial stab at tempo ramps.
...
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.
Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.
Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10:00
Robin Gareus
eadc2ca88a
fix maths thinko
2016-05-26 10:44:13 +02:00
Robin Gareus
602344f0c5
ticks are not affected by metrum
2016-05-26 02:22:10 +02:00
Robin Gareus
cf6f9627e4
update VST audioMasterGetTime
...
* don't use a static struct. this fixes a concurrency issue with flags
and valid values
* send kVstTransportChanged IFF there is an actual change
* set system time
* send loop location
2016-05-26 01:04:43 +02:00
Robin Gareus
559860f016
make -D VSTCallbacks readable
2016-04-27 01:44:55 +02:00
Robin Gareus
e77729125e
VST report audioMasterPinConnected according to Pin Management
2016-04-13 00:52:47 +02:00
Ben Loftis
86edc1ccfe
Fill some more VST transport flags.
2016-02-16 15:33:12 -06:00