Robin Gareus [Mon, 17 Nov 2014 03:05:00 +0000 (04:05 +0100)]
prevent segfault if in/out property is missing
Robin Gareus [Mon, 17 Nov 2014 02:58:05 +0000 (03:58 +0100)]
NULL pointer dereference?
Robin Gareus [Mon, 17 Nov 2014 02:49:19 +0000 (03:49 +0100)]
add some assert() messages.
as hints clang static analyzer "Called C++ object pointer is null"
Robin Gareus [Mon, 17 Nov 2014 02:28:33 +0000 (03:28 +0100)]
fix logic (and possible segfault if !editor)
Robin Gareus [Sat, 15 Nov 2014 18:41:00 +0000 (19:41 +0100)]
round control-scroll offsets towards zero
fixes MCU "Locate called for negative sample position"
Robin Gareus [Sat, 15 Nov 2014 18:27:17 +0000 (19:27 +0100)]
fix compilation with --no-nls
David Robillard [Sat, 15 Nov 2014 08:48:40 +0000 (03:48 -0500)]
Fix selection in automation regions (MIDI controllers).
We shouldn't have to manually drive the drag here, but if the ARV handler
returns false, the event doesn't propagate correctly for some reason and the
drag is not driven by the Editor.
David Robillard [Sat, 15 Nov 2014 07:58:39 +0000 (02:58 -0500)]
Fix entering/editing MIDI region "automation" (controllers).
Two issues:
1) AutomationRegionView not receiving events (CC breakage).
2) Entered values must be rounded to integer for MIDI controllers. This should
be done more generically with ParameterDescriptor for all controls (also
supporting boolean toggles and such), once ParameterDescriptor becomes more
pervasive and takes over Evoral::Parameter, but this will do for now.
David Robillard [Sat, 15 Nov 2014 07:04:28 +0000 (02:04 -0500)]
Fix MIDI region keyboard editing (add key handling to canvas).
David Robillard [Sat, 15 Nov 2014 07:03:40 +0000 (02:03 -0500)]
Only create MIDI regions on click when in draw mode.
It was much too easy to accidentally create MIDI regions in object mode. If
the user isn't in draw mode anyway, then even after creating a region, they
can't put notes in it, so I don't think we've lost any discoverability here.
David Robillard [Sat, 15 Nov 2014 04:53:59 +0000 (23:53 -0500)]
Fix crash when copying MIDI regions with midi-copy-is-fork is on (#6002).
David Robillard [Sat, 15 Nov 2014 02:19:09 +0000 (21:19 -0500)]
Fix out of order event errors on save with overlapping notes.
Another consequence of fuzzy Sequence timing, but if the difference is less
than a tick this should handle things correctly. If the difference is more
than a tick, something's wrong, and it might be okay to just bump forward
anyway, but I can't reproduce this and it could lead to corruption so I'm
leaving that case noisy.
David Robillard [Sat, 15 Nov 2014 01:04:09 +0000 (20:04 -0500)]
Implement "multi-paste" for notes, regions, and automation.
The idea here is that pasting several times to the same location doesn't make
sense. Instead, the paste is appended past the last paste, snapped to the
grid. This make it simple to replicate a given section a number of times,
simply by copying once and pasting several times.
This behaviour only appears when successive pastes are done to the same
location (whatever the edit point is). When the paste point changes, the
"multi-paste" state is reset.
Boots 'n cats 'n boots 'n cats.
David Robillard [Sat, 15 Nov 2014 00:21:29 +0000 (19:21 -0500)]
Fix missing return statement in deleted region scenario.
David Robillard [Fri, 14 Nov 2014 22:33:02 +0000 (17:33 -0500)]
Fix MIDI note cut/copy/paste.
Paul Davis [Fri, 14 Nov 2014 22:16:06 +0000 (17:16 -0500)]
add Jeremy Carter to the about authors list
Paul Davis [Fri, 14 Nov 2014 22:14:48 +0000 (17:14 -0500)]
fix up some suboptimal and crash-prone aspects of
7c263f3bc4f3bddd8094c9baecf584503012acc8 from Jeremy Carter
Jeremy Carter [Fri, 14 Nov 2014 20:35:19 +0000 (15:35 -0500)]
bcf2000: make play button toggle roll
Jeremy Carter [Fri, 14 Nov 2014 19:52:58 +0000 (14:52 -0500)]
Fix ChannelLeft command in
BCF2000 mackie profile
Jeremy Carter [Fri, 14 Nov 2014 18:34:15 +0000 (13:34 -0500)]
Merge remote-tracking branch 'upstream/master'
Robin Gareus [Fri, 14 Nov 2014 09:47:43 +0000 (10:47 +0100)]
add abort() to non-reached code
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
David Robillard [Fri, 14 Nov 2014 07:28:15 +0000 (02:28 -0500)]
Fix various sticky/broken cursor issues.
This still isn't quite right, but it's a lot less broken than before, at least.
Robin Gareus [Fri, 14 Nov 2014 07:16:25 +0000 (08:16 +0100)]
the return of the PPC nostalgia
David Robillard [Fri, 14 Nov 2014 05:33:05 +0000 (00:33 -0500)]
Fix wonky note length when create-dragging notes backwards.
Specifically, when pivoting from forwards to backwards (around the drag start
point), the note length was too long. Setting both the start and end x
coordinates of the rect every time to the right value does the right thing.
David Robillard [Fri, 14 Nov 2014 05:31:28 +0000 (00:31 -0500)]
Fix error when create-dragging note backwards past start of region (#5934).
David Robillard [Fri, 14 Nov 2014 04:33:11 +0000 (23:33 -0500)]
Don't make MIDI regions in note mode completely invisible.
This makes for extremely confusing behaviour, particularly when creating new
regions. This is still probably too transparent, IMO, but at least isn't
totally mysterious. "visible" is a bit of a misnomer in the code, now.
David Robillard [Fri, 14 Nov 2014 03:34:20 +0000 (22:34 -0500)]
Fix crashes on various MIDI editing operations.
Assertions assumed old strict ordering, no longer reflecting reality of fuzzy
time comparison (introduced in 86f1b8).
David Robillard [Fri, 14 Nov 2014 03:18:15 +0000 (22:18 -0500)]
Fix crash after deleting automation region views (#4718).
David Robillard [Fri, 14 Nov 2014 02:32:08 +0000 (21:32 -0500)]
Fix crash when deleting overlapped regions.
Use RegionSelection for MIDI regions as well, since the old dumb stub didn't do
some things correctly. There's probably no reason to have a separate class for
this at all, and some good ones for putting all regions in the same selection,
so we should probably do that. For now they are still separate in the
selection but use the same base class.
Robin Gareus [Thu, 13 Nov 2014 21:19:22 +0000 (22:19 +0100)]
yet another copy/paste typo :(
Robin Gareus [Thu, 13 Nov 2014 20:46:30 +0000 (21:46 +0100)]
Robin Gareus [Thu, 13 Nov 2014 20:35:36 +0000 (21:35 +0100)]
Linux-bundle: deploy all compiled backends
Robin Gareus [Thu, 13 Nov 2014 20:31:09 +0000 (21:31 +0100)]
auto-initialize weak-jack
(not needed with ardour - but keep code in sync with
https://github.com/x42/weakjack)
Robin Gareus [Thu, 13 Nov 2014 20:30:13 +0000 (21:30 +0100)]
prepare for JACK meta-data API
Robin Gareus [Thu, 13 Nov 2014 20:29:34 +0000 (21:29 +0100)]
make new jack thread API functions optional
Robin Gareus [Thu, 13 Nov 2014 20:28:33 +0000 (21:28 +0100)]
add symbol debug information to weak-jack
Robin Gareus [Thu, 13 Nov 2014 19:45:39 +0000 (20:45 +0100)]
fix memory leak
Robin Gareus [Thu, 13 Nov 2014 18:57:40 +0000 (19:57 +0100)]
install all additional binaries in $libdir
Robin Gareus [Thu, 13 Nov 2014 18:05:58 +0000 (19:05 +0100)]
fix define
John Emmas [Thu, 13 Nov 2014 13:07:34 +0000 (13:07 +0000)]
Don't iterate in 'ARDOUR::Route::get_control()' unless a ReaderLock was successfully obtained
John Emmas [Thu, 13 Nov 2014 12:13:16 +0000 (12:13 +0000)]
Make sure we can't execute 'ARDOUR::Route::meter()' unless a ReaderLock was successfully obtained
Robin Gareus [Thu, 13 Nov 2014 05:00:29 +0000 (06:00 +0100)]
don't use cached sudo password in un/installer
Robin Gareus [Thu, 13 Nov 2014 04:56:25 +0000 (05:56 +0100)]
set umask in installer
see https://github.com/megastep/makeself/issues/6
Robin Gareus [Thu, 13 Nov 2014 00:02:09 +0000 (01:02 +0100)]
yet another build fix
on x86_64 weak_libjack.c needs -fPIC which needs cflags which need 'c' :)
Robin Gareus [Wed, 12 Nov 2014 23:10:13 +0000 (00:10 +0100)]
fix compilation with gcc-4.9.1
Robin Gareus [Wed, 12 Nov 2014 03:57:03 +0000 (04:57 +0100)]
add popup message and error log for AU crash reports
Robin Gareus [Wed, 12 Nov 2014 03:03:46 +0000 (04:03 +0100)]
Prepare AU-discovery crashlog.
stopgap solution to allow a user to detect which plugin caused a crash during discovery.
Robin Gareus [Wed, 12 Nov 2014 03:21:57 +0000 (04:21 +0100)]
add AU plugin scan to Preferences UI
Robin Gareus [Wed, 12 Nov 2014 02:54:18 +0000 (03:54 +0100)]
failsafe AU scanning part one:
Don’t scan for AU plugins unless users explicitly starts a
plugin scan. Disable automatic scanning if Ardour crashes
during AU plugin discovery.
Jeremy Carter [Wed, 12 Nov 2014 00:36:18 +0000 (19:36 -0500)]
Merge branch 'plugin-automation'
Jeremy Carter [Wed, 12 Nov 2014 00:33:25 +0000 (19:33 -0500)]
fixed automation *_all button crash
Jeremy Carter [Tue, 11 Nov 2014 23:07:44 +0000 (18:07 -0500)]
Merge branch 'plugin-automation'
Jeremy Carter [Tue, 11 Nov 2014 23:05:27 +0000 (18:05 -0500)]
Added Write All, Play All, etc. automation buttons to generic plugin UI
Robin Gareus [Tue, 11 Nov 2014 20:46:29 +0000 (21:46 +0100)]
Robin Gareus [Tue, 11 Nov 2014 14:35:06 +0000 (15:35 +0100)]
clean up after ourselves
Robin Gareus [Tue, 11 Nov 2014 14:29:51 +0000 (15:29 +0100)]
linux packaging: add some checks to reduce warnings
Robin Gareus [Tue, 11 Nov 2014 14:21:27 +0000 (15:21 +0100)]
add 512px icon
Robin Gareus [Tue, 11 Nov 2014 14:20:16 +0000 (15:20 +0100)]
osx packaging: add some checks to reduce warnings
Robin Gareus [Tue, 11 Nov 2014 14:18:45 +0000 (15:18 +0100)]
osx build script: change default xjadeo/harvid cache folder
Robin Gareus [Tue, 11 Nov 2014 14:17:33 +0000 (15:17 +0100)]
fix osx startup script /usr/local test
A vanilla OSX system has no /usr/local/ folder. Ardour can still
run with the coreaudio or dummy backend.
Paul Davis [Tue, 11 Nov 2014 02:44:02 +0000 (21:44 -0500)]
refactor MIDISceneChange color property addition by moving it into SceneChange to anticipate other types of SceneChange objects (e.g. OSC)
Paul Davis [Tue, 11 Nov 2014 02:28:21 +0000 (21:28 -0500)]
when creating a new MIDI scene change, check existing scene changes for equality and reuse their color (which may or may not be set)
Paul Davis [Tue, 11 Nov 2014 02:22:05 +0000 (21:22 -0500)]
serialize/deserialize MIDISceneChange color; put out of bounds color into static const
Paul Davis [Tue, 11 Nov 2014 02:17:39 +0000 (21:17 -0500)]
add color property to MIDISceneChange
Paul Davis [Tue, 11 Nov 2014 02:11:22 +0000 (21:11 -0500)]
add operator== to ARDOUR::MidiSceneChange
Paul Davis [Tue, 11 Nov 2014 01:34:20 +0000 (20:34 -0500)]
tweak canvas on_expose_event() handler to avoid unnecessary save/paint/restore
Paul Davis [Tue, 11 Nov 2014 01:33:54 +0000 (20:33 -0500)]
further work on new color manipulation code
Robin Gareus [Mon, 10 Nov 2014 21:22:54 +0000 (22:22 +0100)]
add documentation about meter colors
Robin Gareus [Mon, 10 Nov 2014 21:21:39 +0000 (22:21 +0100)]
fix signed/unsigned compiler warning
Robin Gareus [Mon, 10 Nov 2014 21:20:36 +0000 (22:20 +0100)]
improve random seed (for dummy generators)
Paul Davis [Mon, 10 Nov 2014 16:46:17 +0000 (11:46 -0500)]
add required header for compilation
Paul Davis [Mon, 10 Nov 2014 15:40:27 +0000 (10:40 -0500)]
redraw entire canvas when ColorsChanged is emitted
Paul Davis [Mon, 10 Nov 2014 15:36:32 +0000 (10:36 -0500)]
set canvas background color
Paul Davis [Mon, 10 Nov 2014 15:36:08 +0000 (10:36 -0500)]
add new color variable for arrange canvas background
Conflicts:
gtk2_ardour/canvas_vars.h
gtk2_ardour/default_ui_config.in
Paul Davis [Mon, 10 Nov 2014 15:35:10 +0000 (10:35 -0500)]
add background color property to Canvas::Canvas ; rearrange expose handling and include background fill
Conflicts:
libs/canvas/canvas.cc
libs/canvas/canvas/canvas.h
John Emmas [Sun, 9 Nov 2014 08:11:46 +0000 (08:11 +0000)]
Modifications needed to build ReasonableSynth with MSVC
John Emmas [Sat, 8 Nov 2014 18:47:25 +0000 (18:47 +0000)]
Add a small dummy command to a couple of MSVC build projects
These are trivial (no-op) fudges - to ensure that if we can't copy the built executable for whatever reason, it won't get flagged up as a build failure.
John Emmas [Sat, 8 Nov 2014 10:48:26 +0000 (10:48 +0000)]
Add some newly introduced source files to our MSVC project (cairocanvas)
David Robillard [Fri, 7 Nov 2014 22:21:43 +0000 (17:21 -0500)]
Just rename problematic Variant::VOID type.
Paul Davis [Fri, 7 Nov 2014 19:24:27 +0000 (14:24 -0500)]
use new canvas colors header as necessary
Paul Davis [Fri, 7 Nov 2014 19:24:13 +0000 (14:24 -0500)]
move canvas colors code into its own file(s)
Paul Davis [Fri, 7 Nov 2014 17:58:46 +0000 (12:58 -0500)]
remove TimeAxisViewItem::RIGHT_EDGE_SHIFT; fix up x-coordinate for right edge of an audio fade out
Paul Davis [Fri, 7 Nov 2014 17:58:10 +0000 (12:58 -0500)]
simplify removal of outline from streamview base rect
Paul Davis [Fri, 7 Nov 2014 17:57:43 +0000 (12:57 -0500)]
simplify removal of outline from automation time axis base rect
Paul Davis [Fri, 7 Nov 2014 17:57:22 +0000 (12:57 -0500)]
fix up dimensions of ghostregion colored rect
Paul Davis [Fri, 7 Nov 2014 17:56:45 +0000 (12:56 -0500)]
when drawing only part of a Canvas::Rectangle outline, we only need to do the cairo-pixel alignment math for the axis perpendicular to the edge
Paul Davis [Fri, 7 Nov 2014 13:35:26 +0000 (08:35 -0500)]
don't created vestigial frame canvas item for TimeAxisViewItem unless actually needed.
They don't cost very much but there's just really no point cluttering up the scene graph with generally invisible
and insensitive items
Robin Gareus [Fri, 7 Nov 2014 16:04:11 +0000 (17:04 +0100)]
VOID is a windows define (not MSVC specific)
Robin Gareus [Fri, 7 Nov 2014 15:50:21 +0000 (16:50 +0100)]
tentative fix for canvas background/image surface
Robin Gareus [Fri, 7 Nov 2014 11:17:15 +0000 (12:17 +0100)]
another hack for windows timers, DSP load calculation
Paul Davis [Fri, 7 Nov 2014 01:33:29 +0000 (20:33 -0500)]
add API to extract color from ArdourCanvas::Text and tidy up member declarations
Conflicts:
libs/canvas/canvas/text.h
Paul Davis [Fri, 7 Nov 2014 01:33:01 +0000 (20:33 -0500)]
changing the clamp_width of an ArdourCanvas::Text needs to potentially provoke an entire redraw
This fixes missing range marker text in sessions where the initial zoom value causes an initial clamp_width of zero
Robin Gareus [Thu, 6 Nov 2014 16:24:32 +0000 (17:24 +0100)]
possible fix for DSP load calculation on windows
Paul Davis [Thu, 6 Nov 2014 15:53:48 +0000 (10:53 -0500)]
raising/lowering canvas items should trigger a redraw
Paul Davis [Thu, 6 Nov 2014 00:45:17 +0000 (19:45 -0500)]
add a selection frame to TimeAxisViewItem along with a slew of other height/positional fixes
Paul Davis [Thu, 6 Nov 2014 00:44:44 +0000 (19:44 -0500)]
various positional fixes for TimeAxisView, including moving the separator line to the bottom, and keeping it in the same coordinate space as the TAV group
Paul Davis [Wed, 5 Nov 2014 22:12:18 +0000 (17:12 -0500)]
streamview no longer outlines any part of its canvas rect (we leave that to time axis view separators)
Also remove commented "- 1.0" adjustments that were already commented
Paul Davis [Wed, 5 Nov 2014 21:57:37 +0000 (16:57 -0500)]
correct the rendering of Rectangle outlines, and the computation of their bounding box
Paul Davis [Wed, 5 Nov 2014 21:56:45 +0000 (16:56 -0500)]
add Rect::shrink(Distance) even though it arguably should be handled by Rect::expand()
Paul Davis [Wed, 5 Nov 2014 21:56:02 +0000 (16:56 -0500)]
add some more outline enums to ArdourCanvas::Rectangle