ardour.git
9 years agoClean up funny code and initialize variables.
David Robillard [Tue, 18 Nov 2014 07:35:35 +0000 (02:35 -0500)]
Clean up funny code and initialize variables.

9 years agoConstrain variable scopen and avoid uninitialized values existing at all.
David Robillard [Tue, 18 Nov 2014 07:34:18 +0000 (02:34 -0500)]
Constrain variable scopen and avoid uninitialized values existing at all.

Note: dead assignments trigger scan-build dead code warnings, which
initializations do not.

9 years agoRemove unused variable and redundant arithmetic.
David Robillard [Tue, 18 Nov 2014 07:31:54 +0000 (02:31 -0500)]
Remove unused variable and redundant arithmetic.

9 years agoGracefully avoid importing audio that somehow has 0 channels.
David Robillard [Tue, 18 Nov 2014 07:29:50 +0000 (02:29 -0500)]
Gracefully avoid importing audio that somehow has 0 channels.

9 years agoFix potential use of uninitialized value.
David Robillard [Tue, 18 Nov 2014 07:27:25 +0000 (02:27 -0500)]
Fix potential use of uninitialized value.

9 years agoFix NULL pointer dereference on malformed Playlist XML.
David Robillard [Tue, 18 Nov 2014 07:26:56 +0000 (02:26 -0500)]
Fix NULL pointer dereference on malformed Playlist XML.

9 years agoAvoid potential division by zero.
David Robillard [Tue, 18 Nov 2014 07:26:37 +0000 (02:26 -0500)]
Avoid potential division by zero.

9 years agoFix broken logic and possible NULL pointer dereference for Bundle XML.
David Robillard [Tue, 18 Nov 2014 07:25:02 +0000 (02:25 -0500)]
Fix broken logic and possible NULL pointer dereference for Bundle XML.

9 years agoFix incredibly unlikely NULL pointer dereference.
David Robillard [Tue, 18 Nov 2014 07:23:49 +0000 (02:23 -0500)]
Fix incredibly unlikely NULL pointer dereference.

9 years agoFix Region::verify_length() so it actually does something.
David Robillard [Tue, 18 Nov 2014 07:23:28 +0000 (02:23 -0500)]
Fix Region::verify_length() so it actually does something.

9 years agoFix incredibly unlikely NULL pointer dereference.
David Robillard [Tue, 18 Nov 2014 07:22:44 +0000 (02:22 -0500)]
Fix incredibly unlikely NULL pointer dereference.

9 years agoFix zoom out limiting logic to actually limit minimum zoom.
David Robillard [Tue, 18 Nov 2014 07:22:06 +0000 (02:22 -0500)]
Fix zoom out limiting logic to actually limit minimum zoom.

9 years agoFix mismatched note resize drag cursor and behaviour.
David Robillard [Tue, 18 Nov 2014 07:20:38 +0000 (02:20 -0500)]
Fix mismatched note resize drag cursor and behaviour.

9 years agoFix edit point selector on Mixbus.
David Robillard [Tue, 18 Nov 2014 07:19:03 +0000 (02:19 -0500)]
Fix edit point selector on Mixbus.

9 years agoremove cruft
Robin Gareus [Tue, 18 Nov 2014 05:15:22 +0000 (06:15 +0100)]
remove cruft

9 years agoamend 484e38053
Robin Gareus [Tue, 18 Nov 2014 04:28:27 +0000 (05:28 +0100)]
amend 484e38053

9 years agosilence clang "dead assignment" warnings
Robin Gareus [Tue, 18 Nov 2014 03:46:37 +0000 (04:46 +0100)]
silence clang "dead assignment" warnings

9 years agosynchronize preferences and monitor-section
Robin Gareus [Tue, 18 Nov 2014 02:49:20 +0000 (03:49 +0100)]
synchronize preferences and monitor-section

9 years agofiles should have at least one channel.
Robin Gareus [Tue, 18 Nov 2014 01:13:15 +0000 (02:13 +0100)]
files should have at least one channel.

9 years agoremove cruft (monitor section knobs are cairo now)
Robin Gareus [Tue, 18 Nov 2014 01:09:09 +0000 (02:09 +0100)]
remove cruft (monitor section knobs are cairo now)

9 years agoNOOP, re-indent and remove trailing whitespace
Robin Gareus [Tue, 18 Nov 2014 00:39:57 +0000 (01:39 +0100)]
NOOP, re-indent and remove trailing whitespace

9 years agoremove dead assignment
Robin Gareus [Tue, 18 Nov 2014 00:09:18 +0000 (01:09 +0100)]
remove dead assignment

9 years agoremove superfluous if-branch (_session is checked a few lines above)
Robin Gareus [Tue, 18 Nov 2014 00:09:00 +0000 (01:09 +0100)]
remove superfluous if-branch  (_session is checked a few lines above)

9 years agoFix "maybe" rounding bug.
David Robillard [Tue, 18 Nov 2014 00:53:30 +0000 (19:53 -0500)]
Fix "maybe" rounding bug.

Introduced in d63161426f256c293c92b73f1be4b375f962d298.

9 years agowaves/coreaudio PPC support
Robin Gareus [Mon, 17 Nov 2014 08:07:39 +0000 (09:07 +0100)]
waves/coreaudio PPC support

9 years agoOSX packaging:
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

9 years agocheck alsa midi ringbuffer
Robin Gareus [Mon, 17 Nov 2014 05:41:01 +0000 (06:41 +0100)]
check alsa midi ringbuffer

9 years agoFix visibility of MIDI controller automation tracks across saves.
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.

9 years agoDon't hide selected control points.
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.

9 years agoSupport cut/copy/paste of MIDI notes and controllers at the same time.
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.

9 years agoSupport cut/copy/paste of several regions and lines at once.
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?

9 years agoDon't add spurious points when copy/pasting automation.
David Robillard [Sun, 16 Nov 2014 21:48:15 +0000 (16:48 -0500)]
Don't add spurious points when copy/pasting automation.

9 years agoReset repeated paste state on cut/copy.
David Robillard [Sun, 16 Nov 2014 07:51:18 +0000 (02:51 -0500)]
Reset repeated paste state on cut/copy.

9 years agoDon't add origin value to MIDI controller regions on initial insert.
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.

9 years agoAdd "maybe" rounding modes for rounding only if necessary.
David Robillard [Sun, 16 Nov 2014 07:01:02 +0000 (02:01 -0500)]
Add "maybe" rounding modes for rounding only if necessary.

9 years agoUse an enum for RoundMode instead of magic numbers.
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.

9 years agoMake selected control points bright red rather than vice-versa.
David Robillard [Sun, 16 Nov 2014 03:42:51 +0000 (22:42 -0500)]
Make selected control points bright red rather than vice-versa.

9 years agoMake ControlList::paste const-correct.
David Robillard [Sat, 15 Nov 2014 23:53:53 +0000 (18:53 -0500)]
Make ControlList::paste const-correct.

9 years agoUse symbol for paste operation like everywhere else.
David Robillard [Sat, 15 Nov 2014 21:32:08 +0000 (16:32 -0500)]
Use symbol for paste operation like everywhere else.

9 years agoFix crash when splitting regions in internal edit mode.
David Robillard [Sat, 15 Nov 2014 20:56:56 +0000 (15:56 -0500)]
Fix crash when splitting regions in internal edit mode.

9 years agoprevent segfault if in/out property is missing
Robin Gareus [Mon, 17 Nov 2014 03:05:00 +0000 (04:05 +0100)]
prevent segfault if in/out property is missing

9 years agoNULL pointer dereference?
Robin Gareus [Mon, 17 Nov 2014 02:58:05 +0000 (03:58 +0100)]
NULL pointer dereference?

9 years agoadd some assert() messages.
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"

9 years agofix logic (and possible segfault if !editor)
Robin Gareus [Mon, 17 Nov 2014 02:28:33 +0000 (03:28 +0100)]
fix logic (and possible segfault if !editor)

9 years agoround control-scroll offsets towards zero
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"

9 years agofix compilation with --no-nls
Robin Gareus [Sat, 15 Nov 2014 18:27:17 +0000 (19:27 +0100)]
fix compilation with --no-nls

9 years agoFix selection in automation regions (MIDI controllers).
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.

9 years agoFix entering/editing MIDI region "automation" (controllers).
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.

9 years agoFix MIDI region keyboard editing (add key handling to canvas).
David Robillard [Sat, 15 Nov 2014 07:04:28 +0000 (02:04 -0500)]
Fix MIDI region keyboard editing (add key handling to canvas).

9 years agoOnly create MIDI regions on click when in draw mode.
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.

9 years agoFix crash when copying MIDI regions with midi-copy-is-fork is on (#6002).
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).

9 years agoFix out of order event errors on save with overlapping notes.
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.

9 years agoImplement "multi-paste" for notes, regions, and automation.
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.

9 years agoFix missing return statement in deleted region scenario.
David Robillard [Sat, 15 Nov 2014 00:21:29 +0000 (19:21 -0500)]
Fix missing return statement in deleted region scenario.

9 years agoFix MIDI note cut/copy/paste.
David Robillard [Fri, 14 Nov 2014 22:33:02 +0000 (17:33 -0500)]
Fix MIDI note cut/copy/paste.

9 years agoadd Jeremy Carter to the about authors list
Paul Davis [Fri, 14 Nov 2014 22:16:06 +0000 (17:16 -0500)]
add Jeremy Carter to the about authors list

9 years agofix up some suboptimal and crash-prone aspects of 7c263f3bc4f3bddd8094c9baecf58450301...
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

9 years agobcf2000: make play button toggle roll
Jeremy Carter [Fri, 14 Nov 2014 20:35:19 +0000 (15:35 -0500)]
bcf2000: make play button toggle roll

9 years agoFix ChannelLeft command in BCF2000 mackie profile
Jeremy Carter [Fri, 14 Nov 2014 19:52:58 +0000 (14:52 -0500)]
Fix ChannelLeft command in BCF2000 mackie profile

9 years agoMerge remote-tracking branch 'upstream/master'
Jeremy Carter [Fri, 14 Nov 2014 18:34:15 +0000 (13:34 -0500)]
Merge remote-tracking branch 'upstream/master'

9 years agoadd abort() to non-reached code
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)

9 years agoFix various sticky/broken cursor issues.
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.

9 years agothe return of the PPC nostalgia
Robin Gareus [Fri, 14 Nov 2014 07:16:25 +0000 (08:16 +0100)]
the return of the PPC nostalgia

9 years agoFix wonky note length when create-dragging notes backwards.
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.

9 years agoFix error when create-dragging note backwards past start of region (#5934).
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).

9 years agoDon't make MIDI regions in note mode completely invisible.
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.

9 years agoFix crashes on various MIDI editing operations.
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).

9 years agoFix crash after deleting automation region views (#4718).
David Robillard [Fri, 14 Nov 2014 03:18:15 +0000 (22:18 -0500)]
Fix crash after deleting automation region views (#4718).

9 years agoFix crash when deleting overlapped regions.
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.

9 years agoyet another copy/paste typo :(
Robin Gareus [Thu, 13 Nov 2014 21:19:22 +0000 (22:19 +0100)]
yet another copy/paste typo :(

9 years agofix typo in b9fc616538
Robin Gareus [Thu, 13 Nov 2014 20:46:30 +0000 (21:46 +0100)]
fix typo in b9fc616538

9 years agoLinux-bundle: deploy all compiled backends
Robin Gareus [Thu, 13 Nov 2014 20:35:36 +0000 (21:35 +0100)]
Linux-bundle: deploy all compiled backends

9 years agoauto-initialize weak-jack
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)

9 years agoprepare for JACK meta-data API
Robin Gareus [Thu, 13 Nov 2014 20:30:13 +0000 (21:30 +0100)]
prepare for JACK meta-data API

9 years agomake new jack thread API functions optional
Robin Gareus [Thu, 13 Nov 2014 20:29:34 +0000 (21:29 +0100)]
make new jack thread API functions optional

9 years agoadd symbol debug information to weak-jack
Robin Gareus [Thu, 13 Nov 2014 20:28:33 +0000 (21:28 +0100)]
add symbol debug information to weak-jack

9 years agofix memory leak
Robin Gareus [Thu, 13 Nov 2014 19:45:39 +0000 (20:45 +0100)]
fix memory leak

9 years agoinstall all additional binaries in $libdir
Robin Gareus [Thu, 13 Nov 2014 18:57:40 +0000 (19:57 +0100)]
install all additional binaries in $libdir

9 years agofix define
Robin Gareus [Thu, 13 Nov 2014 18:05:58 +0000 (19:05 +0100)]
fix define

9 years agoDon't iterate in 'ARDOUR::Route::get_control()' unless a ReaderLock was successfully...
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

9 years agoMake sure we can't execute 'ARDOUR::Route::meter()' unless a ReaderLock was successfu...
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

9 years agodon't use cached sudo password in un/installer
Robin Gareus [Thu, 13 Nov 2014 05:00:29 +0000 (06:00 +0100)]
don't use cached sudo password in un/installer

9 years agoset umask in 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

9 years agoyet another build fix
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' :)

9 years agofix compilation with gcc-4.9.1
Robin Gareus [Wed, 12 Nov 2014 23:10:13 +0000 (00:10 +0100)]
fix compilation with gcc-4.9.1

9 years agoadd popup message and error log for AU crash reports
Robin Gareus [Wed, 12 Nov 2014 03:57:03 +0000 (04:57 +0100)]
add popup message and error log for AU crash reports

9 years agoPrepare AU-discovery crashlog.
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.

9 years agoadd AU plugin scan to Preferences UI
Robin Gareus [Wed, 12 Nov 2014 03:21:57 +0000 (04:21 +0100)]
add AU plugin scan to Preferences UI

9 years agofailsafe AU scanning part one:
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.

9 years agoMerge branch 'plugin-automation'
Jeremy Carter [Wed, 12 Nov 2014 00:36:18 +0000 (19:36 -0500)]
Merge branch 'plugin-automation'

9 years agofixed automation *_all button crash
Jeremy Carter [Wed, 12 Nov 2014 00:33:25 +0000 (19:33 -0500)]
fixed automation *_all button crash

9 years agoMerge branch 'plugin-automation'
Jeremy Carter [Tue, 11 Nov 2014 23:07:44 +0000 (18:07 -0500)]
Merge branch 'plugin-automation'

9 years agoAdded Write All, Play All, etc. automation buttons to generic plugin UI
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

9 years agofix/amend b84b0bfd
Robin Gareus [Tue, 11 Nov 2014 20:46:29 +0000 (21:46 +0100)]
fix/amend b84b0bfd

9 years agoclean up after ourselves
Robin Gareus [Tue, 11 Nov 2014 14:35:06 +0000 (15:35 +0100)]
clean up after ourselves

9 years agolinux packaging: add some checks to reduce warnings
Robin Gareus [Tue, 11 Nov 2014 14:29:51 +0000 (15:29 +0100)]
linux packaging: add some checks to reduce warnings

9 years agoadd 512px icon
Robin Gareus [Tue, 11 Nov 2014 14:21:27 +0000 (15:21 +0100)]
add 512px icon

9 years agoosx packaging: add some checks to reduce warnings
Robin Gareus [Tue, 11 Nov 2014 14:20:16 +0000 (15:20 +0100)]
osx packaging: add some checks to reduce warnings

9 years agoosx build script: change default xjadeo/harvid cache folder
Robin Gareus [Tue, 11 Nov 2014 14:18:45 +0000 (15:18 +0100)]
osx build script: change default xjadeo/harvid cache folder

9 years agofix osx startup script /usr/local test
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.