13
0
Commit Graph

35363 Commits

Author SHA1 Message Date
9ce91e2952
NO-OP: clang-format 2022-04-23 23:12:13 +02:00
c1d6c0690e
Fix poll() edge case on macOS, clean up logic
Return from poll_for_request() when CrossThreadChannel is
closed/destroyed. -- see also f4166fb61d

This also cleans up poll API usage, and check for nonnegative
return value is added.
2022-04-23 23:12:10 +02:00
2be95cf197
Update log messages for mac package script 2022-04-23 18:03:16 +02:00
95693f9364
Fix endless recursion when creating cyclic connection graphs
This is mainly relevant for Mixbus, which allows cyclic-connections
to record Master-out on a Track (which unconditionally has Mixbus send
and feeds master).

In Ardour it may also cause issues when creating loopback connections,
however latency is not usually updated with invalid graphs (old
process graph remains in use).

Otherwise it fixes a crash connecting Track 1 -> Track 2 -> Track 1.

This also optimizes Route::output_effectively_connected by caching
any prior lookup. This helps e.g. Track 1 -> Track 2 -> Master.
The connection "Track 2 -> Master" now only need to be looked up once.

See also 7958031287 and a556e96ed0
2022-04-23 15:37:57 +02:00
b416a4f168 gtk2_ardour: fix a couple of cosmetic typos in preferences 2022-04-21 12:28:42 +01:00
ae32daa148 allow ARDOUR::Filter to be used with MIDI regions/sources 2022-04-20 17:11:29 -06:00
sra
76a0b3c70e
Disable sandbox in lua SessionInit scripts. 2022-04-21 00:34:10 +02:00
a27f1e8cf9
Vkbd: fix stuck notes when playing fast
The virtual keyboard sends all events with the same timestamp.
When playing fast (mouse-sweep) note-on and note-off will have
the same timestamp.

Since dbd8089fb8, a393f75694 concurrent MIDI are sorted with note-off
first. This correctly handles events when played from the timeline:
 note-on .. note-off|note-on ... note-off

But in case of a MIDI keyboard a note-off event must be send after
the note-on.
2022-04-20 21:45:12 +02:00
273824d094
Fix mac VST2 plugin GUI (amend 9cbf3ae4ad) 2022-04-19 22:40:10 +02:00
da41e4fce4
Ace-Hi/Lo: Fix multi-channel LPF (typo in 4f43d5d024) 2022-04-19 00:46:51 +02:00
e02a96ec6b all Drag objects use an RAII object to block binding activation while they exist 2022-04-18 12:22:56 -06:00
aee3cf1534 handle an action named "Escape" specially when blocking activation during drags 2022-04-18 12:22:30 -06:00
c0b1f0e63c fix buglet in RAII mgmt of Bindings::_drags_active 2022-04-18 12:21:57 -06:00
729f930974 bindings: add a mechanism to prevent binding activation during drag 2022-04-18 11:38:21 -06:00
Caleb Potter
8b82de7ac1 Prevents user from infinitely banking right in mackie plugin subview
Changes handle_cursor_right_press() in PluginSubviewState to pure virtual
function so that PluginSelect and PluginEdit can each have their own
version.
2022-04-18 11:14:53 -06:00
Caleb Potter
f3bd740913 Formatting. Adds spaces before parentheses 2022-04-18 11:07:45 -06:00
Caleb Potter
8e375f5acd Moves left brackets to be on the same line as conditionals 2022-04-18 11:07:45 -06:00
Caleb Potter
bc6461dc76 Prevents user from infinitely banking right in mackie sends subview 2022-04-18 11:07:45 -06:00
Caleb Potter
17a7dbe06d adds ability to bank over in mackie sends subview
The cursor_left and cursor_right mackie control buttons will now move the
sends subview left and right like it does in the plugin subview. Previously,
if you had more than 8 sends (which is almost always the case for Mixbus),
then sends 9+ were unreachable on an 8 channel controller.
2022-04-18 11:07:45 -06:00
5f7e009d39
VTL: fix tooltips 2022-04-18 16:39:43 +02:00
0852032e85 midi note editing: adjust scroll modifiers and allow range expansion as well as scroll 2022-04-17 23:23:45 -06:00
b725b7ddb4 midi editing: scroll in a midi region with no selection will scroll the note range (#8721) 2022-04-17 23:16:50 -06:00
a0d08232ad midi selection: implement MidiRegionView::set_selected()
This allows an MRV to clear its own selection of notes when
the region itself is deselected. This should help #8729 and #8899
2022-04-17 22:58:16 -06:00
789abc561d MIDI editing: fix selection during note resize drags
The ::start_drag() implementation now defers add/extend selection logic to
MidiRegionView::note_selected(), and drops the original limitation that we did
not do extend-selection on button press, only button release.
2022-04-17 22:18:31 -06:00
e01452c6a6 MIDI editing: clean up logic for ::note_selected()
The behavior should be the same but the logical intent of the code is now more
obvious.
2022-04-17 22:17:09 -06:00
948fc52c5c NOOP: whitespace before parens in function call 2022-04-17 12:04:05 -06:00
95b1943978 midi editing: when transposing, expand MIDI streamview note range when/as necessary so that notes do not vanish 2022-04-17 12:03:36 -06:00
bde3f3a277 midi region view: allow change_note_note() to return the new note value 2022-04-17 12:02:53 -06:00
3315a6588a midi regon view: fix logic error introduced when redisplay was split between model_changed and view_changed 2022-04-17 12:02:18 -06:00
f888d3d8ee specify valid chars for MIDI note names in preferences 2022-04-16 18:02:25 -06:00
52f713b591 option editor: allow EntryOption to have a list of valid chars (not just invalid) 2022-04-16 18:02:11 -06:00
bae15f216b make default MIDI note range editable in preferences 2022-04-16 12:08:44 -06:00
a4f26f91c8 parametize default MIDI scroomer (and thus MIDI track) note range 2022-04-16 12:08:44 -06:00
1237a4f3bb
VTL: refine video-export UI (tooltips, error dialog, etc) 2022-04-15 18:25:58 +02:00
72d5fd248a
VTL: fix lead-in/out, explicitly set fps 2022-04-15 18:25:58 +02:00
d6cd9c8a5b MIDI: allow middle-button to delete notes in draw/edit modes 2022-04-15 10:04:59 -06:00
f71430390f
Re-introduce video export options
When adding ffmpeg 5.0 compatibility, the dialog was
dramatically simplified. This re-introduces some options
for audio-quality and also saves/restores settings.
2022-04-15 02:01:06 +02:00
217f51e6fb
Break out common plugin-insert state methods
This is in preparation for IO-Plug, and should also come
in handy later for per region plugins.
2022-04-14 20:08:22 +02:00
9cbf3ae4ad
Who needs PIs for Plugin GUIs?
Use abstract base class for plugin UIs wherever possible
2022-04-14 16:35:03 +02:00
74a673ce17
Create a virtual base class for PluginInsert
This in in preparation for IO-Plug GUI support.
2022-04-14 16:35:03 +02:00
f9d80c32d6
Allow to destroy Widgets when removing them from a container
This is useful when the container uses manage()d Widgets,
which are otherwise not destroyed.
2022-04-14 16:35:02 +02:00
defc902571
Allow to use Destructible as virtual base class
This is in preparation for a pure-virtual base class for
PluginInsert to expose `DropReferences` in the virtual base.

```
class PlugInsertBase : virtual public PBD::Destructible
class PluginInsert : public Processor, public PlugInsertBase
class Processor : public SessionObject
class SessionObject : public PBD::StatefulDestructible
```
2022-04-14 16:35:02 +02:00
c8bb8a3f99
Fix Pin-management IOButton - use client-name 2022-04-14 16:35:02 +02:00
db1a6720c2
Fix Region Export (clip library bounce)
Region::read_at fails if the region is not in a playlist.
It also applies fades and and region transparency which are
not relevant here.
2022-04-14 16:34:39 +02:00
844479568b
fix building OSC surface (amend 9b89dd7967) 2022-04-14 04:49:23 +02:00
99ed076e7e
Potential fix for region export on windows 2022-04-14 00:31:33 +02:00
7f12c664d2
Consistent checks for peakfile file descriptors
This fixes a crash on windows, close(-1) or closing an
already closed FD will abort the application
(Save-As can trigger the issue in done_with_peakfile_writes).

Note that g_open() returns -1 if an error occurred. However
other negative number may still be a valid FD.
2022-04-13 18:04:35 +02:00
luz paz
74453cac86 Fix user facing typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-04-10 19:58:47 -04:00
0e8c7272eb
Fix duplicate undo/redo when stretching multiple regions
Previously, when running timefx on multiple regions on
the same track, undo commands accumulated for each region
in the playlist. Resulting in duplicate actions on undo/redo.

```
<UndoTransaction tv-sec="1649607270" tv-usec="646684" name="pitch shift">
    <StatefulDiffCommand obj-id="1690" type-name="ARDOUR::AudioPlaylist">
      <Changes>
        <Regions>
          <Add id="4046"/>
          <Remove id="2284"/>
        </Regions>
      </Changes>
    </StatefulDiffCommand>
    <StatefulDiffCommand obj-id="1690" type-name="ARDOUR::AudioPlaylist">
      <Changes>
        <Regions>
          <Add id="4046"/>
          <Add id="4057"/>
          <Remove id="2284"/>
          <Remove id="2388"/>
        </Regions>
      </Changes>
    </StatefulDiffCommand>
...
```
2022-04-10 18:25:19 +02:00
91e1083cb1 fix typo 2022-04-09 18:35:16 -06:00