Paul Davis
16f682110f
local lollippop fix for newer canvas lollipop API
2023-06-26 14:18:17 -06:00
Paul Davis
2a8f275174
sort of no-op: change variable name for slightly better legibility
2023-06-26 14:18:17 -06:00
Paul Davis
4b155cb946
Revert "file deleted"
...
The files are back.
This reverts commit c7e3e824d10bf211367a62f69287f6076d36106e.
2023-06-26 14:18:17 -06:00
Paul Davis
178917e627
Revert "do not need these files"
...
Seems that we will have a use for them after all.
This reverts commit f9ec3a952553deefea0a17809a97dc92d5cf6db7.
2023-06-26 14:18:17 -06:00
Paul Davis
4305ef34f8
switching between lollis and line now allows lollipop events
2023-06-26 14:18:17 -06:00
Paul Davis
a7af6fc6f8
lollipops: just directly set _position member
2023-06-26 14:18:17 -06:00
Paul Davis
1ad0894618
lollipops should render child items (currently none)
2023-06-26 14:18:17 -06:00
Paul Davis
51e7584dee
another use of auto iterators
2023-06-26 14:18:17 -06:00
Paul Davis
cfbe6b6048
another use of auto iterators
2023-06-26 14:18:17 -06:00
Paul Davis
5c03ffd6f5
fix assignment/comparison typo
2023-06-26 14:18:17 -06:00
Paul Davis
2de0e62695
for velocity automation lanes, make sure ghosts group is on top
...
otherwise, it's the streamview on top, and that prevents lollipops receiving
events.
this may have to change once the line becomes an option.
2023-06-26 14:18:17 -06:00
Paul Davis
60628a62be
somewhat active lollipop event handling
2023-06-26 14:18:17 -06:00
Paul Davis
f7e97be115
canvas lollipops: object redesign and reimplementation
2023-06-26 14:18:17 -06:00
Paul Davis
0f611b4efa
C++ auto iteration FTW
2023-06-26 14:18:17 -06:00
Paul Davis
7e4a3dce01
lollipop pixel pushing
2023-06-26 14:18:17 -06:00
Paul Davis
1a4ef77222
C++11 FTW
2023-06-26 14:18:17 -06:00
Paul Davis
9089694e36
pops visible and somewhat responsive to note changes
2023-06-26 14:18:17 -06:00
Paul Davis
805ba0442f
file deleted
2023-06-26 14:18:17 -06:00
Paul Davis
b157132807
do not need these files
2023-06-26 14:18:17 -06:00
Paul Davis
4bafadc419
steps to an ecology of lollipops
2023-06-26 14:18:17 -06:00
Paul Davis
52f10ad2a8
velocity views will be ghost regions
2023-06-26 14:18:17 -06:00
Paul Davis
e54e8f3f4c
tweaks to GhostRegion to prepare for possible inheritance
2023-06-26 14:18:17 -06:00
Paul Davis
ba2f9411e2
oops, remove typo
2023-06-26 14:18:17 -06:00
Paul Davis
59ccc9c5ee
velocity region views: strip out existing event handling (avoids crash)
2023-06-26 14:18:17 -06:00
Paul Davis
9e071f70d7
remove debug output
2023-06-26 14:18:17 -06:00
Paul Davis
2797ea9666
remove unusued "MIDI underlay" cruft
2023-06-26 14:18:17 -06:00
Paul Davis
0b050c47e4
build lollipops.cc
2023-06-26 14:18:17 -06:00
Paul Davis
187569dcbc
new Lollipop canvas item
2023-06-26 14:18:17 -06:00
Paul Davis
fcba147acd
remove concept of a velocity time axis view, just use velocity region view
2023-06-26 14:18:17 -06:00
Paul Davis
18275922d3
return interpolation type for velocity
2023-06-26 14:18:17 -06:00
Paul Davis
bc60f7492f
automation stream view now creates VelocityRegionView when appropriate
2023-06-26 14:18:17 -06:00
Paul Davis
5c42f6ea71
copy VelocityRegionView from AutomationRegionView
2023-06-26 14:18:17 -06:00
Paul Davis
db055df9d8
add new files
2023-06-26 14:18:17 -06:00
Paul Davis
ea6717f041
empty, useless velocity lane for MIDI tracks
2023-06-26 14:18:17 -06:00
Paul Davis
1c1d73e47d
describe velocity parameter and implement velocity control
2023-06-26 14:18:17 -06:00
Paul Davis
6cb4d01f1f
add velocity item to MIDI track automation menu
2023-06-26 14:18:17 -06:00
Paul Davis
1d117aa372
give MIDI tracks a (n automatable) velocity control
2023-06-26 14:18:17 -06:00
Robin Gareus
25f5b275f4
Auto-connect metronome when using a device the first time
2023-06-26 21:46:24 +02:00
Edgar Aichinger
fbc776de52
fix typos, clean up and complete new time/range section strings, ensure consistent translation of "playhead"
...
(recreated after broken merge and reset to upstream master)
2023-06-26 13:17:36 +02:00
Robin Gareus
87ad86d464
More codenames
2023-06-26 13:16:55 +02:00
Alexandre Prokoudine
e1950ec49e
Update Russian translation
2023-06-23 03:10:52 +02:00
Robin Gareus
7faa30f878
Luadoc: add special case for shared_ptr c'tor ( 4192710ac8)
2023-06-23 02:20:07 +02:00
Robin Gareus
124c57a850
Add missing Lua bindings
2023-06-23 01:35:19 +02:00
Robin Gareus
705321b015
Fix compilation with --luadoc
2023-06-23 00:49:58 +02:00
Robin Gareus
ddb9484994
Safeguard against using RegionExport for default export
...
It is unclear how an existing ExportChannelConfiguration copy
can be reused in a different context, but apparently it can happen:
https://discourse.ardour.org/t/ardour-exports-flatline-wav-file-no-playhead-movement-through-file/108803/25
2023-06-22 23:34:15 +02:00
JungHee Lee
52d488e2ce
Update ko.po
2023-06-22 15:49:13 +02:00
Robin Gareus
a996645ef1
Update plugin-pin dialog when route or plugin name changes
2023-06-22 15:28:37 +02:00
Robin Gareus
19c44fe814
Fix restoring metronome connections (duplicate IO set_state)
...
When a session is loaded, click_io->set_state is called twice.
setup_click() is called when the engine re/starts, and
possibly again from Session::set_state.
During session construction, Port connections are not directly
made. Port::set_state just creates a list, which is later
applied by Port::reconnect from Session::hookup_io.
However, the second call to IO::set_state() calls IO::ensure_ports
again. Since the port already exists, this calls
Port::disconnect_all (while holding the process lock).
Even though the port is not connected at this point in time,
this triggers a ARDOUR::PortManager::connect_callback which
is emitted from the Audioengine when the process-lock is released.
While IO::set_state() continues to set Port::state, and fill
the Port::_[ext_]connections lists, this data is invalidated
moments later when the engine resumes and ::connect_callback
calls ARDOUR::Port::port_connected_or_disconnected.
The solution is to simply not call Port::disconnect_all
if the connection is not yet made (Session::InitialConnecting)
2023-06-22 13:28:18 +02:00
Robin Gareus
71a83ed199
Fix heap-use-after-free when toggling manual pin-control
...
When toggling "Manual Config", Route::customize_plugin_insert()
or Route::reset_plugin_insert() emits processors_changed.
This destroyed the widget from which the change was initiated,
in ppw.clear(), leading to a use-after-free in
ArdourButton::on_button_release_event(_GdkEventButton*) ../libs/widgets/ardour_button.cc:995
The PluginPinDialog does not need to refill the widget list
when manual config is toggled, only the PluginPinWidget itself
needs to updated.
2023-06-22 04:50:43 +02:00
Robin Gareus
6261bb3a40
Add dedicated RouteProcessorChange for manual pin config
2023-06-22 04:47:35 +02:00