13
0
Commit Graph

16032 Commits

Author SHA1 Message Date
c3697e1755
Overhaul PortInsert UI
* add gain controls for send/return
* add send polarity invert control
* allow to customize latency
* set transient parent
* cleanup and format source
2022-10-14 02:21:50 +02:00
5a48a56bfe
Clean and overhaul up SendUI
* add polarity control
* set transient parent
* remove unused methods
* clang-format source
2022-10-14 02:21:50 +02:00
8113633bb9
Cleanup Track Automation kids
Send levels are dedicated to each send (Processor), and
not route-owned direct child automation for each time-axis.
2022-10-14 02:21:50 +02:00
afd23d42cd
Add dedicated InsertReturnLevel type (2/2) 2022-10-14 02:21:50 +02:00
2b3312e7d3 better color selection for text in clip list 2022-10-13 17:39:16 -06:00
4d4da13d55 Fix Clip listing (include all shortcuts, update colors)
* GTK fills in the snapshots in the background (using background threads
  to test files).
* Actual colors may only available after the widget is realized (not
  directly after ensure_style)
2022-10-13 04:10:11 +02:00
ab7254e357 new Xcolors theme from LAM 2022-10-11 14:20:35 -06:00
92f8d1e577
Further reduce differences in themes (sort and indent modifiers) 2022-10-11 21:59:10 +02:00
fb4115d6b0 add new diehard3 theme from avlinux/gmaq 2022-10-11 13:48:55 -06:00
cae565f3be
Copy missing color definitions to alternative themes 2022-10-11 21:29:50 +02:00
56e5c5fc3b
Sort colors in default theme, remove space 2022-10-11 21:29:50 +02:00
f9a2da3426
LXVST: dispatch close when GUI is destroyed
see also e635571f2f
2022-10-11 20:55:01 +02:00
45398fb65c
Fix switch custom -> generic plugin UI
See also e635571f2f and bd898a68
2022-10-11 20:44:04 +02:00
3b2eb7507b Fix macOS compatibiliy
readlink -f option requires recent macOS 12.6
2022-10-11 20:06:17 +02:00
664f6768f2
Fix windows builds, use portable setenv 2022-10-11 15:13:41 +02:00
John Emmas
43a9ae7458 Use glib to provide setenv()
(for some strange reason, setenv() is called putenv() on Windows!!)
2022-10-11 10:46:57 +01:00
7216a767df
The return of the send level meter 2022-10-11 03:58:35 +02:00
bd898a68df
Fix switch custom -> generic plugin UI (amend e635571f2f) 2022-10-11 02:40:55 +02:00
0bf8e7d8cf
Make clock mode settings session independent
Much like the edit-tool and grid-types, clock-modes are UI state.

Saving the UI state separately allows them to be used
consistently for new sessions. Previously clock-modes were set
initially (at application start) and when loading sessions.

The clock modes of newly created sessions was different
depending on loading another session prior to creating the
session. This is now no longer the case.
2022-10-10 21:03:45 +02:00
Václav Šmilauer
6ad3dc1e43 Fix disabling l10n under Linux 2022-10-10 08:11:52 -06:00
00fe7e8778
Remove Lambda w/return value for compiler compat. 2022-10-09 16:45:31 +02:00
b42591fde1
Specify return type of lambda (amend e635571f2f) 2022-10-09 15:40:29 +02:00
7b4487699c Update Russian translation, part 4 of N 2022-10-09 14:46:13 +03:00
e635571f2f
Implement preference to destroy plugin UIs
see also https://discourse.ardour.org/t/very-high-gpu-usage-on-windows/107672
2022-10-08 18:45:20 +02:00
0dc4f4bf45 spelling fix, PR#725 2022-10-07 19:14:01 -06:00
254297355e increment/decrement name changes ... out with old in with the new (gui) 2022-10-07 17:30:45 -06:00
45e21de209 implement and adopt new conventions for AudioClock use
The class now has two separate methods for setting a duration or a point
value. They MUST be used appropriately, because their behavior is different.

When ::set_duration() is used in timecode mode, an extent (inclusive-end
length) is shown rather than a length.

Some objects, such as the TimeInfoBox, now deliberately shown an inclusive end
for their "end" clock, but this not universally followed, pending more feedback
from users and investigating of conventions in other DAWs.
2022-10-07 16:24:56 -06:00
1ce17c1903 fix time domain for new BBT markers created from context menu/dialog 2022-10-07 16:24:56 -06:00
d9c6842ea3 Fix region property inheritance (GUI) 2022-10-07 00:36:20 +02:00
ba41f22f88
Resize plugin-scan dialog as needed for UI scaling 2022-10-06 15:41:56 +02:00
2af00a3f69 Revert "route group dialog grabs focus when shown"
Unnecessary change.

This reverts commit fe0cde3781.
2022-10-05 15:57:41 -06:00
91bdfaa824 add all new 7.0 contributors, and fix FSF address in GPL text 2022-10-05 14:43:47 -06:00
413285b713 FIx path on macOS when running from source-tree
This fixes access to local clip library files. Absolute paths are
required, otherwise FileSource::find searches the session folder.
2022-10-05 19:52:01 +02:00
f858132a25 more appropriate sizeing and scrolling for library downloader
Without this it just grows to be tall enough to show all downloaded descriptions
2022-10-05 10:46:50 -06:00
0c2176dd71 move default_triggers_per_box into a namespace ; change value for Ardour to 16 (GUI edition) 2022-10-04 19:55:15 -06:00
980404d73c refill library download dialog on show 2022-10-04 11:18:55 -06:00
b40179854a Revert "no bundled content for Ardour"
this was a mistake.

This reverts commit 9662e6eac0.
2022-10-04 11:01:59 -06:00
9662e6eac0 no bundled content for Ardour 2022-10-03 15:21:40 -06:00
0938d21c30 change add new bbt marker from primary-click to context-click on BBT ruler 2022-10-03 14:16:34 -06:00
fe0cde3781 route group dialog grabs focus when shown 2022-10-03 12:15:43 -06:00
a0a2138651
Highlight auditioned clips
This changes the color of auditioned clips in the clip-list.
The highlight is reset when changing folders or when importing
a clip via DnD.
2022-10-03 01:19:50 +02:00
9ed82713de On popular demand, hide splash instead of push it back
Sadly some popular Window Managers do not follow
freedesktop.org specifications.  This results in Ardour's splash
screen obscuring session setup dialogs on those systems.
2022-10-01 19:38:43 +02:00
0f6a2f7320 Remove unneeded scope 2022-10-01 19:01:49 +02:00
0b70550b42 Fix width of draw-grid dropdown menu 2022-10-01 19:01:30 +02:00
751de3889e Fox grid dropdown menu width
Take submenu items into account, which have strings longer than
GridTypeBeatDiv32 text
2022-10-01 18:53:45 +02:00
a626f1f0d5 Synchronize grid menus (#8973) 2022-10-01 18:04:30 +02:00
891b561cad Cleanup: use dedicated method to build draw menu 2022-10-01 18:03:03 +02:00
8f125a0ab4 tracks is no more 2022-10-01 17:37:38 +02:00
1e283adb22 disambiguate trigger functions: stop_all_triggers -> trigger_stop_all 2022-10-01 09:13:14 -05:00
75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
9af2c31d6b Update Russian translation, part 3 of N 2022-10-01 14:29:03 +03:00
49f7e4d447
Amend 07dea50456 (DnD import, copy to track) 2022-10-01 03:38:34 +02:00
173de9f0ef change MidiRegionView scroll behavior to somethings slightly more useful
1. leave tertiary-scroll for navigation and primary scroll for session timeline zoom
2. unmodified scroll in edit mode scrolls contents
3. secondary-scroll zooms in and out on contents (i.e. vertical zoom for MIDI)
4. primary-secondary scroll has the just-one-edge behavior previously provided
2022-09-30 16:32:29 -06:00
07dea50456
Fix DnD import to grouped tracks
Import via Drag/Drop previously worked by selecting a track,
and then importing to the selected track.

This approach fails when the selected track is in a track-group,
and selecting the track also selects other tracks of different type.

Now the track to drop onto is passed directly passed through to
::finish_bringing_in_material as existing_track.
2022-09-30 21:30:48 +02:00
fdac3cb01c Mark one last slot property box title for translation (string freeze break) 2022-09-30 09:04:56 +03:00
20b0b2b2a7 Update Russian translation, part 2 of N 2022-09-30 09:01:35 +03:00
384450c587 Update Russian translation, part 1 of N 2022-09-30 09:01:35 +03:00
ea1dfa5d80 mark slot property box titles for translation (string freeze break) 2022-09-28 16:45:27 -06:00
d1d125ba7b Fix Window menu (action name change in 0d5fd0d) 2022-09-28 04:26:54 +02:00
0d5fd0de0c rename "library manager" to "library downloader everywhere (breaks string freeze) 2022-09-27 11:22:56 -06:00
577c21776a fix position of imported tempo markers from SMF files 2022-09-27 09:32:19 -06:00
b4ad81075e provide and use a method to show the library download manager 2022-09-26 16:40:08 -06:00
fb750aa4b8 skeleton to allow opening the library download manager from the clip viewer 2022-09-26 11:15:52 -06:00
340253a095 bbt markers should be freely draggable regardless of grid setting 2022-09-26 11:15:52 -06:00
d39f064756 library dialog: catch exception and behave appropriately 2022-09-26 01:10:20 -06:00
3b274bd433 rename loop download dialog (breaks string freeze) 2022-09-26 01:10:20 -06:00
97b3aef0fa
Significantly speed up display of MIDI file information (again)
This regressed with changes to SMFSource to unconditionally load
the model. "Black MIDI Trilogy 2" now shows again in under 4 sec.
Before this change it took roughly 3 mins (!) and the UI was marked
as unresponsive.
2022-09-25 03:29:42 +02:00
bfe655775a
Set SMF::open option, do not scan since information is not needed 2022-09-25 02:47:14 +02:00
4f83eea46c Revert "step entry: do not pass auto_partition=true to Playlist::add_region()"
This was an error of understanding.

This reverts commit e9f98fe230.
2022-09-24 15:21:05 -06:00
e9f98fe230 step entry: do not pass auto_partition=true to Playlist::add_region()
This code path is only followed if there is no region at the start of step entry, so auto-partition
makes no sense anyway
2022-09-24 14:53:06 -06:00
fba4a5ff73 fix region drag across tracks that auto-partitioned the receiving playlist
Confusion caused during nutempo development when a boolean related to nick_m's old
"for music" concept ended up becoming the "auto_partition" argument instead
2022-09-24 14:27:20 -06:00
451fb3e761 fix crash when dragging BBT marker (must use audio time) 2022-09-23 15:51:17 -06:00
47e9bb05c8 midi editing: if nudge clock says zero, use grid for nudging notes 2022-09-23 11:30:17 -06:00
c4b63221d1
Allow to delete preset from context menu 2022-09-23 05:40:05 +02:00
2e0bfae628 midi note drawing: use RoundNearest not RoundDownMaybe for note ends 2022-09-22 16:21:07 -06:00
04d367fdfe midi note drawing: fix snap used to place ghost note 2022-09-22 16:16:20 -06:00
91df1d8e94 NO-OP: fix switch statement indentation 2022-09-22 16:10:34 -06:00
0af0e3a8e8 remove unused code: an unused follow-action icon 2022-09-22 08:10:29 -05:00
7cad01ae1e clip list: add a Refresh button to the file list
It is tempting to update the list automatically when the dire contents change,
 but this can lead to the list changing while the user is clicking to audition
 or drag.

Instead, we should sensitize the button only when the dir contents have changed.
2022-09-21 20:47:23 -05:00
luz paz
7f06beda50 Fix typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L acount,ba,buss,busses,discreet,doubleclick,hsi,ontop,retrn,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-09-21 19:09:55 -06:00
56c5db9115
Fix indent of previous commit 2022-09-21 22:38:22 +02:00
b3c95e8946
Allow to create presets from processor context-menu 2022-09-21 22:19:32 +02:00
135a54effd
Cleanup processor-box sensitivity, mixbus backport 2022-09-21 21:17:21 +02:00
9c64771636 remove some debug output 2022-09-21 10:17:13 -06:00
8db55bdda9 remove clip editor bindings (for now), since we do not show the clip editor 2022-09-21 08:51:36 -06:00
1b7b3543e8
Remove thin abstraction, directly call get_pixel_size 2022-09-20 03:33:08 +02:00
2a42743270
Fix ArdourDropdown sizes 2022-09-20 03:33:01 +02:00
d1bf8428fc
Allow vertical scroll to change gain on the cue-page
This is consistent with inline controls (which also allows
vertical scrolling to change the gain).
2022-09-20 00:44:42 +02:00
a3806e2946
Implement Draw-tool opaqueness option 2022-09-19 23:40:58 +02:00
6f9f7fb831
Fix typo, shorten dropdown strings 2022-09-19 23:24:42 +02:00
99b2fb2859
Remove cruft 2022-09-19 22:50:53 +02:00
a61072060e
Remove now unused "layered button" color defintion 2022-09-19 22:50:50 +02:00
5fb628d3ed
Use new record-mode pref (2/2), GUI control 2022-09-19 22:50:11 +02:00
97f0fac7d5
Copy region properties (2/2) - see prev commit 2022-09-19 22:49:42 +02:00
b5fd753886
Set tooltip for send polarity button 2022-09-18 22:51:58 +02:00
a30d526af0
Consistently color regions when using name bars
With name-bars the region was colored using the track color
if the region is not high enough to show the name-bar.
This happened regardless of the color-regions-using-track-color
preference IFF name-bars were enabled.

However set_color/get_fill_color() is not called when the track-height
changes "high_enough_for_name". This lead to inconsistently colored
regions, some with a background some without.
2022-09-14 20:51:01 +02:00
5e26c9c277 library manager: display description in textview not tooltip 2022-09-13 21:22:57 -06:00
7c5d324136 remove transport master active controls widgets 2022-09-13 16:47:21 -06:00
60982ae408 remove Record Mode combo from add route dialog, since at present it does nothing 2022-09-13 16:28:47 -06:00
17b5acc38d remove checkmark column from library download dialog 2022-09-13 14:20:11 -06:00
aeccb137fd threaded archive inflation for library mgmt 2022-09-13 13:53:45 -06:00
be860db54f
Prefer new Rubberband engine for timestretch 2022-09-13 06:56:08 +02:00
f4984966c2
Fix record-safe column 2022-09-13 04:51:03 +02:00
4419992bb7 Add gtk-treeview DnD workaround to Track/Bus List
This was lost when refactoring the editor lists into dedicated
Region, Source and Route lists. A patched version of gtk allows to
initiate a drag, rather than a name edit.
2022-09-13 02:37:15 +02:00
5d5b94b1cd
Use natural sort order for file names to import 2022-09-13 00:50:49 +02:00
75ad3832db
Amend prev commit 2022-09-12 20:10:54 +02:00
91ba76fb0a
Add plugin presets to processor-box context menu 2022-09-12 20:05:07 +02:00
c7f5c89681 library downloading: various fixes to GUI 2022-09-10 15:19:16 -06:00
8d68fb1ac3
Add Sort-by dropdown, re-layout import dialog 2022-09-10 01:07:55 +02:00
f174c3a1a1
Implement file import sorting 2022-09-10 01:07:55 +02:00
1a736d2c86 hand-drawn MIDI regions should always use beat-time 2022-09-09 12:17:44 -06:00
5adb6eadaf
Fix region coverage display, take audible opacity into account 2022-09-09 17:31:20 +02:00
bb4b07cca6 initial functioning version for library mgmt 2022-09-08 18:19:20 -06:00
07e2518166 steps towards downloading loop libraries 2022-09-08 07:47:14 -06:00
d54585b8fb
Remove old SAE file 2022-09-08 02:29:40 +02:00
583bfa8878 remove some library mgmt related code that should not have been committed 2022-09-07 17:27:51 -06:00
ff2f8f4066 add copyright notices to new files 2022-09-07 17:14:32 -06:00
5461bfb218 add a new global window for reviewing and (soon) downloading loop libraries 2022-09-07 17:03:08 -06:00
888d91d599 Add action to locate to loop start/end 2022-09-07 19:15:36 +02:00
fabb080672
Consistent progress bar text (no dots) 2022-09-07 00:24:33 +02:00
2a7d528c5d
Update and consolidate gettext.h
This fixes compilation with --no-nls on modern systems
2022-09-07 00:09:54 +02:00
109e7d6ea0 When editig sends, show the send's polarity control on mixer-strip 2022-09-04 20:25:51 +02:00
72faae2ba9
Update method to disable X11 screensaver
On modern systems `xdg-screensaver reset` does not necessarily
reset the timer. It depends on DPMS, and according to spec turns off
the screensaver (unlock the screen), via `xset dpms force on`.

Explicit window suspend/resume make use of DBus
org.freedesktop.ScreenSaver.Inhibit, which is not be supported
but all systems, so we fall back to good old `XResetScreenSaver`
which does reset the activation timer.
2022-09-04 17:32:16 +02:00
a307a367cc Remove special-case for send-level display name
These days, `describe_parameter()` handles this fine and returns "Send".
This is in preparation for adding a polarity-invert control to sends.
2022-09-04 01:35:24 +02:00
8af793a44d Safeguard video-alignment in case LTC detection throws an error 2022-09-03 17:55:30 +02:00
1228202bbe Fix save/restore window and tab sizes
Window size has to be set before calling `setup_toplevel_window()`.
and `set_show_tabs()` - see also acf13e9498 and 42cb321039.

This also unconditionally saves the current settings to global config
instant.xml. This was previously only done in rare cases when first
closing the session and then quitting Ardour.
2022-09-03 17:42:32 +02:00
a5b7290e3a fix fatal error/logic error in marker remove code introduced with BBT markers 2022-09-02 10:41:58 -06:00
Enrico Castella
358edb5cfc
fix quotes in themes clear_gray-ardour.colors
fix unclosed quotes in gtk2_ardour/themes/clear_gray-ardour.colors
2022-09-01 16:31:08 +02:00
d2fc142e21 infrastructure and implementation to allow "q" to drive quantize-selected-notes in midi edit mode 2022-08-31 13:53:55 -06:00
02b05f295a use selected (outline) color for MIDI note velocity bar (thanks, cooltehno, for the idea) 2022-08-31 13:53:43 -06:00
3a8c443499 remove unused variables 2022-08-31 13:51:20 -06:00
b11ba8eec7 MIDI editing: primary+tertiary makes scroll do what it does when not editing 2022-08-31 12:16:14 -06:00
ebe0dd389e Update Russian translation 2022-08-23 10:28:37 +03:00
484ec35b10 Fix a typo 2022-08-23 09:40:28 +03:00
eb3d9f66d9 Fix a typo 2022-08-23 01:52:54 +03:00
John Emmas
30efdbe0f8 Some minor reverts to commit #63f94d29463 (from 25th May 2022)
These were preventing Ardour from compiling on Windows (Clang or MSVC)

Possibly would've been buildable with MinGW but I don't have that available to test.
2022-08-21 12:34:10 +01:00
Mads Kiilerich
4b8aa51093 artest: clarify that the tool in gtk2_ardour is testing libs/
Avoid confusingly general sounding
	-------------------------------------------
	Running tests for ardour...
	-------------------------------------------
2022-08-19 11:06:28 -06:00
Mads Kiilerich
176bbca821 freedesktop: install icons to match the versioned Icon name used in the .desktop file 2022-08-19 10:58:25 -06:00
cooltehno
7430f6e3f6 Update clear_gray-ardour.colors 2022-08-19 10:28:55 -06:00
itmuckel
63f94d2946 Remove unused includes 2022-08-19 09:27:19 -06:00
3327f5b9f1 some rationalization of drag types from various rulers
At present, TempoTwist is Primary-drag on the tempo ruler, and TempoCurve is Primary-drag on the meter
ruler. Not sure that this is quite what we want here, but it makes more sense than the prior
design, in which TempoTwist was available from non-tempo-related rulers
2022-08-18 14:16:25 -06:00
5738f3d1b1 bbt markers: Primary-click on BBT ruler to create 2022-08-18 14:06:05 -06:00
eadd26b379 amend 31640a9a5b by reverting action name back to fork-region
This avoids breaking bindings, and since the action name is generally not a part of the GUI,
really doesn't hurt anything in terms of understandability
2022-08-18 09:27:43 -06:00
31640a9a5b gtk2_ardour: implement "Unlink from unselected" for MIDI regions
An attempt to satisfy #8848.

Add a new action, "fork-regions-from-unselected", which unlinks all
selected MIDI regions from any unselected regions, but maintains links
within the selection, and add the new action to the region MIDI context
menu as "Unlink from unselected". Rename the existing "fork-region" action
to "fork-selected-regions", and amend the existing "Unlink from other
copies" menu item to "Unlink all selected regions" to (try to) clarify the
difference.

Attach the <Tertiary>U default key-binding to the new action: I personally
think it's generally slightly more useful (otherwise I wouldn't have
implemented it), though I'm not that fussed.

In the case that there's only one MIDI region selected, or that none of
the selected regions are mutually linked, both actions will have exactly
the same result. Ideally, we'd only show a single menu item in this case,
but that would require (a) implementing a function to check whether the
selection contains any linked regions, and (b) making the region MIDI
context sub-menu dynamically generated, so that it can change based on the
result of that function, neither of which I've tried to do yet.
2022-08-18 09:18:25 -06:00
cooltehno
b8f21b2acf Update dark-ardour.colors 2022-08-18 09:07:51 -06:00
2f7f313f6d MIDI combine (basically operational)
May need some tweaks to address notes that are cut off by the end of the region
2022-08-18 07:45:05 -06:00
fc6ad8ebd9 bbt markers: all the basics of dragging, editing, removing 2022-08-17 16:40:35 -06:00
6784f0e5dc basic skeleton for BBT marker drag 2022-08-17 16:40:02 -06:00
965fe9946b BBT markers: put BBT position in their tooltip
Tooltip will need updating once drag is working correctly
2022-08-17 16:39:46 -06:00
3259ab2d41 tempodisplay: correctly redisplay tempo map stuff after adding a BBT marker 2022-08-17 16:39:32 -06:00
69d3bd8821 new-user dialog: updated text; more consistent fonts and layout 2022-08-11 16:53:56 -05:00
373a73cb51 fix selectability of region-associated automation (i.e. MIDI)
The fix here is really just dropping the use of _offset when computing the session position
of a control point. This was just an arithmetical error.

However, session_sample_position() was redundant and just caused more work, so this
method was removed, and only ::session_position() is now used.

In addition, several closely related places now use C++11 (or later) "auto"
syntax for iterating over containers, for cleaner looking code
2022-08-11 15:26:42 -06:00
7aef0cd191 fader colors: use correct UIConfig var name and exclude master bus correctly 2022-08-11 08:45:31 -06:00
870a51b691 fader coloring: ignore master, and rename UIConfig option to be more generic now (also text in prefs) 2022-08-11 08:22:49 -06:00
04ad500998 set mixer strip fader name always, so that bg is set from style 2022-08-11 00:07:53 -06:00
24253c20f3 remove no-longer-used method 2022-08-11 00:07:05 -06:00
340bba15f2 fix typo 2022-08-10 22:37:16 -06:00
6d85759cf8 optionally tinted faders in mixer view 2022-08-10 22:34:52 -06:00
9e8a5f15c9 optionall colored faders in editor 2022-08-10 22:34:36 -06:00
f8a77c7dcb add API to GainMeterBase to allow use of explicit fader colors 2022-08-10 22:34:33 -06:00
bfa40895b3 add 2nd method to RouteUI to get a (possible) variant of the route color for "tinting"
Currently returns the same value as ::route_color()
2022-08-10 22:33:40 -06:00
9ea1e5bdee move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (GUI) 2022-08-10 21:11:52 -06:00
5dbcd76cb1 led widget: disambiguate namespace for Color type 2022-08-10 18:14:28 -06:00
9178758f54 fix redisplay of track headers after changing track-name-numbering 2022-08-10 16:44:43 -06:00
8b28a284ba Cue markers must be centered after their text is assigned 2022-08-10 15:15:49 -05:00
df66482b89
Indicate current snapshot
Since 02b0ecdacb, the selected snapshot is no longer the currently
active one. This adds a dedicated indicator for this.
2022-08-10 03:20:29 +02:00
b5d96f0de2
Do not allow to delete the last snapshot
In case a user manually renames a session-folder and snapshot
it should still be impossible to delete the last snapshot
even if it is not named after the session-dir.

In theory this is impossible (one cannot delete the current snapshot)
2022-08-10 03:14:08 +02:00
6dc1e1f778 trigger strips: name button was intended to be colored
Gtk::Widget::modify_bg() will do nothing to a cairo widget
2022-08-09 17:36:14 -06:00
42cb321039 Amend previous commit (window settings, ignore size)
When loading a session it is preferable to use the window size from
Config's instant.xml (local machine screen sizes).
2022-08-10 01:00:29 +02:00
acf13e9498 Restore "Main" UI Tab setting from sesion instant.xml
Previously this setting was ignored. It is relevant when loading a demo
session, where initially there is no user Config instant.xml.

ARDOUR_UI::setup_windows is called directly after the engine starts, but
before the session is set.
2022-08-10 00:50:02 +02:00
bfedf7168e new GUI appearance option to offer track/bus colors (muted) as backgrounds for editor & mixer strips 2022-08-09 16:18:32 -06:00
c9446aa1e1 gtk2_ardour: set region marks into currently recording regions
Region actions are generally set insensitive whilst recording, so
special-case the "add-region-cue-marker" action by explicitly enabling it
when starting to roll in record. Additionally, the action becomes disabled
again after it's been executed, so re-enable it after queuing the cue when
recording.
2022-08-09 14:03:16 -06:00
902c36d019
Do not try to autostart engine for new users
This allows new user to select the soundcard and I/O settings
when loading demo sessions at first run, or when tricking Ardour
to open an existing session (try to create an existing session,
user may choose to load it instead).

Normally a user can only create a new session after first running
Ardour, and creating new sessions always shows the dialog (to
set the samplerate).
2022-08-08 03:50:54 +02:00
0c01c50023
Add dialog option to reconfigure audio engine when S/R mismatches 2022-08-06 22:35:01 +02:00
7408a9958e
Fix duplicate UI initialization
When loading the very first session is canceled (e.g.
sample-rate mismatch -> Do not load session) or fails otherwise,
execution returns to the startupFSM.

Loading another session after that then takes the same path again:

StartupFSM::dialog_response_handler() -> StartupFSM::engine_running()
-> ARDOUR_UI::attach_to_engine()

The call needs to be idempotent, otherwise setup_windows(),
create_editor() etc are called a second time and Ardour crashes.
2022-08-06 21:44:55 +02:00
8f9ad771b3
Display the dB value in foldback return slider 2022-08-05 01:27:57 +02:00
cef0e5d518
Define a theme-able color for foldback return widgets 2022-08-05 01:26:28 +02:00
5834728e2f
Allow to un/link foldback send panners 2022-08-05 00:56:19 +02:00
d5113e6e91
Don't crash if the click is missing 2022-08-05 00:41:37 +02:00
02b0ecdacb
Safeguard snapshot switch
Require double-click, and prompt user, before opening a session snapshot
from the sidebar.
2022-08-05 00:38:41 +02:00
67f55d7b4e
EditorSnapshots does not benefit by inheriting from EditorComponent 2022-08-05 00:14:12 +02:00
916fc4a2ee likely fix for cue-text sizing on windows 2022-08-04 13:40:06 -05:00
luz paz
47c525315d Fix various 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-08-03 12:10:01 -06:00
014c6e7850 replace INT32_MAX with CueRecord::stop_all (gui) 2022-08-03 11:42:58 -06:00
6b636b8220
AudioUnit: fix cocoa window resizing - part 2
Previously no unmap events were delivered (due to a bug in
Gtk EventBox), `lower_box_map` was called only once.

Furthermore when cross-compiling (ARM binary on Intel),
COCOA_LIVE_RESIZING was not detected.

see also df21698ea7
2022-08-02 00:22:44 +02:00
a48df667f6
Consistent stdout/err AU debug log 2022-08-02 00:22:40 +02:00
df21698ea7 Fix relative AU window sizing
Rosetta bridge plugins have an initial size of 0x0 pixel.
Ardour's AU window size is set relative to the previous size. So the
window grows by the actual real initial size of the AU View.
However the window is already allocated and has a non-zero width given
by the plugin's toolbar.

This lead to oversize windows.
2022-07-30 06:38:44 +02:00
f6630ad31c Fix tooltip for mixer scenes 2022-07-29 11:13:24 -05:00
84d6a0a75d
Copy demo sessions (if any) for new-users
* Fix demo-session glob (missing "*" + session_archive_suffix)
* Copy demo-session also when copying settings from older version
* Also add demo-session to recent-list if it was previously unpacked
  for new major versions.
2022-07-27 01:08:01 +02:00
faa1e984ab
Sort ports by name in the connnection-matrix
This should fix a long-standing issue with interleaved display
of clients since jack_get_ports() does not return a well defined order.

(Internal backends based on Ardour::PortEngine keep ports sorted)
2022-07-26 01:58:11 +02:00
2245042b85
Fix crash when adding events to disabled MIDI event-lane
In case of MIDI CC/Bend/Pressure etc events, the underlying
data is provided by a MidiTrack (is-a Automatable) and not
an automation-control.

When directly calling AutomationControl::set_automation_state,
the AC disables automation-watch using shared_from_this().
With the Evoral::Control used for MidiTrack event-lists this
results in a tr1::bad_weak_ptr.
2022-07-22 03:38:34 +02:00
85f640c31a ripple: prevent session/punch/loop markers moving during ripple-all
Locations::ripple() skips these markers when the ripple action is committed.

...but the editor moves the marker-items as a visual aid, before actually
  committing the changes to Locations()

...so the editor needs the same logic, to avoid visually inconsistent behavior
2022-07-19 12:33:33 -05:00
904491611f rippled region drags should apply on all tracks with selected regions 2022-07-19 12:33:33 -05:00
9e5fb6ea40
DnD: prefer explicit "first-move-happened" (see also 4556f55d8e)
In case of auto-scroll it is apparently possible that the
move_threshold_passed, but ::motion() is not called.

There already is an explicit _starting_point_passed variable
that is set when first_move occurred. So far it was just unused.
2022-07-18 18:41:17 +02:00
5df0e3d226 relax the requirement that Cue Markers must be quantized to the grid,
when dragging their location

* it should be possible to launch an arbitrary (non-quantized) sound
 'anytime' on the timeline

* this was already possible anyway, by switching the Grid to None
2022-07-18 11:34:57 -05:00
4556f55d8e
Fix Trim-drag abort
When no movement has occurred, TrimDrag::motion was never called
and `begin_reversible_command()` was not called. There is nothing
to undo. This fixes
`commit_reversible_command(Command*): Assertion `_current_trans' failed`
2022-07-17 16:02:53 +02:00
b9419aa405 another attempt to catch details of a rare region-gain undo crash 2022-07-16 10:01:33 -05:00
419f934ecd support group-override when starting a new Range selection 2022-07-14 17:28:07 -05:00
6089ae9314
Use group_override_inverts preference in the GUI 2022-07-14 16:37:29 +02:00
c0ec11db8e
Cleanup code, return early, don't nest 2022-07-14 01:25:06 +02:00
b4a7c8a17d
Better version of 6a57baf193
This also fixes Menu > Edit Delete "delete MIDI" operation.
Pressing backspace/delete calls "Delete Selection" which is
unrelated to MRV::cut_copy_clear.
2022-07-14 01:23:04 +02:00
2848cc5f38
Disambiguate clip/sample/slot 2022-07-14 00:06:48 +02:00
6a57baf193
Fix MIDI note cut
1. Editor::cut_copy() calls begin_reversible_command ("cut MIDI")
2. Editor::cut_copy_midi calls mrv->cut_copy_clear()
3. MidiRegionView::cut_copy_clear calls start_note_diff_command()
4. second call to  begin_reversible_command()
- debug builds assert() here, optimized builds continue
5. abort_reversible_command() is called, _current_trans = NULL;
6. MidiModel::apply_diff_command_as_subcommand()
7. Session::add_command, segfault because _current_trans == NULL

```
An UNDO transaction was started while a prior command was underway.
Aborting command (midi edit) and prior (cut MIDI)
```
2022-07-13 22:12:30 +02:00
95fceceeb4
Engine-dialog: move MIDI system to advanced (amend 0a5b62a9e1b0) 2022-07-11 21:45:55 +02:00
0b2be03196
Overhaul Engine Dialog
* Update Layout
* Move action buttons to action-area
* Hide insensitive "Control App" button
* Set MIDI device option from backend
* Hide Latency Setup in Expander by default
2022-07-11 21:45:55 +02:00
ddca042b7b
Engine Dialog: fix memory-leak, do not manage Labels
Gtk::manage only destroys managed widgets when the parent container
is destroyed. In Ardour's case this is not the case since
Gtkmm2ext::container_clear() is used to unpack/repack widgets
as required.
2022-07-11 21:45:54 +02:00
8f4aab9584
NO-OP: clang-format 2022-07-11 21:45:54 +02:00
ee63b65df8
Engine Dialog: append monitor-model option
The Monitor Model usually depends on the studio setup (hardware
mixing desk), but also to some extent on the audio interface (zero-
latency monitoring). Since a user may also use different interfaces
(e.g. with a laptop), it makes sense to expose the monitor model
preference in the engine-dialog.

NB. It is not part of the engine-state (!), but still a preference.
2022-07-11 21:45:54 +02:00
f587f7f2cd
Simplify and Cleanup New User Wizard
* Remove Monitor Model Option
* Remove Monitor Section Option

These days those can be toggled after setup, even while the
session is loaded and engine is running. There is no need to bother
a user very early on with this question about Monitoring.
2022-07-11 21:45:54 +02:00
bdf6570ea6
Engine Dialog: remove I/O channel count setting
This has no been useful since years. Both Ardour and JACK
backends always use all available ports and the setting was
only useful to "hide" excess ports.
2022-07-11 21:45:54 +02:00
2970cd4b70
Engine Dialog: move start/stop button to action-area 2022-07-11 21:45:54 +02:00
45fddc8533
Slightly improve rendering of muted regions
A fully transparent waveform (with only a semi-transparent outline)
looks very odd with all themes.

Perhaps this was a typo and the initially intended rendering was
supposed to be 31% transparent, however this is not distinguishable
from non-opaque regions (27% transparency).
2022-07-11 21:45:26 +02:00
15f67632ee CueEntry must inherit from sigc::trackable
It connects to the ParameterChanged (sigc++) signal, and to ensure automated
disconnection on object death, sigc::trackable is required in the
inheritance tree
2022-07-07 18:23:51 -06:00
28279e120f TriggerMaster must inherit from sigc::trackable
It connects to the ParameterChanged (sigc++) signal, and to ensure automated
disconnection on object death, sigc::trackable is required in the
inheritance tree
2022-07-07 17:29:55 -06:00
baeb5cbafd
Consistent mixer-scene query dialog (use Yes/No question) 2022-07-07 17:07:46 +02:00
6631273356
Fix inverted mixer-scene-clear Cancel/OK dialog response 2022-07-07 16:49:36 +02:00
effc209070
Place Pool in PBD namespace
A public class named "Pool" in the global namespace just
calls for symbol name conflicts.
2022-07-07 05:21:54 +02:00
c7ec2bbe1f
Consistent monitor-choice text
This uses uppercase like the application-name and matches the
label "Record monitoring handled by: ..."
2022-07-06 23:27:26 +02:00
8ead1439d8
Fix ruler/canvas separator
The track-header (gtk) is packed with 1px box spacing. This
is added at the top of each box (best seen by looking at the
group-tab vs track-header alignment in the editor).

However the actual track separator line on the canvas is at the
bottom of each track, aligning with the top of the next track
or automation-lane.

The first track however lacks a separator at the top, which
needs to be provided by the ruler. Once the canvas is scrolled
this ruler/canvas separator overlaps with the bottom separator of
each TAV.

Using ruler Rectangle::set_outline had various issues.
The outline extends outside the rectangle. It bled into the
video-timeline instead of the canvas' top y-axis pixel.

Also the separator was above the video-timeline, not above the
canvas. Hence a dedicated separator Line is preferable.
It also provides a consistent separator if no rulers are visible.
2022-07-06 20:50:06 +02:00
6678cd74f4 peak amplitude thread needs tempo map 2022-07-05 19:27:55 -06:00
3ea5fd5d91
Fix incorrect use of timepos_t::increment API 2022-07-06 01:49:51 +02:00
2220280776
Only create coverage frames to cover muted parts
Do not create transparent coverage frames for audible sections.
This should improve rendering of stacked region views.
2022-07-06 01:49:51 +02:00
0bd1d9bc17
Fix layered region non-playing shade (timepos_t API)
Before nutempo, ::find_next_region_boundary() used to return -1
when no boundary was found (now timepos_t::max is returned).

timepos_t::increment() returns the incremented value, not increments
the variable itself.
2022-07-06 01:49:50 +02:00
811f625623
transcode debug should not print (null) array termination 2022-07-04 18:05:49 +02:00
cbba298ca2 Remove user-visible excess colons in Preferences 2022-07-02 19:58:37 +03:00
f631f742fa remove debug output 2022-06-29 08:17:16 -06:00
09e8ba00c2
Replace ::user_double() with ::get_double() 2/2 2022-06-29 01:39:02 +02:00
fadf77e39c NO-OP: update comment to reflect the context 2022-06-28 12:24:54 -06:00
5c2831e218 tempo display: modify how we implement MidiRegionView::_redisplay() so that the width is also correctly updated 2022-06-28 12:21:44 -06:00
ecf554aa4a tempo display: basics of updating MIDI during tempo-related drag operations 2022-06-28 11:44:25 -06:00
bf87916fb1 tempo display: further simplifications to handling map changes
When a tempo map change originates from a drag, we know the required redraws have
already been done. Use a new bool member, ignore_map_change, to tell the Editor
to ignore the map change signal. For all other map changes, do the full reset.
2022-06-28 10:16:31 -06:00
32a3bf229e remove commented code 2022-06-27 22:27:15 -06:00
6dfaac9e94 redesign the mechanisms for updating tempo/meter display during drags and other map changes
We now simply move markers during drags, and do not seek to create/delete markers.

When the map is changed, we rebuild the markers from scratch. This might need optimization to avoid doing
when the editor itself changed the map.
2022-06-27 22:21:27 -06:00
602a029773 tempo curves: fix width so that the curve from the Nth marker does not overlap the Nth+1 2022-06-27 22:21:27 -06:00
65956407bb
Fix initial display of markers that are glued to BeatTime 2022-06-28 02:55:53 +02:00
b0738b1950
Fix tempo-marker/curve z-axis stacking
Previously it was possible that the tempo-curve display was rendered
above a tempo-marker (e.g. create a marker in the between of existing
markers). With the tempo-curve in front, markers on the right
became inaccessible.
2022-06-26 16:20:00 +02:00
944b0ed6e0
Prefer const iterators when container does not change 2022-06-26 13:55:46 +02:00
c3f40aedeb tempodisplay: fix thinko in display of tempo/meter/bartime markers
Code used to just push back new markers to the end of the relevant list, and
this would then the new marker to be deleted soon thereafter. Instead pass
an interator indicating where to place the marker in the list.

Note that we rely on the use of std::list<T> here to keep the iterator to the
existing marker valid.
2022-06-25 22:26:34 -06:00
7b7f17085b
Fix crash when using get_all_equivalent_regions wih VCAs in a session 2022-06-22 22:22:52 +02:00
e8e21b3152 NOOP: fix comment for abort-after-fatal to follow norms 2022-06-22 13:31:08 -06:00
3245a89bfe add comment explaining non-idiomatic C++ 2022-06-22 13:31:08 -06:00
b2d553cc51 editor: fix HitCreateDrag to (a) not crash (b) use the right length (c) snap correctly 2022-06-22 13:31:08 -06:00
1de542120a editor: remove a couple of unnecessary uses of Beats::from_double() and uses ::ticks() method instead 2022-06-22 13:31:08 -06:00
22e77130e2 use new macros to cleanup #ifndef NDEBUG as much as possible (GUI edition) 2022-06-22 13:31:08 -06:00
4fd676aad5 fix optimized build buffer size/snprintf warning 2022-06-22 13:31:07 -06:00
a78fbf919d fix optimized unused variable warning 2022-06-22 13:31:07 -06:00
fc1a0140a3 fix may-be-used-unset warning 2022-06-22 13:31:07 -06:00
5a0767bd7b fix may-be-used-unset warning 2022-06-22 13:31:07 -06:00
02b77ca88a better fix for CURL debugging unused variable warning 2022-06-21 17:36:26 -06:00
e1f9d28d6a fix unused code warning 2022-06-21 17:32:50 -06:00