13
0
Commit Graph

16443 Commits

Author SHA1 Message Date
87b5849a7b kbd bindings: fix issues with delete & backspace bindings in draw/i-edit mode
We now use the same actions in all modes, and the logic is:

1. is there a selected mixer strip and are we in it: if so, delete selected
   processors
2. are we in draw or internal mode? if so ..
   2a. if there are selected control points, delete them
   2b. if not, attempt to delete MIDI notes
   2c. done
3. continue with delete operation as before
2023-04-25 11:38:16 -06:00
c16ee928de fix ruler dialog 2023-04-22 17:58:28 -06:00
9625d22c0d
Add Lua bindings for TempoEditBehavior
See also 8fbf2c3f52
2023-04-22 22:15:00 +02:00
65c81feb5e fix consistency and accuracy of tempo edit behavior setting 2023-04-22 11:12:21 -06:00
3364fdd9f3
Update context menu for subgroup bus creation
Rather than hiding options that are not available,
all options are shown and the sensitivity is
set accordingly.
2023-04-21 00:41:30 +02:00
bedca7b5ef
Amend prev commit, pick different max channels for custom config 2023-04-20 19:08:29 +02:00
24986b1f17
Add dialog to configure custom number of chnnels 2023-04-20 19:04:39 +02:00
b4d8a3f933 get initial display for tempo ruler more correct 2023-04-18 14:37:46 -06:00
be73956f4c add GUI option for controlling default tempo edit behavior 2023-04-18 14:30:59 -06:00
8f95cfd995 different default tempo edit behaviors for mixbus vs ardour 2023-04-18 13:57:14 -06:00
1a2fff932f prevent crash during ripple-mode dragging a region with copy enabled (weird crash but this stops it) 2023-04-18 13:48:59 -06:00
4d5bce3568 ardev and its cousins should have ARDOUR_MIDI_PATCH_PATH set to be in-tree 2023-04-18 13:48:59 -06:00
3ddf99df08
Fix color-palette preference tooltips 2023-04-18 02:20:26 +02:00
c228d05c47
Clarify round-robin color palette API name 2023-04-18 02:18:02 +02:00
9e35a9da66
Add option to use a neutral color for new routes 2023-04-18 01:07:54 +02:00
23a9ce4651 more debug information 2023-04-16 10:33:48 -06:00
6313a61f15 more improvements to text position in tempo mapping bar 2023-04-16 10:32:50 -06:00
88e4b40857 remove concept/implementation of a mapping stretch drag (aka "half twist")
This concept proved to be impossible.
2023-04-13 17:50:41 -06:00
c10b265333 tempo mapping: various tweaks and improvements to workflow/Ux 2023-04-13 17:47:34 -06:00
9d2c1232c5 tweak position of tempo text in mapping bar 2023-04-13 14:36:21 -06:00
040dae9b0d tempo mapping: adjust BPM delta during a twist to reflect zoom level 2023-04-13 10:57:12 -06:00
89c7159bc5 prefer auto const & as an amendment to b4291cfb32 2023-04-12 12:45:11 -06:00
73f41a4d3b remove debug output 2023-04-12 10:38:57 -06:00
36525a1ada rippling - use a list and ::push_front() to avoid having to reverse 2023-04-12 10:38:27 -06:00
b4291cfb32 some more C++11 loop-auto-fication 2023-04-12 10:16:09 -06:00
117c751293 fix undo for multi-non-contiguous region cut/delete (#9295)
Defer all ripples till after cut/delete. Then perform them
from the latest to the earliest.
2023-04-12 10:16:09 -06:00
e575d5c6dc remove crash-causing reference to non-existent action 2023-04-12 10:16:09 -06:00
f7f3c1a920 tempo mapping: fix lifetime management of mapping bar text 2023-04-10 09:18:45 -06:00
caa42c8b4d remove debug output 2023-04-10 09:18:44 -06:00
53a98a64fa tempo mapping: when not close to a beat line, revert cursor to grabber 2023-04-10 09:18:44 -06:00
15a018a59d remove reference to non-existent ruler menu item 2023-04-10 09:18:44 -06:00
a0dc539d70
Set thread-local tempo-map to write-copy
Use the new map that is being edited for lookups while changing
the map in the in the GUI. This can changes directly visible
as the map is being edited.

This used to be done directly with the fetch_writable() API
2023-04-10 10:03:21 +02:00
518fc7754f tempo mapping: half-way towards working drags again
For some reason, mid-drag changes are not visible
2023-04-09 14:36:03 -06:00
4f87506e5c do not sort lineset every time a coord is added; use RAII to create scope and sort at end 2023-04-09 14:36:03 -06:00
d4bca18108 slightly improve efficiency of drawing grid lines by passing by reference, not value 2023-04-09 14:36:03 -06:00
13d814f87c fix a few canvas thinkos related to mapping bar 2023-04-08 14:12:41 -06:00
786f71f7f1 fix GUI enum registration so that UIConfiguration can load with variables that use some of them 2023-04-08 13:58:25 -06:00
13311b7a32 tempo mapping: tempo group and mapping group are now only ever visible one at a time
Currently, the "switch" is in Edit > Tempo
2023-04-08 11:44:21 -06:00
a37d4dbacf define actions for changing tempo edit behavior and expand menu 2023-04-08 11:44:21 -06:00
8fbf2c3f52 add enum and member var for controlling what kind of tempo editing we are doing
note: this was much harder than it ought to be
2023-04-08 11:44:21 -06:00
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
57398b1e5e tempo mappoing: use actual mouse cursors not canvas item cursors
Also some changes to attempt to do "half-twist" that will be removed soon.
2023-04-07 12:56:57 -06:00
f57a9d84df
Do not incrementally ripple during cut/delete #9295
When cutting multiple regions with Ripple-ALL, removing
the first region ripples the remaining tracks which includes
selected regions on those tracks which are to be cut later.
2023-04-06 02:18:42 +02:00
dd542b8f4d
Use ARDOUR::PlaylistSet instead of local typedefs 2023-04-06 02:13:51 +02:00
7302aefbee
Guard set_transient_for for NULL windows
While there should always be a top-level, backtraces
provided by some [windows] users show that it can be NULL
in some scenarios.
2023-04-04 01:38:33 +02:00
a0286f2e6f Expose cut-copy-section in the editor
This is still a bit of an experiment, there may need to be a dedicated
ruler for sections, or a side-bar that allows arranging.
2023-03-31 23:13:20 +02:00
91c0f143ec Set sensitvity of "Insert Selected Region" 2023-03-31 22:06:41 +02:00
c362a5af8f
Allow compilation with MSVC and sigc++ 2.3 (revert this at some point)
libsigc++ before 2.5.1 could not determine the return type
of a value unless SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
was specified.
2023-03-31 18:12:10 +02:00
4d940ce5a2
Fix shuttle info sizing text 2023-03-31 18:07:02 +02:00
c11f62fd51
Fix VCA button event propagation
This prevents double-click on the VCA spill button from
to showing the add route dialog.
2023-03-30 19:04:36 +02:00
3a6e3c2c13
Add audition volume control to clip-picker 2023-03-29 01:48:25 +02:00
7ecbdd27a9
hide invisible plugin-control properties in generic ctrl UI 2023-03-29 01:08:36 +02:00
Edgar Aichinger
3f209c2ab4 update german translation 2023-03-28 01:44:49 +02:00
9725685416 Fix metadata in the Catalan translation 2023-03-28 01:42:20 +02:00
Xavi Ivars
a3d6b16e5c gtk2_ardour appdata Catalan po 2023-03-28 01:39:36 +02:00
f2c309d7de Use std pointers in objective C files 2023-03-25 00:07:56 +01:00
9232f41176
Remove debug output 2023-03-24 23:20:50 +01:00
47416743fb license info: add clarification re: plugins to About dialog
Also, it's "pointer-to-const-char"
2023-03-24 14:19:16 -06:00
0aea2a2ef8 tempo twisting: GUI improvements, including undo/redo logic 2023-03-24 14:19:16 -06:00
0cf199ac48 remove another ancient binding set 2023-03-24 14:19:16 -06:00
565fb90ccb remove old SAE keybindings 2023-03-24 14:19:16 -06:00
10b845b1ca fix mapping begin/commit/abort logic in editor 2023-03-24 14:19:16 -06:00
77cefd7721 new tempo mapping drag objects (API and implementation) 2023-03-24 14:19:16 -06:00
6d5273e514 tempo marker drag: change type of stored bpm 2023-03-24 14:19:16 -06:00
20349d868e fix various aspects of display of mapping cursor
This might all change in the future, or even go away.
2023-03-24 14:19:16 -06:00
74225f07de nominally handle popup menu for mapping cursor item (unfinished) 2023-03-24 14:19:16 -06:00
ca8127c458 add canvas item type for mapping cursor 2023-03-24 14:19:16 -06:00
ab3fe29afd no need for a temporary ptr-to-tempo map 2023-03-24 14:19:16 -06:00
f96a0d0ddf editor: adding handling of mid-mapping tempo redisplay 2023-03-24 14:19:16 -06:00
604984ae6f enums: add new enum for MappingCursorItem type 2023-03-24 14:19:16 -06:00
aa3cbd8791 editor: expand handling of tempo-redisplay in middle of drag 2023-03-24 14:19:16 -06:00
ece438d73d editor: refactor snap to bbt to allow specifying non-grid-setting grid type 2023-03-24 14:19:16 -06:00
49439d2acf ensure that the ask-about-quit dialog is shown at mouse-position 2023-03-24 14:19:16 -06:00
868d606d16 track mouse motion in the mapping bar
This does not yet snap to BBT positions
2023-03-24 14:19:16 -06:00
5e01503a56 add a new canvas-based cursor for mapping 2023-03-24 14:19:16 -06:00
d61a741e4b mapping bar: some mouse handling 2023-03-24 14:19:16 -06:00
e9b83e0f1d it's only debug info but let's get it right 2023-03-24 14:19:16 -06:00
18249f7395 ardour has a new ruler
The mapping bar is where tempo mapping operations will take place
2023-03-24 14:19:16 -06:00
38bb89c110 more functional tempo mapping
TempoMarker drag modifies tempo (and thus beat-time positions
and durations).

BBTRuler drag modifies the map but not positions/durations
2023-03-24 14:19:16 -06:00
21074b189a remove unnecessary virtual (no default value involved) 2023-03-24 14:19:15 -06:00
d25a615e20 API development for time domain flipping (GUI edition) 2023-03-24 14:19:15 -06:00
28d244bd0a use cstdint instead of stdint.h 2023-03-24 14:19:15 -06:00
c304edd253 switch from glib atomic to std::atomic (gui edition) 2023-03-24 14:19:15 -06:00
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
39ed528e25 std-ize: convert all boost shared/weak ptr includes to <memory>
Also fix stdint.h -> cstdint and alphabetically order std includes
2023-03-24 14:19:15 -06:00
6dadac73ab
Add context-menu options to disconnect plugin-pins 2023-03-20 23:14:06 +01:00
2ea0bb5f37 try to prevent a crash when handling a freesound sample with a non-UTF8 filename 2023-03-17 14:24:08 -06:00
48ee85ea0c decrease the default opacity of "dragged region" (in all themes) 2023-03-17 11:56:08 -05:00
4de53fa600 make regions transparent during fade-handle drags
* during drag and trim operations, we use "dragging region" transparency
  so you can see the audio data beneath your region(s)

* we already do this for region-end-trim fade drags, which is a special
   kind of trim operation, accessed from the 'lower' drag handle

* now we also trigger transparency for regular fade trims.

   see discussion at:
https://discourse.ardour.org/t/regions-transparency-in-7-2/108060/31
2023-03-17 11:56:08 -05:00
6ff8fb7c5e
Fix silence at start/end of export
Previously that caused an assert() in audio_clock.cc:1964
current_duration(): Assertion `is_duration' failed.
Optimized builds always returned zero duration.
2023-03-14 00:35:13 +01:00
JungHee Lee
9dc523710c Update ko.po 2023-03-13 21:52:31 +01:00
44bfaa9235 Fix Korean translation
Remove duplicated entries
2023-03-08 03:44:11 +01:00
f8d85a2f85 Fix the French translation
Remove a copy of itself appended to the end, as well as an extra '\n'
2023-03-08 03:19:33 +01:00
Olivier HUMBERT
bc1ed2e256 Update French translation for 7.3.0 2023-03-03 17:17:49 +01:00
JungHee Lee
3b0a19d30e Update Korean translation 2023-02-24 02:00:10 +01:00
ef14fec4ec MIDI trace window: enable printing of new-ish MIDI tick message 2023-02-23 15:34:27 -07:00
df577d79d4
Clarify scale-slider, label is not the current value 2023-02-23 22:52:56 +01:00
adb6467427 midi clock: move incoming BPM quantize option and add tooltip 2023-02-23 12:15:51 -07:00
dbd779bf85 NOOP: remove commented debug output 2023-02-23 12:14:39 -07:00
a7458d308b midi clock: allow user to "quantize" MIDI clock resolution (GUI edition) 2023-02-23 10:17:54 -07:00
luzpaz
44a869732c Fix various typos
Found via `codespell`
2023-02-20 17:35:24 -07:00
9df3058cd8 Add Graphics Acceleration heading to prefs on macOS 2023-02-17 15:57:32 +01:00
2c7bfa9ead require use of BBT_Argument as both parameter and return type from most methods (GUI edition) 2023-02-15 16:02:56 -07:00
8f248bd0ba update C++ preferences metadata object 2023-02-14 10:15:18 -07:00
9107c6d70c lots more preferences metadata 2023-02-14 10:15:06 -07:00
3dd9b2c201 rationalize single call to TempoMap::use() in AudioClock::set_bbt() 2023-02-14 10:14:39 -07:00
72bc6ac43d some edits for preferences metadata 2023-02-14 10:13:26 -07:00
8a23015ffb Update Russian translation 2023-02-13 04:56:58 +03:00
b8c4034af5 Fix a user-visible typo 2023-02-13 03:05:38 +03:00
168344a3f9
Indicate sample-rate mismatch in the status-bar 2023-02-12 16:23:42 +01:00
adf1eb34fb
Fix drawing percussive hits (#9234)
* HitCreateDrag::start_grab does not need to do anything
  a hit cannot be past end of region. Drawing at or past
  the end of a region will create a new region (not an event)
* HitCreateDrag::finished now calculates the position like
  NoteCreateDrag::finished.
* the selection does not need to be cleared. Creating new
  notes/hits selectes the newly created ones.
2023-02-11 20:27:43 +01:00
f1d784afbb deep fix to the way automation control point drags are handled/computed
The old code could not snap to the grid, because it had a lot of confusion about pixels vs. time,
and between line-origin-relative time and absolute time
2023-02-10 11:11:51 -07:00
03b32cb4a0 remove unused "beats" variable and computation from Editor::metric_get_bbt() 2023-02-10 11:11:51 -07:00
907b0bbfa0
Fix time-stretch dialog clock
This broke in 45e21de209, the clock is not yet visible,
so the value has to be forced.
2023-02-09 00:35:27 +01:00
cd6d7a8074
Fix another -Wabsolute-value 2023-02-08 03:50:21 +01:00
ae66304194 missing API change from e883c39e7 2023-02-06 21:51:28 -07:00
fe64ab9d31 control point drag: set time domain to match the list being modified
Previously this used the editor's default time domain
2023-02-06 21:04:17 -07:00
c41de90abd drags: add API to set time domain of a drag
This can slightly improve efficiency of temporal computation
during the drag.
2023-02-06 21:04:17 -07:00
e883c39e7a control point drag: fix the way bounding-to-region is computed 2023-02-06 21:04:17 -07:00
2de76147d2 automation line: fix pos/distance confusion that misplaces dragged control points 2023-02-06 21:04:17 -07:00
3d96a318ac automation line: add dump() method to inspect GUI control points 2023-02-06 21:04:17 -07:00
8c6fa19bcf use C++11 auto iterator 2023-02-06 21:04:17 -07:00
12ad052d98
Fix another class/struct mismatch 2023-02-07 03:07:22 +01:00
65d5d8162f
Add missing includes to satisfy linter 2023-02-07 03:06:51 +01:00
48efbb4cc5
One drag at a time (#9217)
When a drag is already active, do not allow to start
another one. e.g. start a middle-click (fixed time drag),
then left-click.
2023-02-07 02:57:58 +01:00
2b64c4afe4
Allow to move edit-cursor and PH in dropzone (#9222) 2023-02-07 02:14:38 +01:00
8c561b19a6
DisplaySuspender is a struct (not a class) 2023-02-07 01:50:04 +01:00
e74cb666ed
Allow to set transparency to 100%
Despite what the docs say Gtk::HScale(0,1,s) with a step-size
s > 0 has a range [0, 1 - s]. GTKMM does allow for a step-size
of zero, which also works around this issue.
This works because gtkmm sidesteps gtk_hscale_new_with_range() which
would fail with g_return_val_if_fail (step != 0.0, NULL);

The reason for this is that gtkmm creates an Adjustment with a
page-size = step-size:

```
Adjustment* adjustment = manage(new Adjustment(min, min, max, step, 10 * step, step));
```
and `gtk_adjustment_configure` limits the range:
```
value = MIN (value, upper - page_size);
```
2023-02-06 01:27:24 +01:00
3cb1410318 update preferences metadata object 2023-02-05 12:25:04 -07:00
7c07c87088 add MIDI max note height to preferences GUI 2023-02-05 12:25:01 -07:00
a365a7ebf3 respond to MIDI max note height changes 2023-02-05 12:24:12 -07:00
2756be4b62 add an option to control the maximum MIDI note height (not yet GUI exposed) 2023-02-05 11:36:24 -07:00
0bce5d24de update preferences metadata object 2023-02-05 10:58:11 -07:00
38b3e88582 more preferences metadata 2023-02-05 10:57:47 -07:00
e446e4c501 more preferences metadata 2023-02-05 10:41:03 -07:00
3105dcfbbc
Tweak new-plugins-active tooltip 2023-02-05 16:07:52 +01:00
be1462357b
Expose preference to create sidechain ports by default 2023-02-05 16:07:13 +01:00
f035a0baed
Remove prefs-search test-code 2023-02-05 15:36:43 +01:00
3cb89b7c6e
List custom resampler quality settings in prefernces 2023-02-05 03:38:35 +01:00
cooltehno
b4169a0391
Update blueberry_milk-ardour.colors 2023-02-04 23:43:53 +01:00
380005f50f Update preference to set macOS render performance 2023-02-04 22:34:12 +01:00
c707b056af
Add some preference search tags 2023-02-04 06:58:02 +01:00
51e93399ba
Update vari-speed availability, depending on port-resampler 2023-02-04 03:21:27 +01:00
19b8069720
Add preference to set port-resampler-quality 2023-02-04 03:20:47 +01:00
5316ac38e7
Export Dialog: remove redundant calls 2023-02-04 00:24:19 +01:00
b421cd26bb
Export Dialog: correctly init export channels
The state has to be pushed to the manager during initialization,
otherwise channel_config remains unset.

This fixes an issue with files using the same filename
(missing channel name) during stem export.
2023-02-04 00:24:07 +01:00
14606ac655
Rec-stop only writes a pending (recovery) file (#9215)
This is consistent, since after handling the
`SaveSessionRequested` signal the session remains dirty
(which may be a bug). However since the signal is handled
by the GUI, rec-stop only saves the session if there is a GUI.

It is however somewhat dangerous. Record, quit + no-save (or
changing snapshots w/o saving first) will loose any references
to the recorded data (even though it is still on disk).

Note that "remove last capture" still saves the session
(to prevent references to non-existent sources).
2023-02-03 07:56:49 +01:00
160ed4d056 tweak generation process for preferences metadata and start adding some 2023-02-01 18:14:33 -07:00
1333f39621 searchable prefs: fix behavior after find failure 2023-02-01 18:10:56 -07:00
ee151ee36e fix track scrolling by using API to reset controls_layout, not doing it directly 2023-02-01 13:10:43 -07:00