Commit Graph

115 Commits

Author SHA1 Message Date
Paul Davis ace07c80a8 a gadzillion changes all over the place. nothing is finished, but all is better than it was. more to come on all almost everything touched by this commit, this is purely a sync-to-repository. compiles and runs, but now incompatible with all previous 3.0 session files (probably)
git-svn-id: svn://localhost/ardour2/branches/3.0@5084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-16 02:51:17 +00:00
Carl Hetherington 1ae39840b3 Support for the port matrix working at the bundle level and hiding details of ports.
git-svn-id: svn://localhost/ardour2/branches/3.0@5029 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-03 14:31:42 +00:00
David Robillard 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 b0091c899b If a bundle's channel has no ports associated with it, you can't connect
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-14 20:17:45 +00:00
Carl Hetherington c601946bc8 Bit of a hack to make the port matrix for port inserts at least vaguely usable.
git-svn-id: svn://localhost/ardour2/branches/3.0@4516 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 02:09:46 +00:00
Carl Hetherington ee42a6dd97 Fixes to bundle manager to make it vaguely usable.
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-02-09 03:18:10 +00:00
Carl Hetherington a384dab130 More port matrix re-working. Global matrix now has separate visibility buttons
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-30 15:08:09 +00:00
Carl Hetherington 9cc7b452eb First cut at mouseovers for the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@4446 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-27 04:21:13 +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 f6652f07ae Add global port matrix dialogs.
git-svn-id: svn://localhost/ardour2/branches/3.0@4434 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-23 21:24:11 +00:00
Carl Hetherington 90ac43a8d8 Fix some confusion about relative / non-relative port names. Add some 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-21 17:44:41 +00:00
Carl Hetherington d6637dad5a Rework Port class hierarchy a bit. Hopefully now simpler, and should
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-21 02:27:21 +00:00
Carl Hetherington 61db2175eb New matrix-based editor for connections and bundles, based on thorwil's design.
Add Bundle Manager dialog.


git-svn-id: svn://localhost/ardour2/branches/3.0@4415 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-20 14:46:00 +00:00
Carl Hetherington 954e1a6e79 Improvements to the port matrix (I think). Sizing of the cairo section 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
2009-01-13 01:15:19 +00:00
Paul Davis 18d6284438 bump required version of GTK, SLV2; basic fixups so that the new port-matrix 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-12-14 09:35:23 +00:00
Paul Davis 93c2af8c9e revert last fix - its not relevant to 3.0 (yet)
git-svn-id: svn://localhost/ardour2/branches/3.0@3883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-07 22:24:00 +00:00
Paul Davis 6129057f86 next region list fix from chris g; more tweaks to port matrix/ioselector; remove spurious _y_position from audio_region_view
git-svn-id: svn://localhost/ardour2/branches/3.0@3844 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-01 09:18:30 +00:00
Paul Davis caa305ed2b more tweaks to the IO Selector
git-svn-id: svn://localhost/ardour2/branches/3.0@3840 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-30 14:18:15 +00:00
Paul Davis e8869b28a2 subtle but important changes to IO Selector widgets etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@3830 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29 13:34:35 +00:00
Paul Davis 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 8c743c2c0c *fix the bugfix: Input and Output Ports exchanged in Track/Bus inspector
*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-23 02:13:31 +00:00
Hans Baier 7a9b4a0aa2 * bugfix: Inputs and Outputs swapped in the Track/Bus Inspector
* 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-05-21 23:01:40 +00:00
Paul Davis 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
Paul Davis 8ab17e9631 new port design, probably about 90% done (i.e it mostly works and this 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-31 18:24:43 +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
Carl Hetherington bcfb751140 Fix some bugs with visiblity of groups.
git-svn-id: svn://localhost/ardour2/trunk@2553 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-13 17:45:44 +00:00
Carl Hetherington b3b5515cf9 Put row labels on both sides of the grid.
git-svn-id: svn://localhost/ardour2/trunk@2552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-13 11:07:47 +00:00
Carl Hetherington d4a05b5271 Check buttons to select visibility of destination groups.
git-svn-id: svn://localhost/ardour2/trunk@2551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-13 10:38:26 +00:00
Carl Hetherington 465a64520f Considerable re-work to allow scrolling of the checkbutton area of the 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-13 00:58:03 +00:00
Carl Hetherington 7dcc66a7e5 Better support for MIDI tracks in the IO selector.
git-svn-id: svn://localhost/ardour2/trunk@2547 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-12 14:49:07 +00:00
Carl Hetherington a57a62b925 Group destination ports by track / buss / system etc.
git-svn-id: svn://localhost/ardour2/trunk@2545 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-12 12:13:11 +00:00
Carl Hetherington aa1f736a65 New matrix-style IO selector dialogue. Should allow you to do the same 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-10 18:37:13 +00:00
Carl Hetherington 8bcbe9ca4c Few cleanups related to signed-ness of minimum/maximum port counts.
git-svn-id: svn://localhost/ardour2/trunk@2532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-09 23:04:53 +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
David Robillard 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
David Robillard 05184ed52f Split PortInsert and PluginInsert into their own files.
git-svn-id: svn://localhost/ardour2/trunk@2026 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-20 03:39:19 +00:00
David Robillard 0c0879ca1c Fixed IO selector to show MIDI ports for MIDI IOs, instead of audio ports.
git-svn-id: svn://localhost/ardour2/trunk@1817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-05-10 04:45:38 +00:00
David Robillard 959a7909c1 Merged with trunk R1705.
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-04-12 23:20:37 +00:00
David Robillard 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
David Robillard 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
David Robillard 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
David Robillard 5a40162026 - Fixed port adding/removing/connecting and related bugs with route signal path
- Minor MIDI bug fixes/cleanups


git-svn-id: svn://localhost/ardour2/branches/midi@874 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-31 01:06:37 +00:00
David Robillard 82232f06ba Merged with trunk R861
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-29 21:21:48 +00:00
David Robillard 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
David Robillard 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
David Robillard 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
David Robillard 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
David Robillard 868f557f26 Merged with trunk (painfully)
git-svn-id: svn://localhost/ardour2/branches/midi@581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-13 07:27:52 +00:00
Doug McLain 24e4fd2d3a final fix for IOSelector widget: clicking on port header will now make that 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-10 03:16:38 +00:00
Doug McLain b4c1744333 fixed goofy selection behavior with the notebook/treeview in IOSelector
git-svn-id: svn://localhost/trunk/ardour2@363 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-08 23:19:24 +00:00
Paul Davis 5a39bf595c export range markers patch (revisited), change selection model, copy-drag tempo+meter marker patch
git-svn-id: svn://localhost/trunk/ardour2@349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-05 19:39:16 +00:00
Doug McLain b62c348c88 another get_vbox() fix, this time for PortSelectorWindow
git-svn-id: svn://localhost/trunk/ardour2@346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-05 10:24:31 +00:00
Doug McLain 8073c4da5e add ability to specify row colors for region treeview
git-svn-id: svn://localhost/trunk/ardour2@220 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-01-01 15:31:59 +00:00
Doug McLain d7cd04b719 Some fixes to ioselector. Remaining fixes coming soon
git-svn-id: svn://localhost/trunk/ardour2@207 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-24 13:00:17 +00:00
Doug McLain 0fb17c72d9 segfault fixes and some functionality for the IOSelector
git-svn-id: svn://localhost/trunk/ardour2@191 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-12-14 17:21:53 +00:00
Paul Davis 1ca802c4e8 io_selector.cc done, connection_editor in progress but skipped
git-svn-id: svn://localhost/trunk/ardour2@76 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-01 00:56:09 +00:00
Taybin Rutkin e0946701e1 More compliation fixes. add_with_viewport() -> add(). track_gnome_canvas -> track_canvas. etc.
git-svn-id: svn://localhost/trunk/ardour2@66 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-10-22 17:33:14 +00:00
Paul Davis c38fdbc64c "finalmunge" patch from nick, plus work on editor region list and actions infrastructure from me
git-svn-id: svn://localhost/trunk/ardour2@52 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-10-09 05:03:29 +00:00
Paul Davis 4c50965622 fix compose mess, and a number of 64 bit printf specs
git-svn-id: svn://localhost/trunk/ardour2@51 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-10-06 19:10:57 +00:00
Paul Davis 4b23361226 continuing fixes to get this shibboleth to compile
git-svn-id: svn://localhost/trunk/ardour2@43 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-26 18:24:59 +00:00
Paul Davis 08d33fcb0d rename all GTK signals
git-svn-id: svn://localhost/trunk/ardour2@42 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-26 15:00:36 +00:00
Paul Davis 25ac88fcae fix all _impl member functions to be on_ instead
git-svn-id: svn://localhost/trunk/ardour2@38 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-26 02:48:59 +00:00
Taybin Rutkin d38e2213d7 replaced slot() with mem_fun() and ptr_fun().
git-svn-id: svn://localhost/trunk/ardour2@29 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-25 21:19:23 +00:00
Taybin Rutkin e493b2b7c4 Fly my pretties!
git-svn-id: svn://localhost/trunk/ardour2@28 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-25 20:33:00 +00:00
Taybin Rutkin 209d967b1b Initial import of gtk2_ardour.
git-svn-id: svn://localhost/trunk/ardour2@24 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-09-25 18:42:24 +00:00