13
0
Commit Graph

13883 Commits

Author SHA1 Message Date
106f889f37
Fix automation context-menu state when reordering plugins
Previously displayed lanes (those with save "visibility" GUI
attributes) were always marked as visible in the context-menu.
2021-02-09 20:45:16 +01:00
4f605926c5
Tweak automation-lane auto-display
Hide lanes when touching a control when the editor is not
visible or if the option is disabled.
2021-02-09 17:41:53 +01:00
01bb38d99e
Add option to en/disable showing automation-lane on touch 2021-02-09 02:11:09 +01:00
bd8c26a059
Automatically show automation-lane when touching a control 2021-02-09 02:11:09 +01:00
e204095b71
Fix mixer initial group-tab display 2021-02-07 12:06:26 +01:00
2bf9014ba1
Fix crash when detaching Editor or Mixer w/o session
Mixer_UI::show_window(), Editor::use_own_window() use
`show_all()` and the fixup items that should be invisible.
This involves a call to `parameter_changed ("show-group-tabs");`
2021-02-07 00:09:20 +01:00
b916a14e26 GUI toggle roll method does not set default speed
This allows the user to leave varispeed setting in place
2021-02-05 22:24:02 -07:00
7d3d64512c
Hide hidden ports in port-matrix 2021-02-01 23:49:39 +01:00
e511ee968e
Yet another C++11ism 2021-01-30 23:23:35 +01:00
John Emmas
79c6f4a3ab Some older versions of std::map can be touchy about us trying to erase a const_iterator 2021-01-30 14:05:31 +00:00
24e0391679
Fix C++11'ism 2021-01-30 05:01:33 +01:00
518f307e00
Share IO selector window for a given route
Previously it was possible to open the multiple IOSelectorWindows
from multiple locations: editor-mixer, mixer, track/bus inspector,
track header context menu, etc. for the same port.
2021-01-30 02:38:44 +01:00
3e7b2bb3f5
Separate IO connection button into dedicated class 2021-01-30 02:38:39 +01:00
33088c728a
Clean up AudioClock font API
see also previous commit 2abf9c66a4
2021-01-30 02:23:59 +01:00
d42b09f1d3
Remove cruft, there are no more diskstreams 2021-01-29 03:23:57 +01:00
dcb27a844a
Remove yet another unused variable 2021-01-29 02:58:33 +01:00
a985a3d184
Remove a variable that is never read 2021-01-29 02:58:33 +01:00
9b4d330285
Remove unused variable
`ignore_toggle` is never set to true.
2021-01-29 02:58:25 +01:00
e73d20c5a4
Close and save is possible without running engine
Since de99d7c528, Ardour sessions can be saved and
Ardour can be closed without a running engine.
2021-01-27 04:13:26 +01:00
d23798276a
Use CairoTheme API 2021-01-26 23:37:57 +01:00
cf6e785ed3
Move Playlist GUI functions to RouteUI
This allows to re-use playlist editing in all RouteUI derivatives,
not just the main editor time axis header.

The change is mostly a NO-OP, simply moving methods from
RouteTimeAxisView (is-a RouteUI), to RouteUI.
2021-01-26 01:54:33 +01:00
98847b115e
VST3: Allow multiple identical timer-handlers (#8550)
Also prefer `const_iterator`, following
```
iterator boost::unordered_map::erase(const_iterator position);
```
2021-01-25 02:27:46 +01:00
e568434300
Remove cruft from previous commit 2021-01-25 02:18:33 +01:00
35552abc4d
VST3: allow multiple fdes per plugin UI (#8550) 2021-01-25 02:14:26 +01:00
2e25148136 fix up previous commit, which contained API from nutempo2 branch 2021-01-22 10:50:16 -07:00
99817e1170 change grid display when grid is bars
All lines are shown, all lines are numbered, all have same visual density
2021-01-22 09:52:42 -07:00
7a536524db no need to compute x-axis coordinate when adding an automation event 2021-01-19 13:04:34 -07:00
7cf435a876 deselect everything when the first MIDI note is selected
See comments in code for more information
2021-01-18 16:07:20 -07:00
6bd12a4e83 clearing note selection in internal edit mode also deselects regions 2021-01-18 16:07:20 -07:00
31691a6ad4
Fix Aux-send copy/paste
* Create new IDs
* Allow to link with route's panner
2021-01-18 16:07:31 +01:00
edd3179fbf
VKeybd: show pretty-name in port-connector
This follows a special case in PortGroupList::gather().
The Virtual Keyboard is an Ardour owned async terminal port,
that is in a session bundle (not a UserBundle).

See also 728d2a3771 and 559ffcff63
2021-01-18 03:18:21 +01:00
e49adb55c0
Fix MidiPortOptions Preferences
* Show Treeview again if it was hidden
* Hide heading(s) and table when no ports are available
* Fix memory leak, unmanaged OptionEditorHeading
* remove unused members
2021-01-18 03:18:20 +01:00
0b0339f089
Re-implement MidiPortOptions with new API 2021-01-18 03:18:20 +01:00
b2c4e71a45
Subscribe to pretty-port name changes (GUI) 2021-01-18 03:18:20 +01:00
a04a2bd0be
Prepare for API change, MidiPortOptions::setup_midi_port_view 2021-01-18 03:18:20 +01:00
772512a62d pt import: Correct the log warning message when at least one audio file failed to load 2021-01-17 13:19:54 +11:00
2645ab2e73 pt import: Fix import -> cancel -> import by clearing status 2021-01-17 13:19:54 +11:00
5d0de7e037 pt import: Fix progress bar to span the whole import 2021-01-17 13:19:54 +11:00
12d62cd16e pt import: Fix race condition/threading, don't call new_audio_track() in bg thread 2021-01-17 13:19:54 +11:00
a307cc602c remove duplicate initialization of PBD::DEBUG::Selection 2021-01-14 11:25:29 -07:00
350938b68e
Fix crash at exit when EngineDialog shows some page other than 1st
#1  std::operator==<char> (__lhs=<error reading variable: Cannot access memory at address 0x801f0f1f>) at /usr/include/c++/8/bits/basic_string.h:6058
#2  EngineControl::get_matching_state at ../gtk2_ardour/engine_dialog.cc:1874
#3  EngineControl::get_saved_state_for_currently_displayed_backend_and_device() at ../gtk2_ardour/engine_dialog.cc:1893
#4  EngineControl::post_push() at ../gtk2_ardour/engine_dialog.cc:2655
#5  EngineControl::push_state_to_backend(bool) at ../gtk2_ardour/engine_dialog.cc:2643
#6  EngineControl::on_switch_page(_GtkNotebookPage*, unsigned int) (this=0x55bc43fd4d40, page_num=1) at ../gtk2_ardour/engine_dialog.cc:2988
[...]
#20  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#21 g_object_run_dispose () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 Gtk::VBox::~VBox() () at /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#23 EngineControl::~EngineControl() (this=0x55bc43fd4d40, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../gtk2_ardour/engine_dialog.cc:73
2021-01-14 01:54:43 +01:00
7ef55225a0
Plug a tiny memory leak 2021-01-09 20:18:12 +01:00
9b1a2e6dba
Indicate that plugin-window MIDI keyboard is not recorded 2021-01-08 22:50:53 +01:00
44528f4fd0
Fix editor summary exposure rectangle
Rectangle uses position and width, not coordinate pairs.
2021-01-08 18:39:57 +01:00
aecd84e7fd
Update session extents calculation
* Expose API via Public Editor
* Skip hidden tracks in calculation
* Use a single call to query playlist extents.
  This way the playlist read-lock is needed at most once per track
  which speeds up calculation.
2021-01-08 18:39:57 +01:00
4769c387f3
Expose EditorCursor via public editor API
This is in preparation to subscribe to playhead cursor position
changes in the recorder-UI.

This change also clean up the API, replacing a public variable
with a const access method and follows #12 of
https://ardour.org/styleguide.html
2021-01-08 18:39:56 +01:00
559ffcff63
VKeybd: use a non-translatable port-name (2/2) 2021-01-08 16:33:29 +01:00
b59e687f83 prevent addition mouse button press/release events while an existing drag is still underway from interfering (fixes #8529) 2021-01-07 22:55:44 -07:00
Martin Vlk
1f96f95e65
Fix "Manual". 2021-01-06 18:40:45 +01:00
cbd0ba90c6 pt import: Fix two warnings from valgrind
- Remove uninitialised unused variable
- Remove jump condition on uninitialised variable
2021-01-06 11:30:12 +11:00
a3df0523b5
Fix crash when requesting disk/in monitoring of busses
e.g. select the master-bus, use  "D" or "I" keyboard shortcuts
in the mixer window.
2021-01-05 23:35:55 +01:00
20bdc394f4 remove debug output unintentionally committed in 14318dd34 2021-01-03 18:17:14 -07:00
7c27f617dc use bold font for major (bar) marks in BBT ruler to heighten contrast 2021-01-03 17:14:35 -07:00
14318dd342 use larger font for bars on BBT ruler 2021-01-03 16:50:18 -07:00
caf55e105e
Dynamically load Dr.Mingw
This improves compatibility with older systems, notably 32bit WinXP.
2021-01-02 23:19:40 +01:00
f188a1ad10
Bump (C) for a hopefully happier new year 2021-01-01 13:18:43 +01:00
John Emmas
bf50535d69 To keep MSVC happy, clarify which overloaded version of 'floor()' to call 2020-12-31 16:13:51 +00:00
e85ae7f9a6
Verbose cursor audio region peak display
https://discourse.ardour.org/t/is-it-possible-to-view-audio-levels-in-db-by-moving-cursor-over-a-waveform/105199
2020-12-30 13:42:42 +01:00
3f60d12308
Handle async removal of sidechain input
Apparently a user managed to remove a SC input and then
use the input's context-menu before the UI had caught up.
(PluginPinWidget::plugin_reconfigured happens during idle)

---
Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0  [..] PluginPinWidget::sc_input_press(_GdkEventButton*, boost::weak_ptr<ARDOUR::Port>) + 1140
2020-12-29 16:08:46 +01:00
ce07765347
video-export dialog, only show abort/progress when exporting 2020-12-22 19:35:12 +01:00
1a49d7d42b
Fix invisible multicahannel waveform at rec-stop
AudioRegionView() c'tor calls create_waves() early on
before the _height is set [1].

Now one following can happen:
 1. All peak-files are present. create_waves() directly calls
    create_one_wave() for each channel. They are initialized
    with zero height.
    But all channels are present so waves[] is populated and
    a later call to set_height() corrects this
 2. All peak-files are still missing. create_waves() schedules
    callbacks via PeaksReady -> peaks_ready_handler()
    Those callbacks arrive after set_height() was called and
    the waveforms are displayed correctly.

 3. Only some peak-files are present. This can happen at
    rec-stop when the region is created.
    create_waves() directly calls create_one_wave() for available
    peaks, and schedules peaks_ready_handler() for the remainder.
    The directly created waves have zero-height.
    Since not all waves are ready, they are stored in tmp_waves.
    waves[] remains unpopulated.

The set_height() call only ever changed the height of wave[], which
resulted in hidden waveforms, until a user manually changed the
height of the track.


[1] the height is set from
```
#1 AudioStreamView::create_region_view(boost::shared_ptr<ARDOUR::Region>, bool, bool)
#2 AudioStreamView::add_region_view_internal(boost::shared_ptr<ARDOUR::Region>, bool, bool)
#3 StreamView::add_region_view(boost::weak_ptr<ARDOUR::Region>)
 ...
## PBD::Signal1 Playlist::RegionAdded()
```
2020-12-22 03:37:17 +01:00
ee1e7ad00e
Clear waveform cache when rebuilding peak-files 2020-12-21 21:13:13 +01:00
241105b477
Revert "Add debug output for NSM"
This reverts commit ba9e310d4d.
2020-12-17 16:15:33 +01:00
bbc54873ae
VST3: GUI d'tor re-order
We have to call close_view(), which calls IPlugView::removed()
before destroying the parent widget.

Previously ~VST3PluginUI() was called after the derived class
destroyed the owned private `_gui_widget`, `_ns_view` or x11 parent.

On windows that may lead to the hwnd of the window becoming invalid
before the call to ::removed().
2020-12-14 19:29:53 +01:00
2a011e19cb
Update AxisView API: name_label is owned by the axis 2020-12-08 00:07:51 +01:00
8cbb318223
Yet another fix for VST3 default path 2020-12-05 00:11:04 +01:00
Tyler Stank
0cfee47867
Disable vertical autoscroll for UI elements where it doesn't make sense
Fixes issue 6396 as well as a few other instances where autoscroll could be annoying
2020-12-02 23:10:13 +01:00
ba9e310d4d
Add debug output for NSM
Trying to track down
https://discourse.ardour.org/t/nsm-ardour-6-session-created-with-ardour-5-wont-open-correctly/105020
2020-11-26 01:29:35 +01:00
0f372e2785
Late to the party, relax 6.0 stringfreeze 2020-11-26 01:25:24 +01:00
7942897d93
VST3: cleanup, drop references (1/2)
VST3PluginInfo holds a shared_ptr reference to
VST3PluginModule. In order to cleanly unload a plugin, all
references have to be dropped.

Unloading a plugin cleanly before exit is needed in some
cases (e.g. Waves shell otherwise crashes)
2020-11-25 05:33:16 +01:00
27f0baab53
VST3: fix VST3 path customization 2020-11-24 00:32:01 +01:00
7a0263295b
Allow to add notes to buttons in the prefs dialog 2020-11-24 00:31:57 +01:00
132e6f5076
The release that should never have been 2020-11-22 20:22:42 +01:00
734dc78ed5 prevent possible crash in AudioClock setup 2020-11-19 17:11:48 -07:00
62a62eaeb3
VST3 resize quirks (Reason, macOS) 2020-11-20 00:05:34 +01:00
1effa1d888
Remove debug message (mac VST3 resizing) 2020-11-20 00:00:37 +01:00
7e2bb01ff1
VST3: ignore GUI size allocations before realizing the view
This fixes crashes with some VST3s when calling `onSize()` before
attaching thew view (e.g. Reason Rack Plug on macOS).
2020-11-19 23:12:52 +01:00
aef366c156
Fix AudioUnit window size for some non-resizable plugins
Some fixed size AU, do unset `autoresizesSubviews` (Apple's default
is enabled). This also results in the initial size, and position
below Ardour's toolbar to be set incorrectly.

This fixes e.g. Reason Rack Plug AU (and maybe others).
2020-11-19 23:12:52 +01:00
John Emmas
abfceea98c Add missing namespace qualifiers 2020-11-19 16:06:43 +00:00
Porrumentzio
a8d924d9e1
Update and rework Basque translation 2020-11-19 16:48:58 +01:00
ff3b23d169
More codenames, thanks Eno 2020-11-18 22:33:30 +01:00
a7a389407b
NO-OP: whitespace 2020-11-18 19:33:27 +01:00
44a6d9d164
Update Export Format dialog layout
* reduce height requirement
  https://tracker.ardour.org/view.php?id=8313#c25191
* group settings sensibly
2020-11-18 19:26:32 +01:00
94af225eaf
Fix window parent when using different workspaces
This affects only windows opened from the mixer window,
in case the mixer is detached and on a different workspace (desktop).

Window::init (and Dialog::init) set transient parent early on,
and it defaults to the main window (with toolbar). It needs to be
unset before presenting the window, in order to show the window
on the same workspace as the eventual transient parent.

This follows 6dc9134 and f3fbf58.
2020-11-18 16:26:36 +01:00
6dc91348d7
Fix transient parent for plugin windows w/detached mixer
This follows f3fbf58185 which unconditionally set the main window
as transient parent. However when detaching the mixer, plugins should
be transient for the detached parent window.
2020-11-16 15:47:05 +01:00
b6ae22cfed
Fix script name of pre-seeded scripts (amend c2ffa07e28) 2020-11-15 00:41:24 +01:00
29b0775508
GUI: allow to enable wav/aiff tagging 2020-11-14 19:31:01 +01:00
f7cb1b0b48
LXVST2: only call effEditIdle after realizing the GUI
This fixes an issue with some plugin-wrappers, notably
ff021d0581
2020-11-14 02:49:50 +01:00
f41d752cb3 additional update GUI RU translation (Alexandre Prokoudine) 2020-11-13 15:51:29 -07:00
6326ba7be3 update GUI RU translation (Alexandre Prokoudine) 2020-11-13 13:17:16 -07:00
54baa620c4
Open session folder when clicking on status-bar snapshot name 2020-11-11 16:29:29 +01:00
Olivier Humbert
1d14b1cfba
French translation update 2020-11-09 19:44:52 +01:00
Edgar Aichinger
3d1fe88506
update german translation 2020-11-09 19:08:40 +01:00
Edgar Aichinger
1fed2285ca
updated german translation 2020-11-09 19:08:40 +01:00
56394b7683 ru translation updates from Alexandre Prokoudine 2020-11-08 15:03:43 -07:00
0f9d391029 mark string for translation 2020-11-08 08:19:46 -07:00
1fce0c6513
Fix building Lua documentation 2020-11-06 18:00:00 +01:00
efe72b79e4
Allow to pass arguments to unit test runner 2020-11-05 10:20:25 +01:00
1a73ef16f4
Credit where credit is due 2020-11-05 00:55:03 +01:00
1321999aec
VST3: macOS key forwarding 2020-11-03 12:09:31 +01:00