Commit graph

17572 commits

Author SHA1 Message Date
Robin Gareus
fb07b8b57c
Transfer Cue State from ArdourUI 2024-11-10 23:27:34 +01:00
Robin Gareus
c815ffcdb3
Transfer Monitor Box from ArdourUI 2024-11-10 23:27:33 +01:00
Robin Gareus
e0e0eb09f3
Transfer indicators from ardour_ui 2024-11-10 23:27:33 +01:00
Robin Gareus
c808deae46
Transfer Transport Clocks to Transport Bar 2024-11-10 23:27:33 +01:00
Ben Loftis
1cc8b8ae5b
TransportClocks can do some of their own housekeeping 2024-11-10 23:27:33 +01:00
Ben Loftis
bf3fc3f92a
Add Transport Clock widgets that reflect the canonical ones in ArdourUI 2024-11-10 23:27:33 +01:00
Robin Gareus
1641be9f7a
Transfer from ardour_ui (pack ARDOUR_UIs clocks) 2024-11-10 23:27:33 +01:00
Ben Loftis
efbb222277
Transfer from ardour_ui (follow, auto return) 2024-11-10 23:27:33 +01:00
Robin Gareus
723aa8461b
Transfer from ardour_ui (PDC controls) 2024-11-10 23:27:33 +01:00
Ben Loftis
97791de333
Transfer from ardour_ui (punch, rec-mode and labels) 2024-11-10 23:27:33 +01:00
Ben Loftis
7b75c6f8de
Transfer from ardour_ui (sync and shuttle) 2024-11-10 23:27:33 +01:00
Ben Loftis
1557e41f5e
Transfer from ardour_ui (transport_table) 2024-11-10 23:27:32 +01:00
Ben Loftis
b9d173c17a
Initial implementation of TransportBar 2024-11-10 23:27:32 +01:00
Paul Davis
0254e7e6b0 removed unused optimization iterator from GhostRegions 2024-11-10 13:45:13 -07:00
Paul Davis
cdf88efeff fix crash caused by VelocityDisplay _optimization_iterator
Never use the _optimization_iterator when looking for a note to update or select
because those two conditions may be preceded by note add/delete operations (including
those via undo/redo) which would make the iterator invalid.

The _optimization_iterator only makes sense when actually iterating over the event list,
which is ironic because that's the one time we don't need it
2024-11-10 12:44:05 -07:00
Paul Davis
96ef4d20f2 when recording MIDI, create active_notes on demand
Since the signal handler for "data recorded" is in the GUI thread, we can do
whatever we want there, including memory allocation
2024-11-09 09:20:25 -07:00
Paul Davis
a7bd0da8ea fix missing initialization 2024-11-09 09:19:01 -07:00
Paul Davis
a76afae0e9 use smaller ("very small") text for rulers on macOS
This fixes a years-long visual issue with the rulers on macOS, where the
text has been MUCH larger than on Linux (and maybe Windows, not sure)
2024-11-08 17:16:12 -07:00
Paul Davis
8196734e3f change references to what was "very small text" to "smaller text";
This is more consistent with the naming of the font size for the canvas
via wscript.

Also, provide the new "very small" font size.

Also, several styles defined in clearlooks.rc.in used spaces in
font names or derived styles instead of underscores, this fixes that.
2024-11-08 17:14:33 -07:00
Paul Davis
c08cfa8109 more work on multiple automation display 2024-11-08 12:16:09 -07:00
Robin Gareus
c8b2c0c543
Fix crash looking up smart-mode
we need to call
  get_toggle_action (char const*, char const, bool d = false)
and not
  get_toggle_action (const string& name, bool)

For whatever reason `(string, char*)` matches the latter
function's signature.
2024-11-08 19:15:46 +01:00
Paul Davis
bbdb6b0e63 more extensive automation display design for cue editor 2024-11-07 16:10:31 -07:00
Juan Vardy
f2fc5fc0dc
Update Spanish translation 2024-11-07 17:51:11 +01:00
Alejandro Domínguez
1124e191f0
Replace boost::integer::gcd with std::gcd 2024-11-06 23:08:36 +01:00
Zabooma
1155da84dd
Add text control type for LuaDialog, based on Gtk::TextView 2024-11-06 16:39:00 +01:00
Robin Gareus
a76d4b4c82
Fix class/struct mismatch (can cause with Windows builds) 2024-11-06 05:43:25 +01:00
Robin Gareus
02fde5f1aa
Fix unlikely buffer overflow #9845
> warning: 'sscanf' may overflow; destination buffer in argument 6
> has size 32, but the corresponding specifier may require size 33
> [-Wfortify-source]
2024-11-06 04:08:19 +01:00
Paul Davis
b3a22a024c add more buttons to midi cue editor and use Canvas::Box for packing 2024-11-05 14:59:20 -07:00
Paul Davis
19e4063b6b add a button bar and 1 button at the bottom of the MidiCueView 2024-11-05 13:27:22 -07:00
Paul Davis
61f1466f50 use virtual methods to get MidiRegionView to do ::set_model() correctly 2024-11-05 13:27:22 -07:00
laIK4ndPDScproJyv9ofA
f0ec6b5bda
Redraw arrangement rectangles upon tempo change
Previously, changing tempo would leave arrangement rectangles out of sync with markers.
2024-11-03 15:15:35 +01:00
Robin Gareus
1b13bf607f
Micro optimization: only queue resize when widget is realized 2024-11-03 02:49:51 +01:00
Paul Davis
57252cd1c7 clip recording: begin/end write only happens on trigger arm/disarm 2024-11-01 17:45:00 -06:00
Paul Davis
56c99a43d2 remove any existing data display from a MidiView when ::begin_write() happens 2024-11-01 17:45:00 -06:00
Paul Davis
0631f99f15 add ability to change stop-on-grid from Preferences 2024-10-31 12:22:35 -06:00
Paul Davis
8986768731 fix invisble notes in MidiRegionView after transport stopped-recording
MidiCueView needs an _active_notes array setup when it is assigned a track that is
already rec-enabled, because we can start clip recording without session record-enable
being active.

MidiRegionView does not need this; it uses session rec-enable status to create or delete
_active_notes (also transport stop, sometimes)
2024-10-31 12:22:35 -06:00
Paul Davis
c7192b4cc0 add the concept of a length that is data-independent to MIDI files (GUI) 2024-10-31 12:22:35 -06:00
John Emmas
42602e0329 Add an alternative #include
Having removed boost::function.hpp we need to replace it with gtkmm2ext/actions.h - otherwise, glibmm/refptr.h can't make sense of the type 'Gtk::ActionGroup' (go figure...)
2024-10-26 14:50:22 +01:00
Paul Davis
e11caf2dea various changes to get MIDI clip recording to display the post-capture region 2024-10-22 14:49:50 -06:00
Mads Kiilerich
7a4fe02d53
wscript: waf i18n is usually running pot&po&mo and should thus also run appdata_i18n_mo 2024-10-22 00:37:40 +02:00
Mads Kiilerich
6742c1e4b4
wscript: waf i18n should generate gtk2_ardour/appdata/ardour.appdata.pot when invoking appdata_i18n_pot 2024-10-22 00:37:40 +02:00
Robin Gareus
b5d6b97fd2
Keep inline control state in sync with editor-mixer 2024-10-22 00:36:50 +02:00
Mads Kiilerich
3228a61e62 wscript: the i18n worker functions do not define the i18n waf commands
Rename the worker functions to make it clear that their name in this
case isn't magic. These functions "are not" the waf commands. It is the
custom build context class definitions that define the i18n commands ...
which will invoke these top level worker functions which in turn invoke
the others recursively.

The bare printing of the build environment in the top level i18n command
seems to be old debug code that safely can be removed.
2024-10-20 19:52:14 -06:00
Mads Kiilerich
48fcb30608 wscript: fix whitespace formatting
No tabs and no trailing spaces.
2024-10-20 19:52:14 -06:00
Mads Kiilerich
b4ff4f356c Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
Mads Kiilerich
955e634371 Make header files more self-contained - add missing std includes 2024-10-20 03:11:53 +02:00
Mads Kiilerich
8a5f21d8e3 Drop some unused files - avoid trying to maintain stuff that can't be tested 2024-10-20 03:11:53 +02:00
Mads Kiilerich
140670541f Use .inc.h for #include files that not are plain headers
Regular .h files *should* be self-contained and independent of previous
includes and guarded to only include once. Make it clear which files
that *doesn't* apply for at all.
2024-10-20 03:11:53 +02:00
Mads Kiilerich
38db12c9ea Drop Frontier Tranzport surface - it has been dead for a decade 2024-10-20 03:08:03 +02:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00