bc1a7ec9e5
deal with end-of-step-editing in a better way
2018-12-22 16:48:16 -05:00
126def9e1a
make StepEntry into a singleton.
...
More work to follow to clean up the details, and more comments to
explain the relationship between StepEntry and StepEditor.
2018-12-22 14:45:44 -05:00
ccddc0db3a
Fix some small memory leaks (GUI)
2018-01-27 15:44:59 +01:00
7db12f6b12
convert codebase to use Temporal for various time types
2017-09-24 12:03:54 -04:00
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
nick_m
59daffea1d
rework snap
...
snap now fills in a struct (MusicFrame) which contins a snapped frame
along with a music divisor.
this gives useful information wrt magnetic snap which may or may not
have rounded to an exact musical position.
region position may now be set musically (using quarter notes for now).
this patch fixes several problems in the current code:
- dragging a list of music-locked regions now maintains correct
musical offsets within the list.
- splitting regions using magnetic snap works correctly (#7192 )
- cut drag should now work correctly with magnetic snap.
- musical length of split midi regions is no longer frame based.
2017-02-04 22:57:36 +11:00
nick_m
5c2ccc4f3e
Allow negative return in TempoMap::beat_at_frame() and its exact_ variant.
...
- audio-locked midi regions can be start-trimmed properly
when close to 1|1|0
- a midi region placed before the first meter
will continue the tempo curve and first meter.
Only a couple of callers require change, as bbt_at_beat() already
deals with this.
2016-08-14 03:04:53 +10:00
nick_m
2d5238d875
Make some musical operations on music-locked regions operate in beats.
...
- use exact beats to determine frame position.
- see comments in tempo.cc for more.
- this hasn't been done for split yet, but dragging and
trimming are supported.
2016-07-10 02:18:36 +10:00
nick_m
03ea905b86
Step edit cursor no longer assumes constant tempo.
2016-06-08 02:45:40 +10:00
541a419cfe
fix unused variable warning
2016-05-31 15:30:45 -04: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
8f3bc6f809
Tempo ramps - rename tempo_at() -> tempo_at_frame().. 3 decimals for the audioclock tempo display.
2016-05-27 23:38:17 +10:00
nick_m
dbfe991cd8
Tempo ramps - fix changing from const to ramp in the gui.
...
- also fixes some midi mouse over problems
- start using replacements for frames_per_bar() frames_per_beat() etc.
2016-05-27 23:38:09 +10:00
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
cba7d37107
fix various issues when deleting midi region during step-edit
...
fixes #6404
2015-07-04 12:33:10 +02:00
eafb66d001
update some calls to use new get_preferred_edit_position; needs testing
2015-04-21 10:22:28 -05:00
2eef0612b9
Start step entry at playhead.
2015-01-07 20:46:21 -05:00
69069e0381
Fix whitespace (noop).
2015-01-07 20:12:14 -05:00
2a251b4570
MusicalTime => Beats.
2015-01-07 00:12:07 -05:00
c1cfa12d6e
Wrap MusicalTime in a class.
...
This lets us get a more explicit handle on time conversions, and is the main
step towards using actual beat:tick time and getting away from floating point
precision problems.
2014-11-22 04:05:42 -05:00
fd9ccc7058
Use an enum for RoundMode instead of magic numbers.
...
No functional changes in this one (for easier auditing), but towards having
round up/down only if necessary modes, rather than kludging around that
situation with a double round as we do currently.
2014-11-16 22:35:45 -05:00
38f2aa51bd
Merge branch 'master' into cairocanvas
2013-07-09 09:11:52 -04:00
07be5beee7
window delete/hide is managed by WMProxy (amend to cb6f16ac
)
2013-07-07 22:29:45 +02:00
ce8731b32d
Merge branch 'master' into cairocanvas
2013-06-06 09:52:21 -04:00
04967de3af
fix 5498 -- use note length from step-entry with midi keybd.
2013-05-21 00:25:04 +02:00
e2f0c5f91e
merge resolution with master
2013-05-02 20:21:54 -04:00
3973ce81b3
remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works
2013-05-02 18:13:35 -04:00
8877199ae0
leftmost_position => leftmost_sample, current_page_frames => current_page_samples
2013-04-12 11:21:12 -04:00
2eb43c8310
add copyright comments
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13859 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:22:15 +00:00
ec1ef5d6b5
remove the apparently unnecessary "ui_bind()" macro from entire source base
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
355183f1ab
partially revert some of the recent work on tempo to reflect new understanding of the problem. behaviour is now believed to be totally correct but awaiting a bit more testing
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 16:39:40 +00:00
e9b4f14668
rename Timecode::BBT_Time::ticks_per_beat to Timecode::BBT_Time::ticks_per_bar_division which is a more accurate and informative name. The number doesn't describe the smallest division of a "beat" (which is only defined contextually anyway), but rather the smallest division of the the divisions of a bar. If using a meter of 4/8, there are 4 divisions per bar, and we can divide each one into ticks_per_bar_division pieces; in a separate meter (section) of 3/8, there are 3 divisions per bar, each of which can be divided into ticks_per_bar_division_pieces.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11022 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-19 19:44:43 +00:00
f6951c92f0
attempt to fix deep confusion in GUI code about converting between musical and audio time (should have beneficial effects on #4257 ); change ghost note drawing when in MIDI note draw/add mode so that its start is aligned with the mouse cursor
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-16 14:24:41 +00:00
Carl Hetherington
0bf826eb4e
Fix crash on moving back beyond the region start in the step editor ( #4113 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9735 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-14 23:54:48 +00:00
ed626628b5
Delete trailing whitespace
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
f09524b9d3
move ticks per beat from Meter to Timecode::BBT_Time, add new constructor for BBT_Time based on a double value; reduce BeatFramesConverted to 1 liners pending likely removal
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 20:28:37 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
b85b4d9e54
make ardour3 build and link on OS X (tiger, at least)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13 05:14:48 +00:00
Carl Hetherington
812e95da01
Allow drag when creating a MIDI region. Fixes #3363 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 12:01:13 +00:00
0b2f156c58
some fuzzy logic to avoid note "overlaps" during step editing
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7634 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-15 21:18:00 +00:00
faca3e5f5d
split out the logic behind step editing from MidiTimeAxisView as much as possible
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7633 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-15 16:39:51 +00:00