David Robillard [Tue, 18 Nov 2014 07:27:25 +0000 (02:27 -0500)]
Fix potential use of uninitialized value.
David Robillard [Tue, 18 Nov 2014 07:26:56 +0000 (02:26 -0500)]
Fix NULL pointer dereference on malformed Playlist XML.
David Robillard [Tue, 18 Nov 2014 07:26:37 +0000 (02:26 -0500)]
Avoid potential division by zero.
David Robillard [Tue, 18 Nov 2014 07:25:02 +0000 (02:25 -0500)]
Fix broken logic and possible NULL pointer dereference for Bundle XML.
David Robillard [Tue, 18 Nov 2014 07:23:49 +0000 (02:23 -0500)]
Fix incredibly unlikely NULL pointer dereference.
David Robillard [Tue, 18 Nov 2014 07:23:28 +0000 (02:23 -0500)]
Fix Region::verify_length() so it actually does something.
David Robillard [Tue, 18 Nov 2014 07:22:44 +0000 (02:22 -0500)]
Fix incredibly unlikely NULL pointer dereference.
David Robillard [Tue, 18 Nov 2014 07:22:06 +0000 (02:22 -0500)]
Fix zoom out limiting logic to actually limit minimum zoom.
David Robillard [Tue, 18 Nov 2014 07:20:38 +0000 (02:20 -0500)]
Fix mismatched note resize drag cursor and behaviour.
David Robillard [Tue, 18 Nov 2014 07:19:03 +0000 (02:19 -0500)]
Fix edit point selector on Mixbus.
Robin Gareus [Tue, 18 Nov 2014 05:15:22 +0000 (06:15 +0100)]
remove cruft
Robin Gareus [Tue, 18 Nov 2014 04:28:27 +0000 (05:28 +0100)]
Robin Gareus [Tue, 18 Nov 2014 03:46:37 +0000 (04:46 +0100)]
silence clang "dead assignment" warnings
Robin Gareus [Tue, 18 Nov 2014 02:49:20 +0000 (03:49 +0100)]
synchronize preferences and monitor-section
Robin Gareus [Tue, 18 Nov 2014 01:13:15 +0000 (02:13 +0100)]
files should have at least one channel.
Robin Gareus [Tue, 18 Nov 2014 01:09:09 +0000 (02:09 +0100)]
remove cruft (monitor section knobs are cairo now)
Robin Gareus [Tue, 18 Nov 2014 00:39:57 +0000 (01:39 +0100)]
NOOP, re-indent and remove trailing whitespace
Robin Gareus [Tue, 18 Nov 2014 00:09:18 +0000 (01:09 +0100)]
remove dead assignment
Robin Gareus [Tue, 18 Nov 2014 00:09:00 +0000 (01:09 +0100)]
remove superfluous if-branch (_session is checked a few lines above)
David Robillard [Tue, 18 Nov 2014 00:53:30 +0000 (19:53 -0500)]
Fix "maybe" rounding bug.
Introduced in
d63161426f256c293c92b73f1be4b375f962d298.
Robin Gareus [Mon, 17 Nov 2014 08:07:39 +0000 (09:07 +0100)]
waves/coreaudio PPC support
Robin Gareus [Mon, 17 Nov 2014 06:49:16 +0000 (07:49 +0100)]
OSX packaging:
* postfix DMG with "-dbg" if not optimized.
* strip binary and libs if optimized
Robin Gareus [Mon, 17 Nov 2014 05:41:01 +0000 (06:41 +0100)]
check alsa midi ringbuffer
David Robillard [Mon, 17 Nov 2014 05:13:53 +0000 (00:13 -0500)]
Fix visibility of MIDI controller automation tracks across saves.
Fix some inaccurate/misleading comments that led to said bug.
Gracefully handle the "impossible" case where we can't figure out a state ID
for an automation track, instead of crashing.
David Robillard [Mon, 17 Nov 2014 03:46:59 +0000 (22:46 -0500)]
Don't hide selected control points.
There was already code for this, but actually setting the corresponding
visibility flags seems to have been lost at some point.
David Robillard [Mon, 17 Nov 2014 03:35:37 +0000 (22:35 -0500)]
Support cut/copy/paste of MIDI notes and controllers at the same time.
David Robillard [Sun, 16 Nov 2014 22:04:27 +0000 (17:04 -0500)]
Support cut/copy/paste of several regions and lines at once.
The idea here is to do the reasonable thing, and copy objects of some
type (e.g. MIDI region, gain line) to tracks with a matching type. The user
can override this with a track selection, which will be used straight-up.
Lost: ability to copy/paste lines across types, e.g. gain to pan. This is
often questionable, but sometimes useful, so we will need to implement some
sort of "greedy mode" to make it possible. Implementation simple, but not sure
what to do. Perhaps this should only be possible if one automation track is
explicitly (i.e. via track selection) involved, and the types are at least
compatible-ish?
David Robillard [Sun, 16 Nov 2014 21:48:15 +0000 (16:48 -0500)]
Don't add spurious points when copy/pasting automation.
David Robillard [Sun, 16 Nov 2014 07:51:18 +0000 (02:51 -0500)]
Reset repeated paste state on cut/copy.
David Robillard [Sun, 16 Nov 2014 07:09:33 +0000 (02:09 -0500)]
Don't add origin value to MIDI controller regions on initial insert.
This should probably hijack the same modifier as the guard points and work the
same on all automation tracks, but I did it this way to not change behaviour of
track automation where a default is much more reasonable.
David Robillard [Sun, 16 Nov 2014 07:01:02 +0000 (02:01 -0500)]
Add "maybe" rounding modes for rounding only if necessary.
David Robillard [Sun, 16 Nov 2014 06:05:21 +0000 (01:05 -0500)]
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.
David Robillard [Sun, 16 Nov 2014 03:42:51 +0000 (22:42 -0500)]
Make selected control points bright red rather than vice-versa.
David Robillard [Sat, 15 Nov 2014 23:53:53 +0000 (18:53 -0500)]
Make ControlList::paste const-correct.
David Robillard [Sat, 15 Nov 2014 21:32:08 +0000 (16:32 -0500)]
Use symbol for paste operation like everywhere else.
David Robillard [Sat, 15 Nov 2014 20:56:56 +0000 (15:56 -0500)]
Fix crash when splitting regions in internal edit mode.
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