summaryrefslogtreecommitdiff
path: root/gtk2_ardour/io_selector.cc
AgeCommit message (Collapse)Author
2009-05-03Support for the port matrix working at the bundle level and hiding details ↵Carl Hetherington
of ports. git-svn-id: svn://localhost/ardour2/branches/3.0@5029 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25*** NEW CODING POLICY ***David Robillard
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-14If a bundle's channel has no ports associated with it, you can't connectCarl Hetherington
it to anything; mark things up accordingly in the port matrix. git-svn-id: svn://localhost/ardour2/branches/3.0@4557 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10Bit of a hack to make the port matrix for port inserts at least vaguely usable.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@4516 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-09Fixes to bundle manager to make it vaguely usable.Carl Hetherington
Rework signal handling for bundles so that all changes should now be noticed by port matrices. git-svn-id: svn://localhost/ardour2/branches/3.0@4501 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30More port matrix re-working. Global matrix now has separate visibility buttonsCarl Hetherington
for ins and outs. The matrix will now be arranged so that more ports are labelled horizontally than vertically, to aid readability. git-svn-id: svn://localhost/ardour2/branches/3.0@4467 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-27First cut at mouseovers for the port matrix.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@4446 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-25Some refactoring. Add port group headers to the port matrix.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@4443 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-23Add global port matrix dialogs.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@4434 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-21Fix some confusion about relative / non-relative port names. Add some ↵Carl Hetherington
asserts to keep track of what is happening. git-svn-id: svn://localhost/ardour2/branches/3.0@4424 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-21Rework Port class hierarchy a bit. Hopefully now simpler, and shouldCarl Hetherington
support connection of JACK ports with internal ones. git-svn-id: svn://localhost/ardour2/branches/3.0@4417 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-20New matrix-based editor for connections and bundles, based on thorwil's design.Carl Hetherington
Add Bundle Manager dialog. git-svn-id: svn://localhost/ardour2/branches/3.0@4415 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-13Improvements to the port matrix (I think). Sizing of the cairo section ↵Carl Hetherington
should be better. Clicking on nodes performs port connects / disconnects. git-svn-id: svn://localhost/ardour2/branches/3.0@4402 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-14bump required version of GTK, SLV2; basic fixups so that the new port-matrix ↵Paul Davis
io-selector actually shows up, even if its ugly and not working correctly git-svn-id: svn://localhost/ardour2/branches/3.0@4322 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-07revert last fix - its not relevant to 3.0 (yet)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-01next region list fix from chris g; more tweaks to port matrix/ioselector; ↵Paul Davis
remove spurious _y_position from audio_region_view git-svn-id: svn://localhost/ardour2/branches/3.0@3844 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-30more tweaks to the IO SelectorPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3840 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29subtle but important changes to IO Selector widgets etc.Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3830 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10merge from 2.0-ongoing @ 3581Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-23*fix the bugfix: Input and Output Ports exchanged in Track/Bus inspectorHans Baier
*increased buffer sizes to get rid of overruns (PitchBender still doesnt work though....) git-svn-id: svn://localhost/ardour2/branches/3.0@3403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-21* bugfix: Inputs and Outputs swapped in the Track/Bus InspectorHans Baier
* bugfix: control_to_midi_event has no effect * typo (track/bus inspector) git-svn-id: svn://localhost/ardour2/branches/3.0@3379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11merge 3.0 from 2.0-ongoing@3243Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-31new port design, probably about 90% done (i.e it mostly works and this ↵Paul Davis
commit is to stop anyone else from stomping on my changes :) git-svn-id: svn://localhost/ardour2/trunk@2579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-19Various work on bundles. We now have a Bundle Manager dialogue, and ↵Carl Hetherington
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-13Fix some bugs with visiblity of groups.Carl Hetherington
git-svn-id: svn://localhost/ardour2/trunk@2553 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-13Put row labels on both sides of the grid.Carl Hetherington
git-svn-id: svn://localhost/ardour2/trunk@2552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-13Check buttons to select visibility of destination groups.Carl Hetherington
git-svn-id: svn://localhost/ardour2/trunk@2551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-13Considerable re-work to allow scrolling of the checkbutton area of the ↵Carl Hetherington
dialogue. Add/remove port is now on a context menu over the row labels. git-svn-id: svn://localhost/ardour2/trunk@2550 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-12Better support for MIDI tracks in the IO selector.Carl Hetherington
git-svn-id: svn://localhost/ardour2/trunk@2547 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-12Group destination ports by track / buss / system etc.Carl Hetherington
git-svn-id: svn://localhost/ardour2/trunk@2545 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-10New matrix-style IO selector dialogue. Should allow you to do the same ↵Carl Hetherington
things as the old one did, but certainly a work in progress. git-svn-id: svn://localhost/ardour2/trunk@2538 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-09Few cleanups related to signed-ness of minimum/maximum port counts.Carl Hetherington
git-svn-id: svn://localhost/ardour2/trunk@2532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-06show() widgets explicitly in the MixerStrip and IOSelectorDoug McLain
git-svn-id: svn://localhost/ardour2/trunk@2122 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-23Insert/Redirect refactoring, towards better MIDI support in mixer strip, andDavid Robillard
http://ardour.org/node/1043 style things. git-svn-id: svn://localhost/ardour2/trunk@2027 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-20Split PortInsert and PluginInsert into their own files.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@2026 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-10Fixed IO selector to show MIDI ports for MIDI IOs, instead of audio ports.David Robillard
git-svn-id: svn://localhost/ardour2/trunk@1817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-12Merged with trunk R1705.David Robillard
Synced .po files with trunk. Fixed more editor operations to be type agnostic (ie not audio only). git-svn-id: svn://localhost/ardour2/branches/midi@1709 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18Merged with trunk R1612.David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-09Merged with trunk R1283.David Robillard
NOTE: Compiles, but broken (crash on adding MIDI track). git-svn-id: svn://localhost/ardour2/branches/midi@1292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-11-19Merged with trunk R1141David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@1142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-31- Fixed port adding/removing/connecting and related bugs with route signal pathDavid Robillard
- Minor MIDI bug fixes/cleanups git-svn-id: svn://localhost/ardour2/branches/midi@874 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-29Merged with trunk R861David Robillard
Possible new bugs - not very thoroughly tested, but at least functional at first glance git-svn-id: svn://localhost/ardour2/branches/midi@870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11- Replaced integer port counts (and input/output maximum/minimum) with ↵David Robillard
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-07-28Merged with trunk R708David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-26Large nasty commit in the form of a 5000 line patch chock-full of completelyDavid Robillard
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-15Merged with trunk revision 600David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-13Merged with trunk (painfully)David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-10final fix for IOSelector widget: clicking on port header will now make that ↵Doug McLain
port view active. Also removed all canvas stuff from ardour2_ui.rc and set mixer font back to old size git-svn-id: svn://localhost/trunk/ardour2@367 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-08fixed goofy selection behavior with the notebook/treeview in IOSelectorDoug McLain
git-svn-id: svn://localhost/trunk/ardour2@363 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-05export range markers patch (revisited), change selection model, copy-drag ↵Paul Davis
tempo+meter marker patch git-svn-id: svn://localhost/trunk/ardour2@349 d708f5d6-7413-0410-9779-e7cbd77b26cf