13
0
Commit Graph

15152 Commits

Author SHA1 Message Date
16d60ef2f7 Grab keyboard only with note selection.
When entered, the keyboard is grabbed when the selection becomes non-empty, and
ungrabbed if it becomes empty again or the region is left or the user switches
out of internal mode.

This fixes scroll in internal mode and note moving with arrow keys.  Also frees
up useful keybindings when there is no note selection, which is much nicer than
the "nothing works in edit mode at all" greedy grab approach used previously.

Attempt #874327892 of getting this damned grabbing right.
2014-12-06 22:43:06 -05:00
89be7ae58c Fix crash on quit when in a non-route time axis. 2014-12-06 22:43:06 -05:00
eb86971d2d Invalidate iterator whenever model changes.
I suspect this is an underlying cause of several tricky to reproduce bugs, but
we'll have to wait around and see...
2014-12-06 22:43:06 -05:00
2ea4ae603a Fix crash on shift+rclick of region to remove.
This doesn't seem to have been touched for years, and I don't see how such an
obvious bug could possibly have been around for so long, but, well, this fixes
it as far as I can tell.
2014-12-06 22:43:06 -05:00
09bd88c9df Fix crash when resizing a track quickly.
Triggered by resize drag an automation track very quickly upwards to shrink it
to the minimum.  Caused by unsigned integer underflow.
2014-12-06 22:43:06 -05:00
6f7ee67c71 midnam test: don't clutter up output. 2014-12-06 23:51:45 +01:00
9f5023175f Fix crash when showing MIDI regions we shouldn't.
I am not sure what causes this, but it can happen when finishing a record
sometimes.  Probably MidiSource::_writing isn't updated in the right order with
whatever triggers the redisplay, but at least not crashing is better...
2014-12-06 16:46:00 -05:00
60f4f5b9d8 Fix inappropriately massive flag font. 2014-12-06 16:07:32 -05:00
8339850e14 Fix patch flag scroll theft when in normal mode. 2014-12-06 16:05:47 -05:00
f9c74319a2 Fix seek in linearly interpolated control lists. 2014-12-06 15:44:10 -05:00
4650912ae3 Adapt range when copying between automation types.
For things like copying from pitch bender to a CC.

Also things like fader to pan, but that seems a bit funny.  The conversion
probably needs to be a bit smarter here, perhaps taking the normal into
consideration...
2014-12-06 13:40:35 -05:00
96a9292a40 Restore an accidentally deleted #include 2014-12-06 17:50:36 +00:00
63082821d8 Support paste between automation lanes.
Also push the increasingly unwieldly paste parameters into a context object.

As with othe things, currently it is only possible to do "cross-type paste" by
explicitly selecting the target track.  We will need to get automation region
view selection working to do better here, but at least for now it's possible to
get the data over.
2014-12-06 12:20:52 -05:00
db1fc6c3fa Fix wacky return type. 2014-12-06 12:19:52 -05:00
82be2325d9 Fix uninitialized members. 2014-12-06 12:06:48 -05:00
ddb7cc6d66 More potential SMF crash fixes. 2014-12-06 11:19:48 -05:00
2e92ae90a6 Possible half-fix for SMF crash. 2014-12-06 10:37:08 -05:00
2a28345bab Use source-relative time converter directly. 2014-12-06 10:27:18 -05:00
34fcf22476 Fix internal paste when selection has only points. 2014-12-06 10:26:25 -05:00
d30df2a991 Add a newly introduced header file to our MSVC project (gtk2_ardour) 2014-12-06 11:02:37 +00:00
38a874ecb8 fix/amend pre commit 2014-12-06 08:24:21 +01:00
12a4ddc952 fix another ambiguity, this time: WINAPI Rectangle 2014-12-06 07:40:17 +01:00
d223e2ed57 fix ambiguous reference.
OSX CoreServices typedef's struct Rect
2014-12-06 05:52:31 +01:00
df92e33cc5 fix typo in wscript 2014-12-06 02:42:14 +01:00
a65cd2a1b9 Make scroll work on MIDI regions when internal.
For some reason, grabbing the magic keyboard focus makes scroll stop working
regardless of what MRV::canvas_group_event() returns.  I can't figure out any
reason to grab the keyboard in this case anyway, so I just removed it.

Also simlify MRV event handling code in general.
2014-12-05 17:36:02 -05:00
9266e7524a experimental drawing optimization.
Q: is bounding_box(); etc more complex than queuing draw?

either way, canvas should eventually switch to
use an optimized OptimizingLookupTable.
2014-12-05 22:40:26 +01:00
587dc283ea Fix stuck faders on very fine adjustments.
I attempted to preserve the "don't draw unless different" by ditching rounding for more
precise display_span, but that didn't work.  An alternative solution would be
to draw on adjustment change if there's text, since then we need to redraw
regardless of slider position, but it seemed weird even just with respect to
the slider, so I opted for this, which really definitely redraws when the
adjustment changes, period.

If this proves to be a performance issue we'll have to figure that out.
2014-12-05 15:19:43 -05:00
fb406e5b36 fix small memory leak in the tests 2014-12-05 20:57:07 +01:00
8714fab1bc update to 'new' ControlList API
add (double when, double value, bool with_guards=true, bool with_default=true);
2014-12-05 20:57:07 +01:00
91d3e8ead0 if a Route's processor lock cannot be taken, fill buffers with silence (causing click) rather than abort() 2014-12-05 14:49:30 -05:00
cf3faf1b42 fix "expected" <> "actual" semantics in test-util 2014-12-05 18:32:16 +01:00
4bc4cd0e20 save and restore color aliases 2014-12-05 11:17:56 -05:00
ab4b0dcffe add default (for now) color aliases to default_ui_config 2014-12-05 11:17:43 -05:00
db9fbac7b5 added new header file for color aliases 2014-12-05 09:36:55 -05:00
0045891362 part two of remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE 2014-12-05 09:26:12 -05:00
dd49a249ad remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE 2014-12-05 09:25:34 -05:00
2449fc9681 several steps closer to more sane color system 2014-12-05 09:01:55 -05:00
207fd04587 include alpha-delta computation in HSV::delta() 2014-12-05 09:01:55 -05:00
d0a18a8c35 correct alias definitions in default derived color list 2014-12-05 09:01:55 -05:00
46ed23116e make new color aliases actually work 2014-12-05 09:01:55 -05:00
8e54baa65f working compilation for new color code 2014-12-05 09:01:55 -05:00
17ad6a5078 Add 'pbd/crossthread.cc' to the MSVC build 2014-12-05 08:40:47 +00:00
0bf778c847 Make recorded MIDI controls discrete, take 2.
Hopefully-desired behaviour is that controls created in the GUI are linear, so
clicking in stuff works like other automation, but controls that originated
from recording are set to discrete so Ardour plays back the input exactly,
instead of doing crazy things like linear interpolation of already high-rate
user input, hold pedals, and so on.

Hopefully that remains the desired behaviour, because we're basically screwed
for ever making any control discrete by default, since we only save the mode to
XML at all if it's not the default, which is currently linear.
2014-12-05 00:15:40 -05:00
ad340333f4 Revert "Create discrete lists for recorded MIDI controls."
This broke saving/restoring interpolation style.

This reverts commit 07a381a8f5.
2014-12-05 00:03:47 -05:00
b426873f6f Add MIDI control points only in internal/pencil. 2014-12-04 22:40:39 -05:00
124e54f01b Fix crash when twiddling MIDI controllers (#6050). 2014-12-04 22:23:16 -05:00
59af923b77 Fix steps for log controls with wide range. 2014-12-04 21:22:31 -05:00
e1e1679728 Alois Cochard Add MIDI map for the control surface. 2014-12-04 13:32:08 -05:00
55c4889c9a fix windows compilation 2014-12-04 17:13:43 +01:00
b996f07122 add required header 2014-12-04 11:05:33 -05:00