13
0
Commit Graph

75 Commits

Author SHA1 Message Date
10747bc980 Mixer page: ESC should deselect all mixer strips and processors 2014-07-28 11:35:41 -05:00
96171ebe83 several fixes to make processor selection and deletion feel right, for both mixer and editor-mixer strips 2014-07-24 22:49:47 -05:00
61c66afd4c Revert previous select-strips-under-mouse behavior
However, keep the path for deletions in the editor-mixer via _entered_mixer_strip
TODO:  if nothing was deleted, assume the user was trying to delete something in the editor instead
Show selected plugins by a red border
TODO:  more work on the selection model for plugins and mixer strips
2014-07-24 11:28:31 -05:00
b29e324ee4 Mixer selection follows mouse
This eliminates ambiguity about which strip the keybindings will affect.
Hold shift to make a quick group from adjacent mixer strips.
2014-07-23 15:41:14 -05:00
5d6dc388f7 fix some confusion when redrawing editor/mixer track/strip displays after track/bus deletion
The code relied on the idea that the order-key resync that occurs after deletion would change the order keys and thus cause
a redisplay. But since both the editor and mixer can initiate an order-key resync, the other window's resync will actually
do nothing (the order keys will already be correct). This led to the incorrect placement of material in the tracks canvas,
because the first resync triggered a redisplay while the route still existed, and then the second resync didn't cause a
redisplay (repositioning) but the canvas elements representing the track went away.

Fixed by forcing a redisplay in both editor and mixer if a route deletion is believed to be triggering a row deletion
in their underlying data models.
2014-06-20 21:52:24 -04:00
Adrian Knoth
5f45828c67 Add option to display the mixer in fullscreen
This is useful for dual-head setups.
2014-03-21 16:08:53 +01:00
nick_m
5b62e88fbf Unify editor / mixer ordering. 2013-10-21 00:19:43 +11:00
fc367f9b21 save width of mixer-strip when changing _all_ strips 2013-07-10 21:40:42 +02:00
db34831b18 redesign toggling of editor/mixer stacking to use Gtkmm2ext::VisibilityTracker 2013-04-26 14:12:52 -04:00
3fa84d0caa add alt-i as a binding in both the editor and mixer windows to toggle the state of MIDI input on the selected track(s); in the mixer this will also operate on the strip under the mouse. fixes #4838
git-svn-id: svn://localhost/ardour2/branches/3.0@13475 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:19:04 +00:00
f750aa3207 fix serious logic error in re-ordering treeviews after route order keys/RIDs change - fixes major memory corruption bug that overwrote random memory as soon as a track gets deleted and/or user-defined remote IDs are in use
git-svn-id: svn://localhost/ardour2/branches/3.0@13355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-27 00:15:45 +00:00
e43d91949b more work on RID and editor/mixer order matching; when a track/bus is hidden in the GUI controlling RID, it gets a extremely large RID to prevent it showing up on a control surface (but ... for now ... is still visible in the other GUI, even if "sync order between mixer + editor" is enabled); change font in editor route list
git-svn-id: svn://localhost/ardour2/branches/3.0@13054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-19 22:35:43 +00:00
11415b49be first pass at the big rethink of managing sort order keys for editor and mixer. this appears to work, but remote control IDs are not yet correct (frequently off by one because of the presence of the master bus in the editor)
git-svn-id: svn://localhost/ardour2/branches/3.0@12953 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-27 22:57:06 +00:00
97d920593f drastic rethink of the relationship between remote control ID and route order keys. unless the user explicitly switches to UserOrdered, Route::_remote_control_id is an unallocated pointer, and Route::remote_control_id() simply returns a value based on the relevant order_key() value. Also, change the key used in the Route::order_keys std::map<> from a string to an enum, since there is no evidence that we are benefitting from the theoretical benefit of using a string. Generally tidy up allocation of order keys so that the master and monitor busses always get a "special" MixerSort key value, based on the MMC ID for master (already defined within Ardour), and all other tracks/busses start at zero. Syncing keys between editor and mixer will leave the MixerSort key for the master and monitor bus alone, reflecting the fact that we display these in their own distinct parts of the GUI and they are not orderable like other tracks or busses within the mixer window
git-svn-id: svn://localhost/ardour2/branches/3.0@12923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 12:46:13 +00:00
Carl Hetherington
f6e869d50d Remove some unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@12574 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06 11:23:45 +00:00
508c5eb5bd make monitor section an optional feature than can be added/removed as needed. this is a big commit, and breakage is possible. it has been moderately tested. this commit also locks the remote control ID of the master bus to 318 and the monitor section (if any) to 319. the numbers are based on MIDI Machine Control limits
git-svn-id: svn://localhost/ardour2/branches/3.0@11256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 01:30:44 +00:00
e2757229a7 provide link-editor-and-mixer-selection option. gui implementation is slightly hacky because of the implicit endless loop that the link creates
git-svn-id: svn://localhost/ardour2/branches/3.0@10624 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 19:33:09 +00:00
8f078d7fd4 drastic overhaul of keyboard handling in mixer window. real bindings, key events handled at window level, actions for all processor ops. still the confusing mess of old crap for the processor box context menu (it will die, i feel it)
git-svn-id: svn://localhost/ardour2/branches/3.0@10442 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-04 17:53:21 +00:00
Carl Hetherington
f744c8ac93 Put session-modified asterix in mixer window title as well
as editor (#4285).


git-svn-id: svn://localhost/ardour2/branches/3.0@10065 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-07 15:07:02 +00:00
Carl Hetherington
6abc468aeb Fix hang on session close that I introduced with the route group changes.
git-svn-id: svn://localhost/ardour2/branches/3.0@9388 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 01:24:40 +00:00
Carl Hetherington
480986bb60 Save route group reorderings in the session file. Link changes in the mixer and editor group lists (part of #3918).
git-svn-id: svn://localhost/ardour2/branches/3.0@9377 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-19 15:46:47 +00:00
Carl Hetherington
9766e40235 Put add route/bus button at the bottom of the mixer window track display (#3688)
git-svn-id: svn://localhost/ardour2/branches/3.0@8488 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-09 19:09:56 +00:00
Carl Hetherington
d3cde0ba11 Factor out track display setup code into its own method.
git-svn-id: svn://localhost/ardour2/branches/3.0@8487 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-09 19:09:49 +00:00
da8eec7a83 remove Glib::ustring from gtk2_ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@7774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14 16:51:02 +00:00
Carl Hetherington
e2b5f355fb Various route group menu tweaks.
git-svn-id: svn://localhost/ardour2/branches/3.0@7446 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-19 23:26:40 +00:00
c51d6a1582 build fix
git-svn-id: svn://localhost/ardour2/branches/3.0@7198 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-31 15:55:30 +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
Carl Hetherington
b68256a8ff Fix up route group state signal handling. Make the PropertyList version
of Stateful::set_properties emit a changed signal after it has done its work.


git-svn-id: svn://localhost/ardour2/branches/3.0@6826 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02 00:21:08 +00:00
f0748535a5 save tearoff state; restore monitor section state reasonably well; fixup access control to parts of editor.h (needs more work); extend CrossThread just a little
git-svn-id: svn://localhost/ardour2/branches/3.0@6774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-19 02:49:01 +00:00
325671e20a how about that ... a monitor/main section .. GUI is still unfinished .. several small fixes to processor loading/listen mgmt and a few debug output lines rmeoved. knob images are provisional, and can be found in icons/knob.png and related files
git-svn-id: svn://localhost/ardour2/branches/3.0@6744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-10 17:31:16 +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
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
c4ac437490 * libardour uses ARDOUR::nframes_t and ARDOUR::nframes64_t explicitly in headers
* use explicit operator<< and operator>> that in turn use PBD::EnumWriter when serializing and deserializing to/from rc files
* adds scrolling in mixer window (from 2.X)
* BBT math stuff - untested, but basically operational
* move LocaleGuard into its own file(s) in libs/pbd
* Tempo now uses nframes64_t everywhere (except for sample rate values)
* as in 2.X, use mkstemp and hack to avoid temp file nonsense, and remove erroneous free() from disk stats output


git-svn-id: svn://localhost/ardour2/branches/3.0@5961 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-28 21:36:40 +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
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
Carl Hetherington
168b1471dc Fix sync of editor and mixer route ordering.
git-svn-id: svn://localhost/ardour2/branches/3.0@5453 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-02 00:33: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
Carl Hetherington
36564e4f91 Use std::string for order key map.
git-svn-id: svn://localhost/ardour2/branches/3.0@5318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-04 12:40:26 +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
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
Carl Hetherington
3b89d9eaa0 Remove most using declarations from header files.
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +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
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
70b939da4f first pass at internal sends. this is a very tentative work in progress, and it is possible that major changes may follow in the near future. it is certainly not complete, but the fundamental changes to Port/Buffer operation merit a commit at this point
git-svn-id: svn://localhost/ardour2/branches/3.0@4464 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30 07:40:13 +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
42db44c193 merge 3870-3890 from 2.0-ongoing into 3.X (compiles, runs, no other promises
git-svn-id: svn://localhost/ardour2/branches/3.0@4303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-08 18:16:12 +00:00
cb41314642 merge 3.0 from 2.0-ongoing@3243
git-svn-id: svn://localhost/ardour2/branches/3.0@3248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11 14:06:50 +00:00