Commit Graph

43 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
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
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Robin Gareus a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
Paul Davis bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
Paul Davis 94efddd240 fix a problem creating and displaying connected status for ports not owned by ardour (e.g. system:....)
This was caused by using jack_port_get_connections() which will
not return the correct status for ports owned by another JACK
client. Because of the potential for deadlock by calling
jack_port_get_all_connections(), an extra argument was added
to several PortEngine:: API calls to specify whether the call
is in a process-callback context, which defaults to true.

The only place where false is passed is within the GlobalPortMatrix
when we need to determine whether two non-ardour ports are
connected.
2013-09-05 21:39:43 -04:00
Paul Davis fbfa0acebe remove compile errors (still will not link and JACKPortEngine is not close to done) 2013-07-30 23:26:46 -04:00
Paul Davis 32f4d7787e Change/improve enum as IN and OUT are defined via windows.h 2013-07-11 15:22:33 -04:00
Robin Gareus b38aa73df1 fix port-matrix (update with session) 2013-07-10 15:27:17 +02:00
Paul Davis 204d840c43 a variety of fixes aimed at preventing crashes caused by the (global) port matrix (window) not really noticing that the session has gone away
git-svn-id: svn://localhost/ardour2/branches/3.0@13378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-04 23:41:52 +00:00
Carl Hetherington 85c2fd2b69 Add a menu option and key press (F) in port matrices to flip the selected row and columns in the matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@12804 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-20 22:01:22 +00: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
David Robillard 05283a6339 Only use ArdourDialog (and thus Gtk::Dialog) for actual dialogs.
Fixes #4364.

I havn't fully tested every single dialog and window (heck, I don't even know
how to get at half of them), and there may be some packing niggles, but this is
the bulk of the work.  The Gnome 3 kiddies can close their dialogs now, anyway
:)


git-svn-id: svn://localhost/ardour2/branches/3.0@10699 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-19 00:56:35 +00:00
Carl Hetherington 7bdcc127e3 Use shared_ptr for Port in the AudioEngine; improves thread-safety of the audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another.
git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-28 17:04:09 +00:00
Carl Hetherington 07a58ffd62 Stop bundles disappearing from the port matrix when they
have no channels (#4209).  Also fix the remove all
channels menu option.


git-svn-id: svn://localhost/ardour2/branches/3.0@9986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13 20:19:39 +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
Paul Davis ccf6e2ae6a make global connection window inherit from ArdourDialog
git-svn-id: svn://localhost/ardour2/branches/3.0@8269 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 13:48:21 +00:00
Paul Davis 5a47cb37b8 rest of process lock removal, plus no GUIs for internal returns
git-svn-id: svn://localhost/ardour2/branches/3.0@8112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27 21:32:29 +00:00
Paul Davis 30d64f31ac take process lock in global port matrix' set_state() method; use namespace ARDOUR too
git-svn-id: svn://localhost/ardour2/branches/3.0@8105 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27 16:41:28 +00:00
Carl Hetherington 12e3fb4541 Fix a few dialogues which don't reset their session pointer correctly on a new session. Fixes #3342.
git-svn-id: svn://localhost/ardour2/branches/3.0@7451 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-20 17:56:02 +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 8d0581a720 Remove use of i18n macros in headers. Prevents our gettext.h being included before libintl.h, which causes failures when ENABLE_NLS is not defined (bug #3111)
git-svn-id: svn://localhost/ardour2/branches/3.0@7081 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-08 01:20:33 +00:00
Carl Hetherington dc86434283 Redraw the matrix correctly when available ports change in the currently visible tab.
git-svn-id: svn://localhost/ardour2/branches/3.0@6322 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-07 18:35:42 +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 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 95e4f7558b Allow ardour to manipulate connections between two JACK ports that don't belong to us.
git-svn-id: svn://localhost/ardour2/branches/3.0@6100 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-16 22:32:58 +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 09ec342926 Tidy up window titles, according to GNOME HIG and as suggested in mantis 2803.
git-svn-id: svn://localhost/ardour2/branches/3.0@5805 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 17:25:37 +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 7c49119be0 Modify hacks associated with initial sizing of port matrices to try and make things work with both fluxbox and metacity.
git-svn-id: svn://localhost/ardour2/branches/3.0@5604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-29 20:48:11 +00:00
Carl Hetherington 272cad6241 Various fixups to bundle manager. Add a separator between the benign and more serious menu options on the port matrix context menu. Finally (maybe) fix port matrix sizing issues relatively nicely.
git-svn-id: svn://localhost/ardour2/branches/3.0@5409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-22 01:28:31 +00:00
Carl Hetherington af5b9f92a5 Various tweaks to the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@5380 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-18 13:10:08 +00:00
Carl Hetherington 50437bff22 Various tweaks to the port matrix: open to full size; remove buttons and move their functionality into a context menu;
set maximum size hint to stop port matrix windows being resized beyond their useful size; remove visibility checkbuttons -
visibility now controlled through menu or by clicking on group names; port groups fold down to a small tab when hidden;
don't swap the orientation of the matrix once it has been opened.

git-svn-id: svn://localhost/ardour2/branches/3.0@5373 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-17 22:54:45 +00:00
Nick Mainsbridge 7188ec3990 Remove some extraneous includes. reorder some others (fixes compilation on fedora 10).
git-svn-id: svn://localhost/ardour2/branches/3.0@5073 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-13 16:04:41 +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
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 7666413e18 Duh. Simplify previous commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@4520 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 15:58:03 +00:00
Carl Hetherington eef9223835 Add a rescan button.
git-svn-id: svn://localhost/ardour2/branches/3.0@4519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 15:45:06 +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 7e1b86acee Make global port matrix a Gtk::Window rather than an ArdourDialog.
git-svn-id: svn://localhost/ardour2/branches/3.0@4445 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-26 20:41:22 +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