Commit graph

14998 commits

Author SHA1 Message Date
David Robillard
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
Robin Gareus
6f7ee67c71 midnam test: don't clutter up output. 2014-12-06 23:51:45 +01:00
David Robillard
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
David Robillard
60f4f5b9d8 Fix inappropriately massive flag font. 2014-12-06 16:07:32 -05:00
David Robillard
8339850e14 Fix patch flag scroll theft when in normal mode. 2014-12-06 16:05:47 -05:00
David Robillard
f9c74319a2 Fix seek in linearly interpolated control lists. 2014-12-06 15:44:10 -05:00
David Robillard
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
John Emmas
96a9292a40 Restore an accidentally deleted #include 2014-12-06 17:50:36 +00:00
David Robillard
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
David Robillard
db1fc6c3fa Fix wacky return type. 2014-12-06 12:19:52 -05:00
David Robillard
82be2325d9 Fix uninitialized members. 2014-12-06 12:06:48 -05:00
David Robillard
ddb7cc6d66 More potential SMF crash fixes. 2014-12-06 11:19:48 -05:00
David Robillard
2e92ae90a6 Possible half-fix for SMF crash. 2014-12-06 10:37:08 -05:00
David Robillard
2a28345bab Use source-relative time converter directly. 2014-12-06 10:27:18 -05:00
David Robillard
34fcf22476 Fix internal paste when selection has only points. 2014-12-06 10:26:25 -05:00
John Emmas
d30df2a991 Add a newly introduced header file to our MSVC project (gtk2_ardour) 2014-12-06 11:02:37 +00:00
Robin Gareus
38a874ecb8 fix/amend pre commit 2014-12-06 08:24:21 +01:00
Robin Gareus
12a4ddc952 fix another ambiguity, this time: WINAPI Rectangle 2014-12-06 07:40:17 +01:00
Robin Gareus
d223e2ed57 fix ambiguous reference.
OSX CoreServices typedef's struct Rect
2014-12-06 05:52:31 +01:00
Robin Gareus
df92e33cc5 fix typo in wscript 2014-12-06 02:42:14 +01:00
David Robillard
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
Robin Gareus
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
David Robillard
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
Robin Gareus
fb406e5b36 fix small memory leak in the tests 2014-12-05 20:57:07 +01:00
Robin Gareus
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
Paul Davis
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
Robin Gareus
cf3faf1b42 fix "expected" <> "actual" semantics in test-util 2014-12-05 18:32:16 +01:00
Paul Davis
4bc4cd0e20 save and restore color aliases 2014-12-05 11:17:56 -05:00
Paul Davis
ab4b0dcffe add default (for now) color aliases to default_ui_config 2014-12-05 11:17:43 -05:00
Paul Davis
db9fbac7b5 added new header file for color aliases 2014-12-05 09:36:55 -05:00
Paul Davis
0045891362 part two of remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE 2014-12-05 09:26:12 -05:00
Paul Davis
dd49a249ad remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE 2014-12-05 09:25:34 -05:00
Paul Davis
2449fc9681 several steps closer to more sane color system 2014-12-05 09:01:55 -05:00
Paul Davis
207fd04587 include alpha-delta computation in HSV::delta() 2014-12-05 09:01:55 -05:00
Paul Davis
d0a18a8c35 correct alias definitions in default derived color list 2014-12-05 09:01:55 -05:00
Paul Davis
46ed23116e make new color aliases actually work 2014-12-05 09:01:55 -05:00
Paul Davis
8e54baa65f working compilation for new color code 2014-12-05 09:01:55 -05:00
John Emmas
17ad6a5078 Add 'pbd/crossthread.cc' to the MSVC build 2014-12-05 08:40:47 +00:00
David Robillard
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
David Robillard
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
David Robillard
b426873f6f Add MIDI control points only in internal/pencil. 2014-12-04 22:40:39 -05:00
David Robillard
124e54f01b Fix crash when twiddling MIDI controllers (#6050). 2014-12-04 22:23:16 -05:00
David Robillard
59af923b77 Fix steps for log controls with wide range. 2014-12-04 21:22:31 -05:00
Paul Davis
e1e1679728 Alois Cochard Add MIDI map for the control surface. 2014-12-04 13:32:08 -05:00
Robin Gareus
55c4889c9a fix windows compilation 2014-12-04 17:13:43 +01:00
Paul Davis
b996f07122 add required header 2014-12-04 11:05:33 -05:00
Paul Davis
697c397f37 move WSAStartup() and WSACleanup() out of per-object methods into per-library init/cleanup methods 2014-12-04 10:07:11 -05:00
Paul Davis
4e8dfda880 clean up whitespace 2014-12-04 09:11:46 -05:00
Tim Mayberry
5f9e81b105 Include pbd/crossthread.cc in the mingw build 2014-12-04 16:16:06 +07:00
Tim Mayberry
12acce0d0e Use correct name for windows.h 2014-12-04 16:15:07 +07:00