13
0
Commit Graph

123 Commits

Author SHA1 Message Date
696b89b71a rework 8b80fe0, use std::string, not char* 2015-10-15 11:24:15 +02:00
8b80fe04ad Avoid calls to Glib::ustring << operator at all cost.
Glib::operator<<(std::ostream&, Glib::ustring const&) involves
loadlocale which is not thread-safe on OSX.

This fixes various seemingly random crashes on OSX.
2015-10-14 22:46:15 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
nick_m
7cf04e2b9d Port matrix useability fix.
When a page has changed, leave the adjustment where it is on the axis whose
size remains the same.
On the changed axis, set the scroller to zero.
2015-04-05 03:35:27 +10:00
4100e1f7b7 Bundle API user update 2/2
cherry-pickable follow up to 0582221
2015-03-08 22:40:00 +01:00
6b3a8915f3 add abort() to non-reached code
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
2014-11-14 11:30:08 +01:00
8dc41bb700 fix potential crash at session close (when port-matrix is visible)
remove_aux_or_listen() -> PortMatrix::route_processors_changed()
-> setup_global_ports() -> PortGroupList::gather() -> crash
if some session ports were already removed.
2014-10-27 21:15:39 +01:00
ffde2fb5f9 OS 10.10 compile fixes
* fix clang pickiness regarding boolean
 * ignore ‘verify’ macro
 * tested with Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
2014-10-19 23:15:13 +02:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
nick_m
5b62e88fbf Unify editor / mixer ordering. 2013-10-21 00:19:43 +11:00
ee1b49f87e fix merge conflicts from master 2013-08-24 12:18:06 -04:00
3ca63cc38c fix gtk "child->parent == NULL" asserts 2013-08-03 13:45:27 +02:00
23eba1cc39 disallow invalid port-removal
do not allow port-removal if the port would be re-added immediately
after that again because the main-delivery actually needs it.

As a side effect this prevents this crash:

 * create a stereo-track, then remove one output
  -> unhandled exception "AudioEngine::PortRegistrationFailure&"

 The problem:
 - the port is removed from the RCU ports list,
   but Port::drop() (which calls jack_port_unregister) is only called
   from the Port's destructor at some later time.
   (because a reference to the port still exists elsewhere)
 - the jack-port is not yet removed.
 - meanwhile Delivery::configure_io comes along and notices that
   there are more audio-buffers than ports and tries to re-register the port.
 - but the port still exists in jack, so it fails and throws an exception
   ...which is not handled.
2013-08-03 00:51:07 +02:00
aaabaf5d3c Merge branch 'master' into windows 2013-08-02 12:51:24 -04:00
23f738c699 keep port-matrix in sync when deleting ports. and fix segfault on session close with io-matrix visible 2013-08-02 17:41:48 +02:00
c08b336292 Fix ambiguous type CheckMenuItem that is also defined via windows.h 2013-07-11 15:32:31 -04:00
4368759d41 amend to 212d2ac5d and 8becd4413 - fix port connection matrix crash on close 2013-07-10 15:27:13 +02:00
a541e4e811 escape markup text that may contain non-legal characters (for GMarkup). this may need to be done more widely
git-svn-id: svn://localhost/ardour2/branches/3.0@13318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 14:45:09 +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
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
34cd0f8419 Fix crash on close.
git-svn-id: svn://localhost/ardour2/branches/3.0@12719 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-14 09:48:49 +00:00
Carl Hetherington
fa1e12b682 Slightly hacky improvement to embolden the labels of
connection matrix tabs when they have connections.


git-svn-id: svn://localhost/ardour2/branches/3.0@12371 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-21 21:50:29 +00:00
Carl Hetherington
10d0b1cf7a Fix assertion failure on some right-clicks.
git-svn-id: svn://localhost/ardour2/branches/3.0@12360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-21 15:18:55 +00:00
Carl Hetherington
57bd915d66 Rename can_add_channel slightly and add mysteriously-missing calls to it so that you don't get offered the chance to add ports where none can be added.
git-svn-id: svn://localhost/ardour2/branches/3.0@12349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-20 21:56:33 +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
4235e9a1a2 a variety of mostly unused parameter errors from OS X Lion's compiler
git-svn-id: svn://localhost/ardour2/branches/3.0@12148 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:29:46 +00:00
ec1ef5d6b5 remove the apparently unnecessary "ui_bind()" macro from entire source base
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Carl Hetherington
5700d10890 Check that adding a port to an IO is ok with the processors
in its route, and raise an error if not (part of #4535).


git-svn-id: svn://localhost/ardour2/branches/3.0@10938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07 17:50:56 +00:00
Carl Hetherington
4cab367b31 Re-allow adding ports to empty bundles (#4408), and fix disassociation (disconnection) menu options as well.
git-svn-id: svn://localhost/ardour2/branches/3.0@10388 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-02 00:10:27 +00:00
Carl Hetherington
cca8b8cda0 Fix out-of-whack notebook tabs wrt their contents in certain port matrices, broken by my recent tinkering (#4422).
git-svn-id: svn://localhost/ardour2/branches/3.0@10384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01 21:17:05 +00:00
Carl Hetherington
b077f64f62 Reverse the order of vertical tabs in the port matrix
when they are on the right hand side, for reasons
explained in the comment.


git-svn-id: svn://localhost/ardour2/branches/3.0@10366 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31 22:44:07 +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
89543bf4db Fix assertion failure on clicking on bundles whose channels are all of the wrong type.
git-svn-id: svn://localhost/ardour2/branches/3.0@10147 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-27 20:15:49 +00:00
Carl Hetherington
12d1da30d2 Hopefully fix follow-up bug in #4209.
git-svn-id: svn://localhost/ardour2/branches/3.0@9989 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-14 14:13:11 +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
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
0c5c1aafd0 don't show remove port options for individual ports if there is only one (port matrix)
git-svn-id: svn://localhost/ardour2/branches/3.0@8951 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-24 17:10:17 +00:00
Carl Hetherington
8dde7e7f5d Fix crash on unchecking show individual ports (#3740).
git-svn-id: svn://localhost/ardour2/branches/3.0@8607 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-29 12:41:10 +00:00
Carl Hetherington
fb0097ca79 Fix crash on mouseover.
git-svn-id: svn://localhost/ardour2/branches/3.0@8236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-10 17:27:13 +00:00
Carl Hetherington
ac84ea8218 Offer options to add un-natural port types to routes. Sort of helps with #3578.
git-svn-id: svn://localhost/ardour2/branches/3.0@8169 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:28:31 +00:00
Carl Hetherington
54cbc45a5a Prevent removal of route inputs when the plugins cannot be configured with the new number. Rework locking so that the process lock is held from the point that a route input is removed until after the processors are reconfigured; fixes #3548.
git-svn-id: svn://localhost/ardour2/branches/3.0@8089 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-25 23:46:24 +00:00
Carl Hetherington
b25da08b46 Another hacky fix for deadlocks when updating the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@7747 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-06 21:06:10 +00:00
Carl Hetherington
6d21e901cd Setup tab directions correctly depending on where they are located.
git-svn-id: svn://localhost/ardour2/branches/3.0@7676 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-24 18:24:06 +00:00
Carl Hetherington
04d412d3c7 Put a bit of padding between the tabs and the window edge.
git-svn-id: svn://localhost/ardour2/branches/3.0@7675 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-24 14:27:35 +00:00
Carl Hetherington
2006805d00 Tweak arrangement of labels and tabs in port matrices.
git-svn-id: svn://localhost/ardour2/branches/3.0@7674 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-24 13:29:00 +00:00
Carl Hetherington
2ba936f0b3 Fix port matrix menu checkbox when the window is closed. Make the port matrix origin the bottom left when tabs are on left and bottom. Don't shrink the port matrix when auto-resizing it.
git-svn-id: svn://localhost/ardour2/branches/3.0@7673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-24 13:28:27 +00:00
Carl Hetherington
43e4abb391 Improve resize behaviour of port matrices when their content size changes.
git-svn-id: svn://localhost/ardour2/branches/3.0@7507 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 02:10:27 +00:00
Carl Hetherington
4e8d402fd2 Fix route port matrix to only display the relevant port types.
git-svn-id: svn://localhost/ardour2/branches/3.0@7505 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 02:09:51 +00:00