Commit Graph

126 Commits

Author SHA1 Message Date
Paul Davis 8f7f204ae4 port group display should not crash if there's no auditioner 2024-04-25 13:07:00 -06:00
Krzysztof Gajdemski 82d03607b8
PortGroup: fix missing "_" in "Tracks"
This small typo prevented (a rather important) noun "Tracks" from being
translated.
2023-09-23 14:10:54 +02:00
Robin Gareus 295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
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 b634cbba4c
Shrink connection matrix tabs
Program-name is not required to indicate "Tracks", "Busses", etc
Those are always by provided by PROGRAM_NAME.

"Other" really indicates external JACK (or Pipewire) applications.
Here "External" is a better label.

"Misc" can potentially be interpreted ambiguously, hence keeping
PROGRAM_NAME is useful.
2022-10-21 01:37:35 +02:00
Robin Gareus 23da78c013
Separate I/O Pre and Post plugins to dedicated matrix tabs 2022-10-21 01:22:45 +02:00
Robin Gareus 57af42ef84
Do not show I/O plugin port in the matrix that cannot be connected 2022-10-16 04:27:26 +02:00
Robin Gareus 2a2e5a49e7
List I/O Plugins separately in connection matrix 2022-10-16 04:03:55 +02:00
Todd Naugle d5113e6e91
Don't crash if the click is missing 2022-08-05 00:41:37 +02:00
Robin Gareus faa1e984ab
Sort ports by name in the connnection-matrix
This should fix a long-standing issue with interleaved display
of clients since jack_get_ports() does not return a well defined order.

(Internal backends based on Ardour::PortEngine keep ports sorted)
2022-07-26 01:58:11 +02:00
Robin Gareus 68e3d3d672
Fix endless loop if port-handle is n/a #8760 2021-06-24 17:20:44 +02:00
Robin Gareus 355528781d
Fix Bundle Editor: show connected ports
PortGroupList::gather() first adds UserBundle ports to
`system->add_bundle (*i, allow_dups);`

That can include ports that are already associated with the
current bundle. The port in this case has the Bundle's name.
Those ports are later removed in BundleEditorMatrix::setup_ports
`_ports[OTHER].remove_bundle (_bundle);`

However we do need to show physical ports by their name, even
if they're identical to the already associated bundle to allow
disassociating them.
2021-02-26 19:14:57 +01:00
Robin Gareus 7d3d64512c
Hide hidden ports in port-matrix 2021-02-01 23:49:39 +01:00
Robin Gareus 559ffcff63
VKeybd: use a non-translatable port-name (2/2) 2021-01-08 16:33:29 +01:00
Robin Gareus f1dafe7632
Prepare changing LTC Generator <IO> to <Port> 2020-05-07 20:42:58 +02:00
Paul Davis ca022f6bb7 show transport master ports in their own "Sync" bundle in the global port matrices 2020-04-09 14:01:47 -06:00
Robin Gareus f0d2327af0
Use AsyncMIDIPort API 2019-10-18 22:56:46 +02:00
Robin Gareus ebb89ba805
Super basic Virtual-Keyboard UI 2019-10-18 03:50:52 +02:00
Paul Davis 468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -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
Johannes Mueller 9a01ef35e7 Put the sidechain ports into a dedicated tab in PortMatrix 2018-11-01 18:52:51 +01:00
Paul Davis 084bb67417 use IsPhysical port flag to decide what to show in the "system" tab of a patchbay/matrix 2018-10-17 14:11:37 -04:00
Paul Davis db385c2e3c new transport slave/master implementation, gui edition 2018-09-18 19:06:04 -04:00
Thomas Brand 63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
Paul Davis dc0139d4af use CoreSelection for track selection 2017-05-05 18:56:25 +01:00
Paul Davis 7df9917a11 minor code-tidying tweak - continue if port handle is null, rather than nest inside conditional 2016-10-21 16:31:16 -04:00
Paul Davis d2e59c308e various tweaks to port matrix display logic to try to avoid a few wierd things 2016-09-27 14:59:30 -05:00
Julien "_FrnchFrgg_" RIVAUD f41e0cd4a2 Make monitor detection reuse the port name translation
So that they never get out of sync, and translators don't get confused.

Also replace some N_() where X_() was really intended.
2016-07-29 22:10:49 +02:00
Julien "_FrnchFrgg_" RIVAUD 0b5f2c5d58 Don't add Bundles to PortMatrix if they only have mistyped ports
PortMatrix is able to filter out ports that have an unwanted datatype, but
if a Bundle is added that has no port at all with a wanted datatype then
it is not weeded out correctly (and even if it were, there's no chance
that it will legitimately appear in the UI). Don't add that kind of
Bundle in the first place.
2016-07-19 02:10:40 +02:00
Julien "_FrnchFrgg_" RIVAUD f5ed0c6d07 Remove bus ignore from MIDI tracks
Now that busses can contain MIDI, this special casing doesn't make sense
anymore.
2016-07-19 02:10:40 +02:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
Paul Davis 260058a4a9 move from PresentationInfo::global_order() to PresentationInfo::order, and fix up part of reordering behaviour
Dragging tracks/busses in the editor *below* VCAs still does not work
2016-06-03 15:15:39 -04:00
Paul Davis e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
Robin Gareus 11b2bcbde3 for mixed-i/o show HW ports of both types in the matrix
e.g. sidechain inputs with audio and midi.
2016-04-28 02:52:16 +02:00
Paul Davis d237165e21 do not show control surface bundles in non-MIDI port matrix.
This will stop being the right thing to do if anyone ever creates a control protocol that
uses audio ports.
2015-12-03 22:01:07 -05: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
Paul Davis 34b1c0db94 fix mis-assignment of various Ports when constructing the PortGroup list for the (e.g.) PortMatrix 2015-12-03 12:50:32 -05:00
Robin Gareus 1ad42b249b use pretty names in port-matrix
maybe this should be an option? So far it’s
the matrix only.. gotta start somewhere.

PS. No, this is not a new feature. Ardour not doing this
is a major bug that severely reduces usability:
system:midi_capture_47 WTF? ;-)
2015-03-08 19:02:31 +01:00
Paul Davis 62d84d47b9 longer text description 2013-12-21 15:31:27 -05:00
nick_m 5b62e88fbf Unify editor / mixer ordering. 2013-10-21 00:19:43 +11:00
Paul Davis 1c49138e00 move MidiPortManager from AudioEngine to Session
This makes the responsibilities and ownership of non-Route related MIDI ports
more clear, and removes a few wierd bits of code. It also ensures that open/close/open
on the same session will retain connections for those MIDI ports
2013-09-05 13:22:34 -04:00
Paul Davis ea7d89dd51 remove reference to non-existent header 2013-08-08 11:23:13 -04:00
Paul Davis 1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
Paul Davis 616f2a0370 fix conflicts after merge with master 2013-08-05 14:22:32 -04:00
Robin Gareus 9d63cfcab5 fix "other" port-group tab
Separate port-bundles for each jack client in the connection manager.

Previously, apps were only listed as separate bundles if the
ports were gathered at different times. ie one app shows up after
the other (and if no complete re-scan was triggered)

Fixes issue reported by Fons Adriaensen.
2013-08-03 02:46:08 +02:00
Paul Davis 18c68bfd12 even more stuff compiles 2013-07-31 19:55:44 -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