nick_m
0e2ed90cfc
Revert incorrect 'optimisation' from 4f7a4cd233
.
...
- fixes regression in stacked layering display.
2016-07-10 02:18:38 +10:00
nick_m
23da9acf7e
Minimise duplicate calls to CairoWidget::set_dirty() in the editor summary.
...
- many regions may be changed by one operation.
2016-07-10 02:18:38 +10:00
nick_m
a44c8b96ae
Edit note dialog fixes.
...
- position display is session-relative
- Add missing undo to note edit.
2016-07-10 02:18:38 +10:00
nick_m
703150d365
Always set the musical position in Region::recompute_position_from_lock_style().
2016-07-10 02:18:38 +10:00
nick_m
8a676d2bd4
Fix missing note divisor when creating regions, ensure an existing musical time is not altered.
2016-07-10 02:18:38 +10:00
nick_m
5f0ab71989
Midi note resizing uses exact beat.
2016-07-10 02:18:38 +10:00
nick_m
11f002ddc4
Use exact beat when adding midi notes.
2016-07-10 02:18:38 +10:00
nick_m
99653ae2ca
Simplify Editor::mouse_add_new_meter_event() a bit.
2016-07-10 02:18:38 +10:00
nick_m
33dab757ee
Tempo map updates.
...
- cleanup audio-locked meter removal code
- recompute and warn if map is left unsolved due to adding a metric
- handle corner case wrt overlapping audio-locked musical sections.
2016-07-10 02:18:38 +10:00
nick_m
49159e9585
Fix long-standing spelling bug.
...
- should be a no-op.
2016-07-10 02:18:37 +10:00
nick_m
7a6f8abc1d
Fix missing tempi recompute, improve adding meter/tempo failure.
2016-07-10 02:18:37 +10: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
828cb52f86
Fail properly when adding a new audio locked meter's tempo.
2016-07-10 02:18:37 +10:00
nick_m
39b70ceced
Check meter/tempo section exists in copy drag.
2016-07-10 02:18:37 +10:00
nick_m
180445c18c
Indicate meter frame even when adding a music-locked meter from the gui.
2016-07-10 02:18:37 +10:00
nick_m
f4ec7f12d1
Fix broken meter manipulation in exact_beat.
2016-07-10 02:18:37 +10:00
nick_m
e40604f6bd
Back to using exact beats for midi region start_beats calculation when trimming.
...
- seems to work quite well, but not tested on live recording.
2016-07-10 02:18:37 +10:00
nick_m
e4a163e2fa
Fix bad comment.
2016-07-10 02:18:37 +10:00
nick_m
6612b73033
Use frame-based (non-exact) beat calculation to set new start in midi region trim.
2016-07-10 02:18:37 +10:00
nick_m
f1802667ba
Experimental patch to ensure playback buffer bounds use minimal beat->frame rounding.
2016-07-10 02:18:37 +10:00
nick_m
4acd365e42
AudioPlaylist doesn't double-notify that contents have changed if bounds have changed.
2016-07-10 02:18:37 +10:00
nick_m
3ee7972069
AudioRegionView - don't do coverage frames unless we're in stacked mode.
2016-07-10 02:18:37 +10:00
nick_m
f65c592567
Editor region list only updates columns that have changed,
2016-07-10 02:18:37 +10:00
nick_m
5afe2993bd
Remove extra ContentsChanged signal on tempo map change.
2016-07-10 02:18:37 +10:00
nick_m
89ea747943
Make bbt ruler visible in default session.
2016-07-10 02:18:37 +10:00
nick_m
9603233a68
Fix note trimming over tempo changes, correct note length properly when resizing midi region.
2016-07-10 02:18:37 +10:00
nick_m
13c851f3cf
Restore earlier midi region trim display.
2016-07-10 02:18:37 +10:00
nick_m
447f9ee062
Exact beat for added regions.
2016-07-10 02:18:37 +10:00
nick_m
3b4a406ba1
Only update midi regions having a playlist after tempo map change, fix 0 length regions from drawing tool.
2016-07-10 02:18:37 +10:00
nick_m
4bdbe77414
Avoid the use of dynamic_cast in TempoMap for performance improvement.
...
- review / comment would be appreciated here.
2016-07-10 02:18:37 +10:00
nick_m
b732147676
Use Note::set (Rect) for speed improvement when rendering notes.
2016-07-10 02:18:37 +10:00
nick_m
39692eed66
Add Note::set (Rect) for optimisation purposes (minimise begin/end changes)
2016-07-10 02:18:37 +10:00
nick_m
71ed5865f5
Temporary work-around for note colour.
2016-07-10 02:18:37 +10:00
nick_m
8e99b59af5
Make TempoMap::bbt_at_frame() more efficient.
...
- should be a no-op
2016-07-10 02:18:37 +10:00
nick_m
db686cca38
Show correct bbt representation of region length in region list.
...
- fixes single-tempo assumption.
2016-07-10 02:18:37 +10:00
nick_m
95ba43916f
Improve performance of automation range moves.
2016-07-10 02:18:37 +10:00
nick_m
7a6efaaf3d
Quick fix to get trim working again (bahaving oddly during trim right now)
2016-07-10 02:18:37 +10:00
nick_m
32a579ec28
Fix ordering thinko in note selected colour.
2016-07-10 02:18:37 +10:00
nick_m
9f61f8a5b0
Complete the task of Playlist::flush_notifications ()
2016-07-10 02:18:36 +10:00
nick_m
550f2925cc
Performance - don't redisplay model immediately in MidiRegionView::enable_display ().
...
- allows MidiRegionView::reset_width_dependent_items () to do it
as intended (i think).
2016-07-10 02:18:36 +10:00
nick_m
e856615c75
Performance tweak - NoteBase doesn't recalculate colour as often.
...
- not sure if we can store this atm.
2016-07-10 02:18:36 +10:00
nick_m
3c1bc99df9
Improve midi model redraw performance by caching colours.
2016-07-10 02:18:36 +10:00
nick_m
c6f2095fb7
Improve the performance of TempoMap::frame_at_beat ().
...
- should be a no-op
2016-07-10 02:18:36 +10:00
nick_m
6b0eadc62f
Use mostly beat-based calculation for displayed midi note position.
2016-07-10 02:18:36 +10:00
nick_m
0e63fa65b5
Remove frame conversion for MidiRegionView::note_in_region_range(), speed up tempo dilation
2016-07-10 02:18:36 +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
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
0d050de94e
move latency-recompute into dedicated thread.
...
this fixes an issue with jack1 and jack_latency_recompute() since must not
send a server request from inside the server callback.
2016-07-09 17:42:58 +02:00
b64a6b658e
handle internal-sends from audio to midi busses
2016-07-09 13:51:52 +02:00