Commit graph

37949 commits

Author SHA1 Message Date
Paul Davis
3fa15d9162 skeleton for launchpad pro support 2023-08-30 16:06:13 -06:00
Paul Davis
6c44dbf9d6 temporal: a guess at how to use BBT markers from within TempoMap::paste()
Basically, if the paste position is not zero and not on a bar line, we will a BBT marker there,
using the existing tempo & meter at that position before the paste.

If the end of the paste is not on a bar line, we will place a BBT marker there,
using the tempo & meter that existed before the paste.

TempoMap::paste() now also accepts an optional final argument that if provided is
used to name the BBT markers, if they are created
2023-08-30 15:21:55 -06:00
Robin Gareus
7997c83b01
Allow to edit arrangement label in sidebar 2023-08-30 23:04:39 +02:00
Paul Davis
44e1de4261 no warning dialog about tempo map cut/copy/paste
Left in place since it may come back in a different form
2023-08-30 14:16:21 -06:00
Paul Davis
7aa1863c0f somewhat working tempo map cut/copy/paste 2023-08-30 14:16:21 -06:00
Paul Davis
076320430a assert() that the tempo & Meter markers associated with a BBT marker exist 2023-08-30 14:16:21 -06:00
Paul Davis
a5055a2227 various changes related to tempo map copy/cut/paste section
Tempo map is currently still excluded from the editor operation
2023-08-30 14:16:21 -06:00
Paul Davis
2e08ff01f5 temporal: add TempoMapCutBuffer::empty() 2023-08-30 14:16:21 -06:00
Robin Gareus
797c362500
Fix segfault when undoing marker deletion
find_location_markers() may return NULL.
This also consolidates code from acc55083e5
2023-08-30 20:46:20 +02:00
Robin Gareus
aaff022fd2
Fix typo in dbda07f6b7 2023-08-30 19:40:19 +02:00
Robin Gareus
affea2b83b
NO-OP: remove reducant code 2023-08-30 18:31:13 +02:00
Robin Gareus
dbda07f6b7
Update Markers when Location flags change
Since b66e12610 there is a dedicated Marker type for
Section/Arrangement so changing location flags may need to
update the Marker type.
2023-08-30 18:27:21 +02:00
Ben Loftis
366e84e10e arrangement ruler: theme tweak 2023-08-29 23:06:42 -05:00
Ben Loftis
54c713c794 remove another instance of time-domain icon 2023-08-29 23:02:05 -05:00
Ben Loftis
acc55083e5 arrangement ruler: aesthetic changes 2023-08-29 23:02:05 -05:00
Ben Loftis
b66e12610b arrangement ruler: create Section marker type, so we can customize it a bit 2023-08-29 23:02:05 -05:00
Ben Loftis
14792a0aee arrangement ruler: move arrangement ruler to the bottom 2023-08-29 23:02:05 -05:00
Ben Loftis
2e9432e281 amend 2f16: cue markers should be reparented to their own ruler lane 2023-08-29 23:02:05 -05:00
Robin Gareus
c5d4a0c172
Amend previous commit (initial marker group) 2023-08-29 22:03:16 +02:00
Robin Gareus
2f16f87e4f
Do not re-parent ruler markers depending on ruler visibility
Previously CD-markers and Arrangement-markers were shown
in the default Maker ruler when CD or Arrangement ruler
were hidden.

This also fixes a bug that could result in marker-labels
being cut short. Editor::update_marker_labels calculates
overlap with other markes in the same group; but re-parenting
did not update the sorted_marker_lists[group] index.
2023-08-29 21:53:50 +02:00
Robin Gareus
24ae92ce1e
Consistently use Mark (not Range) for Arrangement markers
Otherwise changing the marker type will cause inconsistently
rendered marks
2023-08-29 17:00:24 +02:00
Robin Gareus
a14f216f3e
Highligh ranges in arrangement ruler 2023-08-29 00:34:29 +02:00
Robin Gareus
6b8c7292a5
Do not use session-range as implicit section 2023-08-29 00:29:06 +02:00
Robin Gareus
2f6a0abf04
Use "Arrangement" in GUI instead of Section
Reserve Section for time-selection without track selection
2023-08-28 21:02:43 +02:00
Robin Gareus
498c113750
Increase blueberry-milk tooltip contrast 2023-08-27 20:46:39 +02:00
Ben Loftis
32b18073e8 more enforcement of left->right freehand drawing (fixes velocity drawing) 2023-08-27 10:43:47 -05:00
Paul Davis
8c9b6812d7 fix crash during tempo mapping
Region _length values are not stashed during tempo mapping
if the region is already in the intermediate time domain, so do
not assert when they cannot be found at the end of the operation
2023-08-27 09:41:47 -06:00
Robin Gareus
40719ec67d
Section Arranger: overhaul selection and keyboard interaction
* clear treeview selection when time selectoin changes
* act on key-down for consitency, also helps with properly
  prpagating shortcuts
2023-08-27 16:50:28 +02:00
Ben Loftis
b92e3e6695 move Range Properties to bottom of sidebar, to avoid juggling the Section items around 2023-08-27 08:38:07 -05:00
Robin Gareus
1f6db3a865
Add context menu to Section Arranger 2023-08-27 15:20:54 +02:00
Ben Loftis
c199e9a99d UF8: do not expect a response from the handshake request 2023-08-26 17:34:04 -05:00
Ben Loftis
8fd8eaa01d UF8: parameterize the device name and pass to MackieControlProtocol 2023-08-26 17:34:04 -05:00
Paul Davis
845600b261 fix off-by-one pixel error caused by using floor() instead of round() 2023-08-26 10:07:41 -06:00
Robin Gareus
1f772d30d3
Update Location UI to include section marker flags 2023-08-26 15:10:40 +02:00
Robin Gareus
3aadf2daf0
Add Section Arranger to Editor sidebar 2023-08-26 14:09:54 +02:00
Robin Gareus
9c984fc2ad
Add dedicated Section Ruler and UI for section boundary markers 2023-08-26 14:09:53 +02:00
Robin Gareus
46a916f0b4
Add method to query sections 2023-08-26 14:09:53 +02:00
Robin Gareus
6cf2659f8b
Add Location flags to define sections 2023-08-26 14:09:53 +02:00
Robin Gareus
c084c9dbfa
NO-OP: clang-format utils.cc 2023-08-26 14:06:33 +02:00
Robin Gareus
09e82c1607
Move format_position to utils
This will allow other places to reuse this method.
2023-08-26 14:06:33 +02:00
Paul Davis
32ef2d5a0f temporal: add a music-time (BBT) point at the cut site 2023-08-25 17:39:00 -06:00
Paul Davis
4d8ba938f1 temporal: during cut(), break out of loop once we pass the end time 2023-08-25 17:39:00 -06:00
Robin Gareus
848f74d803
MCU/UF8: Fix issue with windows build
Enable Surface, show GUI, disable surface. repeat.
Previously this cased a crash in glibmm:

The type name `glibmm__CustomBoxed_N13ArdourSurface6NS_UF86Button2IDE'
has been registered already.
2023-08-25 21:08:14 +02:00
Paul Davis
c6b43155bc gain-like automation controls need to use the right limits for group value setting 2023-08-25 12:23:44 -06:00
Robin Gareus
4f7bd872be
MCU/UF8: use dedicated ctrl-protocol 2023-08-25 18:12:35 +02:00
Robin Gareus
c0366a5f13
MCU/UF8: Continued work to special case Mackie surface
* Use dedicated port-names for UFx
* Do not show SSL-UFx device-info files in MCU
* Fix Window namespacing/missing symbols
* Address Windows ambiguous symbols (Button, Surface)
  Those used to have a Mackie:: prefix, now they need
  MACKIE_NAMESPACE

When re-opening the GUI, there is still a somewha mysterious warning:
```
glibmm-WARNING **: file value_custom.cc: (Glib::custom_boxed_type_register): The type name `glibmm__CustomBoxed_N13ArdourSurface6NS_UF86Button2IDE' has been registered already.
```
2023-08-25 18:09:27 +02:00
Robin Gareus
70a4f29c59
Fix location ripple when cutting locations 2023-08-25 04:01:58 +02:00
Robin Gareus
f38a984396
Fix deadlock when undoing Location removal 2023-08-25 03:36:04 +02:00
Robin Gareus
efcef70d9a
Ensure that fatal does exit
Previously it was possible to just press "Esc" which closes the
dialog with Gtk::RESPONSE_DELETE_EVENT and Ardour continues
to run (and may or may not crash later).
2023-08-24 20:00:45 +02:00
Ben Loftis
ec365820d8
MCU/UF8: reuse and special-case Mackie ctrl surface for SSL-UF8
This adds a unique namespace to the MCU source code, so it can be
compiled multiple times resulting in different ctrl surfaces.
2023-08-24 19:19:10 +02:00