Commit Graph

53 Commits

Author SHA1 Message Date
Robin Gareus 73fea85381
Vapor: set surround-send level range to +/-20 dB 2024-03-21 14:23:43 +01:00
Robin Gareus 6df34a307d
Match surround panner automation line convention
move to the left -> automation line moves upwards
move to the front -> automation line moves upwards
2024-03-05 14:59:26 +01:00
Robin Gareus 4bd2de2f72
Vapor: prepare for additional meta-data 2024-02-25 16:26:15 +01:00
Robin Gareus d423810784
Update CC defaults to be more in line with MIDI specs (#9634)
Note: parts of this commit accidentally made it in the previous
one (9386847cc9)
2024-02-18 18:44:32 +01:00
Robin Gareus 9386847cc9
Fix ACE Compressor inplace processing #9636 2024-02-18 18:19:35 +01:00
Robin Gareus 9bb4d0dcf8
Vapor: Add surround types/enum 2024-01-06 20:21:25 +01: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
Robin Gareus 2939ed3164
Add dedicated InsertReturnLevel type
This is preparation for PortInsert Send and Return
level control.
2022-10-14 02:21:49 +02:00
Robin Gareus 01863886b5
Clean up Wself-assign - see also d91374d0db 2021-03-17 21:17:13 +01:00
Robin Gareus d91374d0db
Remove self-assign 2021-03-17 17:54:25 +01:00
Robin Gareus 7143592e50
Fix MonitoringAutomation parameter-range 2021-03-03 02:15:25 +01:00
Paul Davis 5ff330bd7e fix thinko when in ParameterDescriptor::from_interface() for toggled parameters 2021-01-19 13:05:12 -07:00
Robin Gareus 3ac7e11eea
Support lv2:port-props:displayPriority 2020-11-20 06:03:49 +01:00
Robin Gareus f9e9c6248d
Initialize inline_ctrl variable, fix erratic inline ctrls 2020-11-16 18:27:09 +01:00
Robin Gareus d5f2dd4e7f
Add MainOutVolume parameter type
This is similar to TrimAutomation, except intended to be available
on the master-bus' output, or a Route's _main_out delivery.
2020-07-21 02:18:38 +02:00
Robin Gareus 895b9c2051
Fix PolyKeyPressure, consolidate AutomationType checks 2020-04-15 15:31:59 +02:00
Robin Gareus 93180ceea9
Add Inline Control Port Property
This allows to indicate that a control should by default be displayed
inline in the mixer-strip.

Previously that was hard-coded for and enabled for send-level
controls only.
2019-12-14 15:50:56 +01:00
Robin Gareus d4e023e1cb
Make BusSendLevel 1st class citizen (1/2)
Equivalent to Gain and Trim (gain-coefficient, not dB) and use
it for Sends.
2019-12-14 15:06:23 +01:00
Robin Gareus c663a2d8ef
Invert Pan-Azimuth (up means left)
It's a well established convention that pan y-axis automation,
or vertical uses (top) +1 for left.

This special cases rotary knobs (and horizontal sliders) to retain
a clockwise movement (or movement to the right) for panning to the
right.
2019-10-07 05:07:55 +02:00
Robin Gareus 3ae46256c8
Properly initialize BusSendEnable min/max 2019-09-22 04:15:36 +02:00
Robin Gareus a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus 2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
Robin Gareus 9cf9833a93 Fix log-scale rangesteps and log-control numeric spinboxes 2018-07-21 17:19:49 +02:00
Robin Gareus 14517e13ec Fix and tweak LV2:RangeStep
Explicit cast to float (rangestep is unsigned int) when calculating
interface steps.
Also prefer to round to nearest value-point (rather than round-down).
2018-07-18 10:57:57 +02:00
Robin Gareus a9c8a25fc4 prefer floor() over round(), this avoids "-0"
GUI interface values are always in the range 0..1 so there's no abiguity
with trunc()
2017-09-23 18:59:39 +02:00
Robin Gareus 73ad5c97f2 Consistently set parameter steps.
And it's actually mostly moot. interface_to_internal maps
any range to 0..1.
The GUI could just hardcode min/max 0, 1 and steps 1/30, 1/300.
Except for controls that have explicit range-steps & ctrl surfaces.
2017-07-06 16:32:27 +02:00
Robin Gareus 135ffdcf6b Work-around for plugins with log-scale parameter 0..SR/2 2017-07-04 20:09:11 +02:00
Robin Gareus 7ed775a716 Add API to step though parameter enumerations 2017-07-02 21:04:22 +02:00
Robin Gareus 1cbc91788f Don't invert azimuth & elevation display value 2017-06-30 20:01:53 +02:00
Robin Gareus d34fdb98e3 Improve default parameter display 2017-06-23 17:39:20 +02:00
Robin Gareus 7ab15def2b Consolidate ParameterDescriptor settings+ranges 2017-06-21 18:13:26 +02:00
Robin Gareus 16624f3139 Add API to compute parameter delta, depending on AutomationType 2017-06-21 18:12:55 +02:00
Robin Gareus 37905d82a6 Centralize Parameter scaling
This exposes an AutomationType dependent abstract version of
inteface_to_internal(), internal_to_interface().
2017-06-21 18:12:45 +02:00
Robin Gareus cb48bb0e1c remove min/max unbound -- LADSPA special case.
This explicit case should never have existed in the first place.

Plugins can always implicitly exceed the range and are expected to
cope with out-of-range values (e.g. meters when fed with a peaking signal
may return an out-of-bounds value)
2017-06-21 18:12:20 +02:00
Robin Gareus fe83e1e2ed Move logarithmic property into Evoral, add rangesteps
This allows complete mathematical description of a given parameter
and parameter values.

Semantic type abstraction is reserved for Ardour::ParameterDescriptor.
2017-06-21 18:12:14 +02:00
Robin Gareus 567c0a8f53 Switch to PBD control-math and prefer Controllable API
Note: Control-surfaces should always use interface_to_internal()
and internal_to_interface().
2017-06-21 18:12:04 +02:00
Nil Geisweiller 40f3efa3aa Add note name parser to convert to midi note number
Supports i18n, is case and whitespace insensitive for more resilent parsing.
2017-05-14 18:13:07 +02:00
Robin Gareus 78fef4a253 cater for Note translations. e.g. "Ré ♯" UTF-8 2016-10-11 14:09:54 +02:00
Paul Davis 26f1578568 MIDI polyphonic pressure, part 2 2016-08-19 08:32:44 -04: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 6b5be3d892 Add a new API to format midi-note-names with translation: Do Re Mi...
This deprecates Evoral::midi_note_name(). we don't maintain i18n
for libevoral.
2016-07-12 23:02:46 +02:00
Robin Gareus e542e501a0 add support for http://lv2plug.in/ns/ext/port-props/#rangeSteps 2016-07-05 16:21:09 +02:00
Paul Davis 653ae4acd6 universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
Robin Gareus 30497db823 prepare for gcc6 rint() precision degradation
gcc6 returns a float for "rint ((float) val)"
2016-02-22 00:07:21 +01:00
Paul Davis 22ea6423cd don't abuse ScalePoints idea 2016-02-01 15:49:54 -05:00
Paul Davis 9539d0da40 add new automation types to ParameterDescriptor constructor.
This allows it to be used everywhere, as intended
2016-02-01 15:13:59 -05:00
Robin Gareus d6a5e6fc2e fix some more uninitialized vars 2015-09-07 00:00:44 +02:00
Robin Gareus fa3896a483 use “1” as small-step for integer controls. 2015-07-13 15:33:46 +02:00
Robin Gareus 6e66b0e9db define Trim Parameter Type. 2015-04-24 22:37:03 +02:00
David Robillard 59af923b77 Fix steps for log controls with wide range. 2014-12-04 21:22:31 -05:00