Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This is a common operation used for zooming in other DAWs like Ableton Live and
Cubase. To support such a usage pattern without changing the existing behaviour
of the ruler area I've made it an option that is false by default.
The behaviour of RulerDragZoom is intentionally different than a CursorDrag
that occurs in the rest of the ruler area in that it doesn't follow the snap to
grid setting and no locate related stuff occurs until button release.
There are some issues with responsiveness with more than a few hundred regions
or a large amount of MIDI events/notes.
Implements feature #6768
|
|
the zoom
|
|
- when the timeline displays many bars, zoom/autoscroll
speed is improved by calculating the bbt ruler scale first
then requesting a suitably scaled grid.
|
|
|
|
|
|
Consecutive execution (e.g. from a control surface button) engages punch in, then punch out, then clears both.
Patch by Nathan Stewart
|
|
|
|
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
|
|
ctor.
|
|
- 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.
|
|
|
|
selection
|
|
audio basis for non-musical snap.
|
|
|
|
fix up part of reordering behaviour
Dragging tracks/busses in the editor *below* VCAs still does not work
|
|
|
|
|
|
|
|
remote control ID and "order keys" have been removed.
|
|
- display prev tempo and tempo at mouse while dragging
- simplify ramp dilation somewhat.
|
|
constraint modifier dilates previous tempo.
|
|
|
|
|
|
|
|
|
|
- all a bit slow, but should be ok once we can lock
markers to frames.
|
|
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.
Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.
Many things seem to work, but their accuracy should be in question until
each area has been addressed.
|
|
opening a recent session from a session can result in: Editor::constructed
and session_loaded() being true. A partial instant_save can occur (not
to mention: invalid XMLnode iterators)
|
|
|
|
|
|
This functor/closure is responsible for stealing focus from any existing text entry (or whatever else may have focus)
when clicking on a CairoWidget or derived class.
The old implementation just gave focus back to the editor canvas. The new version walks up the widget packing
heirarchy to find a focusable parent (from the CairoWidget for which it is invoked). If no focusable parent
is found, it cancels keyboard focus in the toplevel window containing the CairoWidget
|
|
|
|
|
|
|
|
This had become incoherent over time, and posed a development hazard and burden going forward
|
|
|
|
|
|
lookup from binding definition
We need this because we need binding information/objects before all
Actions have been defined.
|
|
|
|
This removes the ability to change bindings via menus.
Still to come: saving modified bindings, and reworking the key editor
|
|
We don't need this functionality anymore as we build on 15 years experience plus the new tabbed structure
|
|
keyboard accelerators
|
|
|
|
|
|
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
|
|
Add mark_in and mark_out actions that explicitly use the playhead as the edit location.
|
|
|