Commit Graph

42 Commits

Author SHA1 Message Date
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis 39ed528e25 std-ize: convert all boost shared/weak ptr includes to <memory>
Also fix stdint.h -> cstdint and alphabetically order std includes
2023-03-24 14:19:15 -06:00
Marijn Kruisselbrink 7a4ddf5cce
Group system ports by common prefix.
Extra "other" ("External") ports were already being grouped by their
common prefix into bundles to better display ports coming from different
jack clients. This commit factors out that logic into a separate method
to also apply this logic to extra "system" ("Hardware") ports. This way
hardware ports from different devices/clients (for example when using
pipewire as jack backend) are grouped by device rather than all being
listed as one bundle.
2023-01-01 18:19:14 +01:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Robin Gareus b976bf8986 NO-OP whitespace & foratting of header files 2017-07-01 21:19:56 +02:00
Paul Davis 4f427c5f97 further improvements to port grouping for the port matrix
Don't show LTC etc. ports in the MIDI matrix; Don't show Scene ports for Ardour or Mixbus, since we don't use them; code renaming
2015-12-03 12:50:32 -05:00
Carl Hetherington 78237f3ac3 Display hardware IO individually in the port matrices unless we are in _show_only_bundles mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@12348 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-20 21:56:28 +00:00
Carl Hetherington 19e97d1d64 Attempt to fix some confusions caused by bundles containing
different types of port; if we loop over N MIDI channels of
a mixed bundle, for example, we must convert 0...N to the
indices of the channels within the bundle.  Also remove the
hack of creating new bundles to contain a subset of another
bundle's ports; if you do this, any signals emitted by the
other bundle are ignored.  Should fix #4454.


git-svn-id: svn://localhost/ardour2/branches/3.0@10490 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-08 02:10:56 +00:00
David Robillard ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Carl Hetherington 9afbb649b6 Use weak_ptr for IOs in the bundle list to avoid holding onto them when a route is removed. Fixes #3395.
git-svn-id: svn://localhost/ardour2/branches/3.0@7702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-28 12:55:53 +00:00
Carl Hetherington 66760a574a Don't display empty tabs in the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@7521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-29 19:25:26 +00:00
Carl Hetherington 1fd56c5476 Sort tracks in the port matrix according to editor order. Fixes #2966.
git-svn-id: svn://localhost/ardour2/branches/3.0@7458 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-21 02:17:57 +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
Carl Hetherington 8e59a26ccf Add remove all and disconnect all to port matrix menu. Hide bundles whose channels are already represented by other, larger bundles.
git-svn-id: svn://localhost/ardour2/branches/3.0@6381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 01:10:25 +00:00
Paul Davis 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
Paul Davis 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
Paul Davis 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
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 fe59ade874 Seconds out, the people vs. the port matrix, round 7.
Some spacing adjustments.  Remove the hacky RouteBundle which caused more problems
than it solved.  Put notebook tabs close to the headings in the matrix.  Some other
minor tweaks.


git-svn-id: svn://localhost/ardour2/branches/3.0@6179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-25 23:24:02 +00:00
Carl Hetherington 73a0cd56f8 Rework port matrix to use Gtk notebook tabs to select visible groups.
git-svn-id: svn://localhost/ardour2/branches/3.0@6117 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-18 13:35:31 +00:00
Carl Hetherington 2e02e157c3 Tidy up a bit in the case where the port matrix has nothing to display.
git-svn-id: svn://localhost/ardour2/branches/3.0@6089 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-15 00:26:28 +00:00
Carl Hetherington 53838fc350 Allow multiple bundles with the same ports in the bundle editor, otherwise sometimes important bundles can be incorrectly hidden.
git-svn-id: svn://localhost/ardour2/branches/3.0@6087 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-14 23:08:17 +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
Carl Hetherington 660fd702af Various tweaks to the bundle manager.
git-svn-id: svn://localhost/ardour2/branches/3.0@6030 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-07 20:33:41 +00:00
David Robillard 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 23f86529fd Clean up handling of add/remove/rename channels in the port matrix. Hence make it possible to do these things for any bundle (give or take). Clean up port matrix context menu.
git-svn-id: svn://localhost/ardour2/branches/3.0@5393 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-20 00:22:09 +00:00
Carl Hetherington 2e7eeef448 Better fix for non-rearrangement after open for the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@5377 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-18 03:17:47 +00:00
Carl Hetherington 0102b1dc93 Whoops. That optimisation breaks things. Revert it.
git-svn-id: svn://localhost/ardour2/branches/3.0@5370 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-17 14:35:22 +00:00
Carl Hetherington 748ad24ace Small optimisation. Fix mouseover highlighting in the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@5369 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-17 14:21:54 +00:00
Carl Hetherington 7eea227bcd Use track colours in the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@5367 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-17 13:18:58 +00:00
Carl Hetherington d039e2e80f Fix up port matrix for new Route / IO arrangements.
git-svn-id: svn://localhost/ardour2/branches/3.0@5143 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09 23:43:20 +00:00
Paul Davis 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
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 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 4cd47cf253 Gather all ardour: ports so that a few more things are found to put in the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@4439 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-24 15:21:22 +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 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 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