13
0
Commit Graph

291 Commits

Author SHA1 Message Date
Carl Hetherington
b5fcd80ed6 Fix crash on updating route IOs, and clean up confusing method names slightly.
git-svn-id: svn://localhost/ardour2/branches/3.0@8058 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-19 16:34:50 +00:00
b85b4d9e54 make ardour3 build and link on OS X (tiger, at least)
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13 05:14:48 +00:00
7d2cd8ed5c don't allow mixer strip input buttons to change input while recording (from colinf)
git-svn-id: svn://localhost/ardour2/branches/3.0@7888 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-08 18:41:59 +00:00
Carl Hetherington
42dcf814e3 Patch from Colin to move panners above the fader so that faders align even with different panner sizes. Also fix mono button label. Fixes #3410.
git-svn-id: svn://localhost/ardour2/branches/3.0@7788 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-16 17:01:40 +00:00
Carl Hetherington
579fcb70e2 First go at saving window visibility and position state across saves.
git-svn-id: svn://localhost/ardour2/branches/3.0@7644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-18 02:20:15 +00:00
Carl Hetherington
063b91313f Implement per-channel phase invert. Fixes #3392. Breaks loading of existing 3.0 session files.
git-svn-id: svn://localhost/ardour2/branches/3.0@7621 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13 21:33:01 +00:00
Carl Hetherington
3cce57d490 Give mixer strips panners and a mono button based on the type of its outputs, not of its track.
git-svn-id: svn://localhost/ardour2/branches/3.0@7581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-10 00:09:25 +00:00
Carl Hetherington
4f2c3f0fb6 Remove mono button and panner from MIDI mixer strips.
git-svn-id: svn://localhost/ardour2/branches/3.0@7512 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 03:09:42 +00:00
Carl Hetherington
5f67a72c34 Basic tweaks to make the bundles and the port matrix accept that MIDI tracks may have audio IO, and vice versa. Allows connection of instrument tracks using the global port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@7335 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-30 02:59:13 +00:00
1ee298a235 new fade in/out handle cursors from chrisg (maybe to be improved); show MIDI note velocities; try to show note length while dragging notes (in progress); some debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@7271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 22:09:07 +00:00
a01dc9b6f2 remove almost-unusued stop_signal.h and clean up the one (unused) place where it was present (VisualTimeAxis, not used in current ardour)
git-svn-id: svn://localhost/ardour2/branches/3.0@7196 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-31 14:21:43 +00:00
Carl Hetherington
d044036297 Copy-edit.
git-svn-id: svn://localhost/ardour2/branches/3.0@7075 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-07 00:18:47 +00:00
f2ceb5c340 lots of odds and ends to do with solo isolate and its GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@7072 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-06 18:40:37 +00:00
c52a0d1efc relayout solo led stuff, as per the boss' requests :)
git-svn-id: svn://localhost/ardour2/branches/3.0@7069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-06 01:31:48 +00:00
1ae1eeb257 led\'s for solo-safe and solo-isolate, rather than a context menu (mixer strip only). not finished and some logic errors in terms of turning things on and off
git-svn-id: svn://localhost/ardour2/branches/3.0@7066 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-05 20:29:46 +00:00
a8e354ed7b yet more work on Ye Fabled Solo Architecture. now do forward and backward propagation of solo status from a soloed track. tweak GUI appearance
git-svn-id: svn://localhost/ardour2/branches/3.0@7001 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-27 03:10:53 +00:00
Carl Hetherington
061a85191c Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstreams. Breaks 3.0 file format again.
git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21 20:42:22 +00:00
f119387d76 indicate "soloed-by-others" state on solo button via a "half-lit" state
git-svn-id: svn://localhost/ardour2/branches/3.0@6939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-20 12:38:37 +00:00
Carl Hetherington
0ec8383428 No-op: Formatting tweak.
git-svn-id: svn://localhost/ardour2/branches/3.0@6924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-17 22:50:17 +00:00
7c3367c543 put mixer strip track name button context menu back on button3 ONLY, and make button1 press revert the display to the track if it was displaying a send
git-svn-id: svn://localhost/ardour2/branches/3.0@6918 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-16 19:31:57 +00:00
Carl Hetherington
2a4f4e2763 Make record button appear in MIDI mixer strips. Fixes part of #2740.
git-svn-id: svn://localhost/ardour2/branches/3.0@6881 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-10 00:24:27 +00:00
Carl Hetherington
2148c34c6a Update phase invert button on reload, and stop inserting phi into route names to signify invert.
git-svn-id: svn://localhost/ardour2/branches/3.0@6869 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-07 01:22:58 +00:00
3104041e67 meter point restore handling, and related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6854 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-03 13:40:34 +00:00
f7a9434034 functioning invert (polarity) button; menu item removed and track name button no longer relablled when inverted
git-svn-id: svn://localhost/ardour2/branches/3.0@6813 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-31 00:59:09 +00:00
6721d997b1 add (non-functional) invert (phase/polarity switch) button
git-svn-id: svn://localhost/ardour2/branches/3.0@6811 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 17:44:02 +00:00
14b0ca31bc handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big)
git-svn-id: svn://localhost/ardour2/branches/3.0@6807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 15:18:43 +00:00
b5c21e65fc finish commit from yesterday ... sorry folks
git-svn-id: svn://localhost/ardour2/branches/3.0@6786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-23 12:19:21 +00:00
d163021950 lots of tricks & tweaks related to the monitor section and All That It Uses
git-svn-id: svn://localhost/ardour2/branches/3.0@6777 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-19 20:53:22 +00:00
6ef5d85ae1 changes from 2.X starting in march 2009 through oct 20 2009 (5826 inclusive)
git-svn-id: svn://localhost/ardour2/branches/3.0@6761 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-16 15:33:04 +00:00
fa701b8c06 change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 18:09:08 +00:00
ce7a5e1c9f the Properties & 64bit region commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
b5148d93d5 Add keyboard shortcut to tooltip text where possible.
git-svn-id: svn://localhost/ardour2/branches/3.0@6657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-09 00:50:24 +00:00
8d64ce26c4 Remove weird/pointless Automatable::data().
git-svn-id: svn://localhost/ardour2/branches/3.0@6637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-05 20:03:57 +00:00
Carl Hetherington
8eb081e546 Move a couple of connect() calls up the class hierarchy.
git-svn-id: svn://localhost/ardour2/branches/3.0@6442 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-04 14:54:08 +00:00
b6f4cdaea2 rationalize destruction pathway (some more); tidy-ify some ImageFrame code
git-svn-id: svn://localhost/ardour2/branches/3.0@6398 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-25 21:06:52 +00:00
c83389b8ec cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked)
git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 20:21:43 +00:00
f450df300c fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
aae367b63c use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +00:00
f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
8687895abb remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
61cade6d59 drastic, deep and wide changes to make RouteGroup use boost::shared_ptr<Route> and boost::shared_ptr<RouteList> to better fit into emerging framework for "RT operations" ; torben's changes to MTC slaving code (sorry for bundling)
git-svn-id: svn://localhost/ardour2/branches/3.0@6334 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 03:25:32 +00:00
Carl Hetherington
abd80d0f64 Clean up and comment PortMatrix event handling a bit.
Fix problems with attempts to access Session after it has been
destroyed.


git-svn-id: svn://localhost/ardour2/branches/3.0@6290 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-05 03:04:54 +00:00
Carl Hetherington
a1c28e4535 Save some unnecessary updates of the processor box.
git-svn-id: svn://localhost/ardour2/branches/3.0@6286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 21:45:07 +00:00
Carl Hetherington
12c9728530 Make processor box send faders adjust their size correctly.
git-svn-id: svn://localhost/ardour2/branches/3.0@6280 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 17:45:11 +00:00
Carl Hetherington
fddc11f556 Various optimisations to speed up rec-enable.
git-svn-id: svn://localhost/ardour2/branches/3.0@6227 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-30 23:16:28 +00:00
78503905d7 make sure that delivery processors in a soloed route keep working when the route is soloed ; fiddle with sensitivity of mixer strip output button when displaying sends
git-svn-id: svn://localhost/ardour2/branches/3.0@6139 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-20 21:43:19 +00:00
908b1c9301 provide some indication that the fader/strip are controlling a send
git-svn-id: svn://localhost/ardour2/branches/3.0@6138 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-20 17:11:00 +00:00
8f7f171877 make strip-as-GUI-for-send work for metering too ; frame around session summary widget ; tooltip for editor group tabs ; route group dialog name entry is now activatable (return == click on ok)
git-svn-id: svn://localhost/ardour2/branches/3.0@6137 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-20 15:26:34 +00:00
57e1358fb2 add "custom" meter option which is the only option where the meter processor is visible in the UI; hide main outs always
git-svn-id: svn://localhost/ardour2/branches/3.0@6126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-18 20:01:37 +00:00
Carl Hetherington
dbb0b9ca4f Various adjustments to user bundle handling, with the general aim of allowing the user to create meaningful bundles with respect to their sound card an outboard setup, and having those user bundles take priority over ardour-generated ones.
git-svn-id: svn://localhost/ardour2/branches/3.0@6050 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-10 03:16:57 +00:00
370752bf24 Make deferred plugin stuff work with old compiler or different sigc version or whatever.
git-svn-id: svn://localhost/ardour2/branches/3.0@5878 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 01:00:13 +00:00
155338d168 Defer plugin discovery until actually needed (significant startup time improvement, especially with LV2).
git-svn-id: svn://localhost/ardour2/branches/3.0@5859 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 17:17:34 +00:00
Carl Hetherington
0849685f85 Delete comment window in destructor to close mantis 1870.
git-svn-id: svn://localhost/ardour2/branches/3.0@5831 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 22:58:50 +00:00
Carl Hetherington
917f02e5f6 Fix button labelling for >1 input / output routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@5807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 17:45:51 +00:00
Carl Hetherington
7b94110c54 Add mono switch to mixer strips (mantis 1068)
git-svn-id: svn://localhost/ardour2/branches/3.0@5797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 14:46:15 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
8c4ce1e2ce writable session patch, forward ported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@5770 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-13 20:43:28 +00:00
77364b0e25 fix use of connection_index
git-svn-id: svn://localhost/ardour2/branches/3.0@5744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06 16:07:48 +00:00
db6be4829e industrial-strength-ifying of io connection name cleanup
git-svn-id: svn://localhost/ardour2/branches/3.0@5743 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06 15:59:37 +00:00
3b54a75aa9 i/o button naming patch and imported file BWF timecode retention patch from nickm, both reworked for 3.0
git-svn-id: svn://localhost/ardour2/branches/3.0@5711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-01 20:40:51 +00:00
Carl Hetherington
1aa38f074f Don't setup panner UI unless it has changed.
git-svn-id: svn://localhost/ardour2/branches/3.0@5606 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-30 00:40:48 +00:00
Carl Hetherington
95c4046ff9 Set route remote control IDs from a dialog rather than a menu. I think this is
more practical (especially with large track counts), and also prevents a N-entry
menu being built for each of N tracks every time the mixer strip order is changed,
which speeds some operations up.


git-svn-id: svn://localhost/ardour2/branches/3.0@5605 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-29 23:31:59 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
f411496289 fix clicking when processors become active/inactive; reduce crazy 2.5sec delay for quit dialog
git-svn-id: svn://localhost/ardour2/branches/3.0@5402 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 14:39:21 +00:00
f01af9836e fix broken accels in mixer window BUT note that processor box now swallows keys that have default GTK functions in a tree/listview, like space. thinking about possible solutions to this. added zero key (0) to reset gain to 0dB
git-svn-id: svn://localhost/ardour2/branches/3.0@5361 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-14 01:24:16 +00:00
17bfb7cad5 traverso-style mixer window bindings. note: messes up some bindings when mouse is not in the processor box (fix to follow); notes: m=mute, s=solo, g=gain_up ctrl-g=gain_down r=rec-enable e=show-sends KP_0=toggle processor active status (selected or pointed-at)
git-svn-id: svn://localhost/ardour2/branches/3.0@5356 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-13 23:09:16 +00:00
88beef2e93 merge pre- and post-fader processor boxes; start removing Placement (not finished) ; add -DWAF_BUILD and use per-directory foobar-config.h to correctly pick up configure-time settings like HAVE_OGG ; check for libgiomm (part of upgrade to newer gtk stack); 32 bit marker reload fix from 2.X; audiounit IO config cache fix from 2.X; multi-add route template fix from 2.X; plugin GUI delete fix from 2.X; solo button labels are A or P for listen mode
git-svn-id: svn://localhost/ardour2/branches/3.0@5344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-13 00:26:28 +00:00
0d6515a243 separate solo & listen. some minor fixes and additional related fixes still to come
git-svn-id: svn://localhost/ardour2/branches/3.0@5298 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-01 13:36:50 +00:00
Carl Hetherington
26328c9ef1 lincoln's patch from mantis 2757 to add route group property checkboxes in the route groups
editor list, and to initialise new route groups with some appropriate properties.


git-svn-id: svn://localhost/ardour2/branches/3.0@5295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-29 00:57:27 +00:00
Carl Hetherington
7a4f1b9cf6 Factor route group menu out into its own class.
git-svn-id: svn://localhost/ardour2/branches/3.0@5292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-29 00:38:58 +00:00
Carl Hetherington
acaf05db1d Update mixer group tabs on strip width change. Don't display the mixer group tab menu if there's not a group involved.
git-svn-id: svn://localhost/ardour2/branches/3.0@5265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-23 23:05:14 +00:00
f71a197270 save&restore gain levels; provide GUI control over relative route group bit; fix up solo/mute/recenable button naming as mixer strip width is set
git-svn-id: svn://localhost/ardour2/branches/3.0@5263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-23 21:29:39 +00:00
d13fdaa9d1 make RouteGroup gain control work again ; fix what solo button label shows under different conditions; other miscellania
git-svn-id: svn://localhost/ardour2/branches/3.0@5262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-23 20:02:15 +00:00
Carl Hetherington
7d64d08fab Bit of a hack: limit mix group names to 5 chars within the strip to stop them getting too wide.
git-svn-id: svn://localhost/ardour2/branches/3.0@5250 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-22 22:31:43 +00:00
Carl Hetherington
955d731fa6 Merge edit and mix groups to just being route groups. Add properties to route groups to decide what things their member routes will share. Allow edits to happen across a route group without its tracks necessarily being selected.
git-svn-id: svn://localhost/ardour2/branches/3.0@5236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-21 19:59:56 +00:00
Carl Hetherington
be3aff4bda Mix group tabs in the mixer.
git-svn-id: svn://localhost/ardour2/branches/3.0@5228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-20 17:15:33 +00:00
86f24d20e1 first pass (ok, third really) at internal send+return - audio routing inside ardour without JACK. lots still to do, but at least the obvious works
git-svn-id: svn://localhost/ardour2/branches/3.0@5202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-16 14:58:33 +00:00
51ef434382 make meter point button work again, and allow momentary button action to work again
git-svn-id: svn://localhost/ardour2/branches/3.0@5161 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-11 00:44:48 +00:00
e6eb059576 the big Route structure refactor. !!!! THIS WILL ***NOT LOAD*** PRIOR 3.0 or 2.X SESSIONS !!!! BREAKAGE IS EXPECTED !!!! IF YOU HAVE AND NEED A WORKING 3.0 DO **NOT** UPDATE. !!!! otherwise, update and enjoy the steadily emerging joys of this major reworking of ardour internals
git-svn-id: svn://localhost/ardour2/branches/3.0@5137 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09 20:21:19 +00:00
5a4d340b42 Das BlinkenSendButtons
git-svn-id: svn://localhost/ardour2/branches/3.0@5097 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-17 17:05:56 +00:00
6001b8d28d send control now has working metering, and switches back and forth between busses etc. correctly.
git-svn-id: svn://localhost/ardour2/branches/3.0@5092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-17 14:11:16 +00:00
7deb14773b 75% (?) of the way towards making mixer strips control bus sends. lots more to do
git-svn-id: svn://localhost/ardour2/branches/3.0@5090 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-17 02:08:13 +00:00
7183242b8c The great audio processing overhaul.
The vast majority of Route signal processing is now simply in the list of
processors.  There are definitely regressions here, but there's also
a lot of things fixed.  It's far too much work to let diverge anymore
regardless, so here it is.

The basic model is: A route has a fixed set of input channels (matching
its JACK input ports and diskstream).  The first processor takes this
as input.  The next processor is configured using the first processor's
output as input, and is allowed to choose whatever output it wants
given that input... and so on, and so on.  Finally, the last processor's
requested output is used to set up the panner and create whatever Jack
ports are needed to output the data.

All 'special' internal processors (meter, fader, amp, insert, send) are
currently transparent: they read any input, and return the same set
of channels back (unmodified, except for amp).

User visible changes:
 * LV2 Instrument support (tracks with both MIDI and audio channels)
 * MIDI in/out plugin support
 * Generic plugin replication (for MIDI plugins, MIDI/audio plugins)
 * Movable meter point

Known Bugs:
 * Things seem to get weird on loaded sessions
 * Output delivery is sketchy
 * 2.0 session loading was probably already broken...
   but it's definitely broken now :)

Please test this and file bugs if you have any time...



git-svn-id: svn://localhost/ardour2/branches/3.0@5055 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-07 06:30:50 +00:00
18b94f129d lincoln's route connection cleanup patch
git-svn-id: svn://localhost/ardour2/branches/3.0@4996 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-22 01:49:48 +00:00
54d9f2f2d8 first half of the mega-by-hand-commit-by-commit merge from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@4980 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-15 18:04:23 +00:00
Sakari Bergen
e09c51251f Fix compiler warnings
git-svn-id: svn://localhost/ardour2/branches/3.0@4744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-07 09:42:39 +00:00
d50b65773a fix up kludgy assumptions about mixer strip route ops menu ordering
git-svn-id: svn://localhost/ardour2/branches/3.0@4734 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-05 17:25:52 +00:00
7a5adcbe72 allow dragging of automation lines (Ben Loftis, backported from 2.X)
git-svn-id: svn://localhost/ardour2/branches/3.0@4715 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 18:08:15 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
Carl Hetherington
567f37f8eb Offer routes on mixer strip IO menus. Fixes to these menus on MIDI routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@4528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 02:14:01 +00:00
Carl Hetherington
54afc94e62 Re-enable creation of stereo bundles for system IO, so that the mixer strip
connection menus for stereo tracks are populated again.
Also enable disconnection via these menus.


git-svn-id: svn://localhost/ardour2/branches/3.0@4481 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 22:17:06 +00:00
aaa91db6d9 Trim include dependency graph, especially for io.h and session.h.
Clean up some stuff and other such gruntwork in the process.


git-svn-id: svn://localhost/ardour2/branches/3.0@4468 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30 20:18:31 +00:00
Carl Hetherington
c9e0804e9f Change input/output selector button behaviour so that button 1 opens the port matrix and button 3 opens the menu.
git-svn-id: svn://localhost/ardour2/branches/3.0@4450 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-28 00:04:46 +00:00
Carl Hetherington
49510ba1d7 Some refactoring. Add port group headers to the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@4443 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-25 06:47:11 +00:00
Carl Hetherington
bed58e9f37 Make Bundles work a bit better. A few include optimisations.
git-svn-id: svn://localhost/ardour2/branches/3.0@4408 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-14 23:54:46 +00:00
Carl Hetherington
4e1f451520 Remove unnecessary 0 checks before delete; see http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8 Apologies for the big commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@4332 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-18 19:31:00 +00:00
Carl Hetherington
2ebb1af299 Implement #2425: option for automation to follow region moves.
git-svn-id: svn://localhost/ardour2/branches/3.0@4326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-16 23:21:01 +00:00
7b5e8bf0f7 make all mixerstrip elements visible in the mixer window. at least, i think that is everything - trying to move away from using show_all()
git-svn-id: svn://localhost/ardour2/branches/3.0@4321 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-14 07:59:33 +00:00
bc89fe0147 most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 14:43:24 +00:00
3be16e8afb partial patch/partial by-hand merge of 2.X commits 3169&3170 to 3.X codebase
git-svn-id: svn://localhost/ardour2/branches/3.0@4300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-08 16:07:28 +00:00
6b0d22268b Normalize XML property name style, preserving old session loading (on load _ will be converted to -).
Still to go:  Non-consistent PBD tag names, colours.


git-svn-id: svn://localhost/ardour2/branches/3.0@3872 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-05 23:14:48 +00:00
ec6ab8a048 Apply panners/automation patch from torbenh (Panner is-a Processor).
git-svn-id: svn://localhost/ardour2/branches/3.0@3848 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-03 03:16:19 +00:00
d357eca668 Factor out sequencing related things into an independant new library: "evoral".
Anything related to the storage of events/values over a range of time lives in evoral.
This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList),
	Automatable (Evoral::ControlSet), etc).
libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511.


git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 00:47:49 +00:00
b0424889b3 make tracks visible again
git-svn-id: svn://localhost/ardour2/branches/3.0@3719 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-12 09:01:52 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
Hans Baier
d9de6f2c4c * preliminary impl for PGM Change support in MidiModel
git-svn-id: svn://localhost/ardour2/branches/3.0@3283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-24 15:04:56 +00:00
Hans Baier
b81fd9415e * disabled some debugging output
* make record buttons appear in MIDI mixer strips

git-svn-id: svn://localhost/ardour2/branches/3.0@3280 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-22 22:39:45 +00:00
997e4b1f9c merge with 2.0-ongoing @ rev 3147
git-svn-id: svn://localhost/ardour2/branches/3.0@3152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-17 20:54:03 +00:00
b03676f9a6 Hopefully fix missing meter/fader on mixer.
git-svn-id: svn://localhost/ardour2/branches/3.0@3106 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-22 01:49:33 +00:00
8aa9508c82 Merge with 2.0-ongoing R3071.
git-svn-id: svn://localhost/ardour2/branches/3.0@3073 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-16 22:43:18 +00:00
bb457bb960 Merge libs/ardour and gtk2_ardour with 2.0-ongoing R2837.
git-svn-id: svn://localhost/ardour2/trunk@2883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-10 21:20:59 +00:00
Carl Hetherington
56ab60f163 Don't give master or control routes a hide button, to fix #1645
git-svn-id: svn://localhost/ardour2/trunk@2585 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-11-04 16:41:49 +00:00
Carl Hetherington
77f16522e0 Various work on bundles. We now have a Bundle Manager dialogue, and hopefully things are a bit cleaner internally. This commit changes the session file format with respect to bundles (or Connections as they used to be called).
git-svn-id: svn://localhost/ardour2/trunk@2561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-19 13:30:07 +00:00
f7f9d6fdc4 merge from 2.0-ongoing by hand, minus key binding editor
git-svn-id: svn://localhost/ardour2/trunk@2539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-11 22:07:47 +00:00
Carl Hetherington
4d66204f4e Various work on Bundles, especially dynamic ones so that you can, for example, pass tracks to busses by selecting the buss name from the track's output menu.
git-svn-id: svn://localhost/ardour2/trunk@2530 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-08 23:47:35 +00:00
Doug McLain
8144a70087 finish show() stuff for mixer strip and friends
git-svn-id: svn://localhost/ardour2/trunk@2126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-07 09:36:56 +00:00
Doug McLain
af8acbcc88 more show() stuff, and replaced strip->show_all(); untill its actually finished
git-svn-id: svn://localhost/ardour2/trunk@2124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-07 05:04:34 +00:00
Doug McLain
f87954eeb5 show() widgets explicitly in the MixerStrip and IOSelector
git-svn-id: svn://localhost/ardour2/trunk@2122 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-06 23:55:54 +00:00
cfe29a14ee Scale MIDI track vertical range to match widgest range of notes in child regions.
Fiddled with canvas theme a bit to make tempo more visible and probably annoy pure audio MIDI/tempo haters.
Fix track-specific-color display on mixer strips for MIDI tracks.


git-svn-id: svn://localhost/ardour2/trunk@2112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-05 07:02:24 +00:00
bbf4175713 Another not-quite-there-but-better commit.
Brought plugin automation into the fold of new automation system.
Fixed plugin automation, broke panner automation :] (pending Panner work).
Made AutomationController better at automatically following it's controller value (mimic what gain meter does).
Fixed some visible automation track bugs (but still broken WRT serialization).


git-svn-id: svn://localhost/ardour2/trunk@2092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-30 18:41:50 +00:00
24ccaac67e Further automation refactoring - bring in the concept of Controllable, work towards
making automation + GUI + play/write/touch generic and easily reusable.
Added bar controller to automation track controls (mostly relevant for MIDI CC, but added for gain and pan too Just Because).
Fixed glaring "redirect" list errors.
Fix plugin controls/automation loading.


git-svn-id: svn://localhost/ardour2/trunk@2080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29 04:02:58 +00:00
b5af3bb8e3 allow user tweaking of everything that might have inherent latency; add GUI for track level adjustment and widget that can be (but is not yet) embedded in a plugin GUI
git-svn-id: svn://localhost/ardour2/trunk@2075 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27 22:06:35 +00:00
05bcdd1d4c Renamed Insert to Processor and Redirect to IOProcessor.
git-svn-id: svn://localhost/ardour2/trunk@2071 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27 20:23:48 +00:00
d7bd270aa1 Big ol' automation refactor.
Things with automation parameters now inherit from Automatable, which handles serialization, fetching/adding/removing parameters, etc.
Use AutomationList everywhere instead of Curve, make Curve a member of AutomationList instead (towards other types of "Curve" needed for CC, among other things).
Work towards MIDI CC sending "automation" tracks.


git-svn-id: svn://localhost/ardour2/trunk@2069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-27 15:51:50 +00:00
49ee64ada7 Insert/Redirect refactoring, towards better MIDI support in mixer strip, and
http://ardour.org/node/1043 style things.


git-svn-id: svn://localhost/ardour2/trunk@2027 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-23 20:13:13 +00:00
cd9fdb935f Use boost::shared_ptr instead of raw pointers for RouteUI track (etc) accessors (fix FIXME in route_ui.h).
git-svn-id: svn://localhost/ardour2/trunk@1986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-15 22:05:07 +00:00
e607e1f8f2 Removed panner UI from MIDI track mixer strip.
Fix MIDI track controls and mixer strip colours.
Changed selected track controls colour to be more visible and match selected tool colour.


git-svn-id: svn://localhost/ardour2/trunk@1984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-15 19:58:19 +00:00
70fd14afe8 Show selected MIDI track in editor mixer.
Minor code cleanups.


git-svn-id: svn://localhost/ardour2/trunk@1949 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-04 00:05:33 +00:00
38ed75ff97 merge denormal handling work from 2.0-ongoing
git-svn-id: svn://localhost/ardour2/trunk@1937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-01 02:27:21 +00:00
Carl Hetherington
fd6408e6ba Rename ARDOUR::Connection to ARDOUR::Bundle, a few minor cleanups along the way.
git-svn-id: svn://localhost/ardour2/trunk@1882 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-18 15:58:01 +00:00
b3fe7cfc89 Merged with trunk R1761
git-svn-id: svn://localhost/ardour2/branches/midi@1762 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-29 17:23:11 +00:00
99904735e0 Merged with trunk R1612.
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18 06:07:08 +00:00
532f6aad4a Merged with trunk R1283.
NOTE: Compiles, but broken (crash on adding MIDI track).


git-svn-id: svn://localhost/ardour2/branches/midi@1292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-09 23:24:54 +00:00
ef6b25432d Merged with trunk R1141
git-svn-id: svn://localhost/ardour2/branches/midi@1142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-11-19 16:45:16 +00:00
a98a67120e Merged with trunk R795
Fiddled with scrolling to leave a bit of context on each side.  'scroll interval' is a single float, should make it a configuration variable some day


git-svn-id: svn://localhost/ardour2/branches/midi@796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12 19:43:09 +00:00
cbdf686e39 - Replaced integer port counts (and input/output maximum/minimum) with ChanCount, which can count multiple types and does the reasonable thing for all comparison operators
- Removed the fader/meters from MIDI mixer strips, at least until they do something
- Made the Add Route dialog refuse to create MIDI busses, Spifftacular warning dialog and all

Changes a bit more widespread than I was hoping, but worked out really well - lots of code will continue to work fine even when multi-typed (eg instrument) IOs come around, just ignoring the types it doesn't care about.  Most all changes related to counts are little search/replace deals, logic doesn't need to change.  Hopefully SVN can handle (automatic) merging with the other SoC projects if the buffer change goes as well.

Next step: do for buffers what the last two commits did for ports.


git-svn-id: svn://localhost/ardour2/branches/midi@787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11 07:15:30 +00:00
0565c75ce8 Merged up to trunk R732
git-svn-id: svn://localhost/ardour2/branches/midi@735 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-01 19:18:12 +00:00
79fc27de2e Mostly Cosmetic/Design changes to bring trunk and midi branch closer
git-svn-id: svn://localhost/ardour2/branches/midi@733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-01 17:19:38 +00:00
8277d134b9 Merged with trunk R708
git-svn-id: svn://localhost/ardour2/branches/midi@712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-28 01:08:57 +00:00
0cdb918d4d Work towards removal of Session's Diskstream list.
Havn't managed to completely remove it because of Session loading from XML - the
Diskstreams are separate from the Tracks (I assume as a throwback to when they
were distinct) so the Diskstreams need to be stored somewhere until the Tracks
are loaded.  Ideally tracks should completely own their Diskstreams - not sure
how to accomplish this without breaking Session loading though...


git-svn-id: svn://localhost/ardour2/branches/midi@687 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-19 05:44:23 +00:00
50a3102b9b Merge big changes (mostly Controllable) from trunk
git-svn-id: svn://localhost/ardour2/branches/midi@682 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-14 03:43:32 +00:00
edd841895b Loading/Saving of sessions containing MIDI tracks and/or busses
git-svn-id: svn://localhost/ardour2/branches/midi@667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-06 19:45:23 +00:00
22c20ab6f2 Merged with trunk, and a few trivial GUI updates etc.
git-svn-id: svn://localhost/ardour2/branches/midi@664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-05 19:47:25 +00:00
fe13d08874 Large nasty commit in the form of a 5000 line patch chock-full of completely
unecessary changes.  (Sorry, doing a "sprint" based thing, this is the end of the first one)

Achieved MIDI track and bus creation, associated Jack port and diskstream creation, and minimal GUI stuff for creating them.  Should be set to start work on actually recording and playing midi to/from disk now.

Relevant (significant) changes:

- Creation of a Buffer class.  Base class is type agnostic so things can point to a buffer but not care what kind it is (otherwise it'd be a template).  Derived into AudioBuffer and MidiBuffer, with a type tag because checking type is necessary in parts of the code where dynamic_cast wouldn't be wise.  Originally I considered this a hack, but passing around a type proved to be a very good solution to all the other problems (below).  There is a 1:1 mapping between jack port data types and ardour Buffer types (with a conversion function), but that's easily removed if it ever becomes necessary.  Having the type scoped in the Buffer class is maybe not the best spot for it, but whatever (this is proof of concept kinda stuff right now...)

- IO now has a "default" port type (passed to the constructor and stored as a member), used by ensure_io (and similar) to create n ports.  IO::register_***_port has a type argument that defaults to the default type if not passed.  Rationale:  previous IO API is identical, no changes needed to existing code, but path is paved for multiple port types in one IO, which we will need for eg synth plugin inserts, among other things.  This is not quite ideal (best would be to only have the two port register functions and have them take a type), but the alternative is a lot of work (namely destroying the 'ensure' functions and everything that uses them) for very little gain.  (I am convinced after quite a few tries at the whiteboard that subclassing IO in any way is not a feasible option, look at it's inheritance diagram in Doxygen and you can see why)

- AudioEngine::register_audio_input_port is now register_input_port and takes a type argument.  Ditto for output.

- (Most significant change) AudioDiskstream abstracted into Distream, and sibling MidiDiskstream created.  Very much still a work in progress, but Diskstream is there to switch references over to (most already are), which is the important part.  It is still unclear what the MIDI diskstream's relation to channels is, but I'm pretty sure they will be single channel only (so SMF Type 0) since noone can come up with a reason otherwise.

- MidiTrack creation.  Same thing as AudioTrack but with a different default type basically.  No big deal here.

- Random cleanups and variable renamings etc. because I have OCD and can't help myself. :)

Known broken:  Loading of sessions containing MIDI tracks.




git-svn-id: svn://localhost/ardour2/branches/midi@641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-26 16:01:34 +00:00
13532c8500 Merged with trunk
git-svn-id: svn://localhost/ardour2/branches/midi@628 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-21 18:14:45 +00:00
b5db1f624d Merged with trunk revision 600
git-svn-id: svn://localhost/ardour2/branches/midi@601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-15 01:34:54 +00:00
74dd5bd706 Committed filthy mess of a working copy solely for moving between machines.
Nothing to see here, move along now...


git-svn-id: svn://localhost/trunk/ardour2midi@575 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-08 23:46:42 +00:00
Nick Mainsbridge
479ee9cc00 Mixer strip layout, emsure correct column expands on treeviews, 'Manual' automation mode labels.
git-svn-id: svn://localhost/trunk/ardour2@519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-05-21 10:11:59 +00:00
Nick Mainsbridge
f88cf52970 Fix bus rec enable bug introduced in last commit
git-svn-id: svn://localhost/trunk/ardour2@518 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-05-20 09:10:13 +00:00