Robin Gareus
425cdb7e48
GUI: use new preroll-rec + trim mode
2017-01-19 13:05:54 +01:00
Robin Gareus
ebdf3de598
Remove rec-with-preroll, prepare for rework
2017-01-19 13:05:54 +01:00
Robin Gareus
22eae69078
Remove Editor API to calc preroll duration
2017-01-19 13:05:54 +01:00
Robin Gareus
ef64c7ba19
Promote the preroll_seconds config option to include musical time:
...
Interpret negative preroll time as bars
2017-01-18 23:47:50 +01:00
Robin Gareus
d650b3c292
prepare for musical-time preroll
2017-01-18 17:31:42 +01:00
Robin Gareus
645402bc42
Add GUI action to record with preroll
2017-01-18 15:16:05 +01:00
Ben Loftis
75c029f65f
Support repeated jump-backward-to-mark while playing.
2017-01-12 11:51:43 -06:00
nick_m
d0580ecfbc
allow all types of range location (loop, start, end etc.) to be glued to bars and beats.
2016-12-29 01:39:31 +11:00
Ben Loftis
3e214eb4ea
Tweak behavior of Play-With-Preroll action
2016-12-19 13:14:44 -06:00
Ben Loftis
628c99d555
Follow Edits => Follow Range
...
* "Follow Edits" button had several behaviors that confused users.
* "Follow Range" only has 2 behaviors:
** Click anywhere in Range mode (or Smart mode) to locate the playhead.
** When you select a Range, "Play" will play the selected range.
2016-12-19 13:14:44 -06:00
Tim Mayberry
89623923bd
Change Zoom to Selection action (Z key) to zoom on both axes
...
Add Zoom to Selection (Horizontal) action to access previous behavior.
Remove Editor::temporal_zoom_region as it was duplicate code and broken for
both_axes
Should Resolve : #7112
2016-12-13 12:25:03 +10:00
Tim Mayberry
6b8cadef01
Don't move the Range Selection after performing Multi Duplicate
...
This is necessary for a single Duplicate so you can keep duplicating but it
doesn't make sense to move it for Multi Duplicate.
2016-12-06 14:06:18 +10:00
Robin Gareus
0d3c2a9dbf
Speed up track deletion when Editor-Mixer is visible
2016-11-28 15:36:04 +01:00
Tim Mayberry
73f3e479d3
Make Cut mode respect snap modifer
2016-11-21 22:19:56 +10:00
Tim Mayberry
37a7d87786
Use the frame corresponding to the current mouse position when zoom dragging
...
Editor::mouse_frame only works within the track canvas. If a zoom drag is
initiated and the mouse cursor goes outside of the track canvas the zoom
position should still based on the current x position of the cursor.
2016-11-11 14:13:53 +10:00
Tim Mayberry
9485748e17
Change Editor temporal zoom methods to be able to use different scale for the zoom
2016-11-11 14:13:53 +10:00
Robin Gareus
9990da35d8
prevent crash during track-deletion (un-selecting deleted tracks)
2016-11-10 23:20:58 +01:00
Ben Loftis
9a9a9f9eac
Track Add/Remove Time dialog improvements:
...
Add a clock to show the position of the edit, to remove ambiguity
If a Range is selected, pre-fill the position and length clocks
Clock format should default to the editor's secondary clock mode
2016-10-20 16:02:18 -05:00
Paul Davis
67540ad0f5
add explicit "duplicate-regions" action
2016-09-27 14:59:31 -05:00
Paul Davis
9c2a517cb0
don't get into nested run loops if quantize is reinvoked (e.g control surface) while already in progress
2016-09-27 14:59:31 -05:00
Paul Davis
3f95b5ac19
closing the normalize dialog should not run normalize ( #7016 )
2016-09-09 19:15:10 -04:00
Paul Davis
673e580726
fix WM close handling for session lock dialog ( #7017 )
2016-09-09 19:09:15 -04:00
Paul Davis
400f38c721
single action punch in
...
Consecutive execution (e.g. from a control surface button) engages punch in, then punch out, then clears both.
Patch by Nathan Stewart
2016-08-27 19:57:40 -04:00
Paul Davis
e8427ee2cb
GUI does an even stronger check on no undo/redo while recording
2016-08-17 19:22:26 -04:00
nick_m
a7032917b1
Remove assumption that the meter starts at frame 0 in Editor::apply_midi_note_edit_op_to_region().
2016-08-14 04:49:37 +10:00
Nathan Stewart
5b4584ad94
Add "Marker Toggle" #5193
2016-08-13 16:07:16 +02:00
Robin Gareus
836693036a
add RMS region normalization option
2016-08-13 14:50:59 +02:00
Paul Davis
6a4fb58384
fix thinko that causes near duplicate menu items in group context menu when not in group tabs
2016-08-08 23:36:33 +02:00
Robin Gareus
ac8f4baa00
add some flush_pending timeouts
2016-07-25 14:51:23 +02:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Paul Davis
fc06525bb2
two more places where the user can explicitly set the session end now also make the end non-free
2016-07-12 12:31:02 -04:00
Paul Davis
774ad0752a
GUI side of : once the user has explicitly set the session range end, playlist/range changes do not move it.
...
The user may drag the marker, edit in the Location UI, or use nudge, to set the end
2016-07-12 11:19:49 -04:00
Robin Gareus
140258d8ab
remove reference "const int32_t&" -> const int32_t"
...
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
2016-07-10 15:30:41 +02:00
nick_m
0bdbe56cf1
Stop passing references to things that may disappear when a metric section is replaced.
2016-07-10 02:18:37 +10:00
nick_m
93c24e4433
Paste uses exact beats. rework _start_beats calculation in copy-with-offset ctor.
2016-07-10 02:18:36 +10:00
nick_m
94e0a15325
Exact beat - provide audio->music mapping for region split.
...
- for those not in the know, this series provides a way to
remove the temporal distortion introduced when using an
audio frame-based gui for music-locked objects.
In short, the gui uses an audio frame representation to move
objects. It displays the object using frame_at_beat(), quantizing
the time value to audio frames. This is fine until the user selects
that frame but expects it to be interpreted as a beat.
Thus beat_at_frame() would not produce the user-expected beat
(temporal quantization error of up to 0.5 audio samples).
This is one method of mapping audio time to music time accurately.
2016-07-10 02:18:36 +10:00
Paul Davis
f1d9dbf359
fix behaviour of select_(next|prev)_route() in editor, when VCAs are present.
2016-06-10 13:57:19 -04:00
Paul Davis
6baac7d46f
various safety checks for the result of dynamic_cast-ing a TimeAxisView to RouteTimeAxisView
...
Now that we have VCATimeAxisView, this needed to be done, but it also potentially applied with automation
2016-06-02 08:42:58 -04:00
Paul Davis
d30266dfc3
use new record safe control in GUI
2016-05-31 15:30:45 -04:00
Paul Davis
e0ff70cf86
first vaguely working version using PresentationInfo
...
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
Paul Davis
653ae4acd6
universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
...
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
nick_m
aad7b129b6
Tempo ramps - rename meter/tempo_section_at() -> meter/tempo_section_at_frame()
2016-05-27 23:38:18 +10:00
nick_m
baf8f37967
Tempo ramps - rename meter_at() -> meter_at_frame() & make the ticker slightly more efficient.
2016-05-27 23:38:17 +10:00
nick_m
074db3b861
Tempo ramps - more code consolidation wrt add meter/tempo.
2016-05-27 23:38:16 +10:00
nick_m
2d3d7a5355
Tempo ramps - fix ambiguous api, fix flickering tempo curves.
2016-05-27 23:38:16 +10:00
nick_m
618a391346
Preformance - reinstate EditorRegions::freeze_tree_model ().
2016-05-27 23:38:14 +10:00
nick_m
a53d94c3d0
Perfornamce - remove dubious optimisation.
2016-05-27 23:38:13 +10:00
nick_m
58d4889ad3
Tempo ramps - music-locked meters now use beats rather than pulses as their reference.
...
- fixes many problems with a non-zero audio-locked first meter.
2016-05-27 23:38:12 +10:00
nick_m
a2495cdff3
Tempo ramps - fix more namespace confusion
2016-05-27 23:38:10 +10:00
nick_m
5c6e18e6a0
Tempo ramps - remove the concept of bars from tempo sections.
...
- this helps where tempo and meter have a somewhat circular
dependency.
MetricSection now has a musical position expressed in beats (a double).
MeterSection still has a bbt, but it really isn't needed as we have
enough information to discover the number of bars at a given beat without it.
TempoSection now has a hack to enable loading of legacy sessions, which will
ultimately be a lot cleaner than the current code.
Removing bars from tempo sections also allows us to place them
at arbitrary frames (implemented here).
2016-05-27 23:38:09 +10:00