13
0
Commit Graph

15608 Commits

Author SHA1 Message Date
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
48ab542ffa fix signed/unsigned warning 2022-06-21 17:32:27 -06:00
5bc7c26d9b fix unused variable errors 2022-06-21 17:32:09 -06:00
4b11b2ba28 remove unused item 2022-06-21 16:55:29 -06:00
d47b581cbb remove RegionRippleDrag
This used to be a distinct kind of drag, but ended up being refactored into
something that happens during a regular drag. Has not been used in quite some time.
2022-06-21 15:52:16 -06:00
9ae9282547
Use abstract group_override_modifier instead of hardcoded modifiers 2022-06-21 21:38:41 +02:00
0cc9f87baf continued work on modifier semantics (gtk part)
more implementations of group_override_event() and momentary_push_event()
2022-06-21 13:01:30 -05:00
f5866c1dee
Fix video-file audio extraction on big-endian systems 2022-06-20 16:16:25 +02:00
df518cba3c
Don't show blank MIDI Port Config page when no MIDI devices are present 2022-06-20 16:04:59 +02:00
4acd63b2ef fix uninitialized variable (detected with valgrind) 2022-06-18 12:37:39 -06:00
64c8607ffd midi streamview: fix crash when switching playlists
We need to delete all existing region views before we redisplay the track. This
was removed as part of an "experimental performance optimization" in 4f7a4cd233
but playlist switching is a rare and non-performance limited operation
2022-06-18 08:28:31 -06:00
ca744cd94a tooltips: append 'Lock' to Solo Safe menu-item, to match mixer-strip button 2022-06-17 11:08:04 -05:00
1965e90c24 tooltips: enumerate the various modifiers for mute, solo, scenes
TODO: monitor buttons, maybe more
2022-06-17 11:07:58 -05:00
9a6533c382 modifiers: unconditionally show the solo context menu
* accessing solo-isolate from the context menu is the preferred way
* some route_uis (like track headers) do not have solo isolate buttons
2022-06-17 11:07:58 -05:00
88888237ac modifiers: remove shortcut for solo isolate
* you should not be able to invisibly change a solo 'mode' from a modified click

* we want to use shift+click for momentary operation, anyway
2022-06-17 11:07:58 -05:00
a92af7768d modifiers: implement is_momentary_push_event for momentary buttons (gtk2 part) 2022-06-17 11:07:58 -05:00
86ddb11b9b
Fix displaying note events across tempo-changes
Note position in samples must be calculated using absolute position
on the timeline. Otherwise the tempo-map is not applied correctly.

Previously this caused issues since the position was first
offset back by _region->position() - time relative to region left
edge - and then the tempo-map was applied.

Another solution identically would be:
(note_start + session_source_start).samples() - _region->position().samples()
2022-06-17 17:07:47 +02:00
7724af1850 remove debug output 2022-06-16 22:34:59 -06:00
2f6047e000 tempo display: remove dangling unconditional call to reassociate markers 2022-06-16 22:14:43 -06:00
cdf98a1bd7 tempo display: when the tempo map changes, avoid unnecessary work
If the initial tempo marker is referencing a point in the new map, assume that
all markers have already been associated with the map.
2022-06-16 22:09:53 -06:00
3482d6db4e tempo display: when reassociating markers, use sclock equivalence
Since we're reconnecting visible marker objects with a new map, there's a good
chance that the map will contain map points that don't correspond to the map
points currently referenced by those markers. Thus, tests for address
equivalence will often fail.

Instead, repeat what has been done elsewhere and use the heuristic that we only
allow one point of a given type at the same superclock position.
2022-06-16 22:07:21 -06:00
8f7a267900 tempo display: when tempo map changes, metric markers must be reassociated with the new map 2022-06-16 12:58:03 -06:00
2f02b809e7
Fix save/restore of Insert-At position
UIConfig insert-at-position saves/restores the enum as integer.
This is used directly as parameter for insert_at_combo.set_active().
For this to work, the enum needs to match the order of elements
in the dropdown.

It would be preferable to register the enum, and map the
dropdown entries, but for now this does the trick, without
breaking existing UIConfigs.
2022-06-15 02:41:50 +02:00
5d10fd84eb
Reduce mixer redraws, and fix scrolling to newly added tracks
PresentationInfo::Change (Properties::selected) is emitted and
handled before Mixer_UI::add_routes() is called. At that point
in time the MixerStrip(s) to be selected may not exist.
Visual selection state was lost.

Furthermore move_stripable_into_view() calling translate_coordinates()
only works after GTK has completed the resize operation.
This lead to the mixer scrolling back to the left edge when creating
new tracks.

Also each selection change caused all tracks to be re-packed.
Now redisplay_track_list() is only called if visibility or order
changes. This signficanly improves performance with large sessions.
2022-06-15 02:41:45 +02:00
2e2a4be3b2
Fix windows debug builds (SIGUSR1 is POSIX only) 2022-06-14 17:12:30 +02:00