13
0
Commit Graph

782 Commits

Author SHA1 Message Date
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
496e6f2a4c New implementation for single-fader mackie devices (reverts b96d8e) 2019-10-22 14:39:38 -05:00
b96d8e7ffa Add support for single-fader MCU devices: XTouch One and RuCo. (needs testing) 2019-10-20 22:24:32 -05:00
52021bc3ca
Consistent use of abort() /* NOTREACHED */
This fixes some static analysis warnings:
PBD::fatal transmitter needs to be connected to a function
that aborts. This is usually the case with GUI
2019-09-18 05:57:26 +02:00
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
3e7e89db8f Fix some actions that moved from Common to Editor. 2019-05-13 09:20:17 -05:00
Johannes Mueller
5b7bcec529 Use ActionModel API in the Control Surfaces that can make use of it 2019-04-20 15:25:32 +02:00
50e8c4d529
Expose Latch automation mode to MCUs 2019-04-01 22:28:07 +02:00
cf2fa0ae84 fix Mackie available action menu 2019-03-20 13:05:35 -07:00
94d859e30d ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 2 (surface support) 2019-03-20 11:15:34 -07:00
23a98e5f4d remove references to "Editor_menus" which is an action that no longer exists 2019-02-16 13:12:45 -07:00
56e950b189 rename Main_menu action to Main menu
So that if it ever does show up in a list, it looks nice
2019-02-16 13:05:41 -07:00
8f9e63575f Clarify which version of 'ActionManager::get_action()' we're calling
For MSVC, the parameter 'false' (i.e. 0) can be considered as either a bool or a pointer - so it'll map to both declarations of ActionManager::get_action()
2019-01-14 14:14:23 +00:00
91ed9840d0 do not crash if an unknown action is used by Mackie Control support 2019-01-11 12:39:07 -06:00
00df619d21 use ActionManager namespace, rather than ActionMap objects 2018-12-10 08:34:01 -05:00
b519434744 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 2 of 3 (more to follow)
2018-09-30 09:06:25 +01:00
Albert Graef
65693a72a2 MCP: Fix up the feedback for the view selection buttons. 2018-09-27 11:31:13 -04:00
Albert Graef
38bccabeca MCP: Allow the current bank to move right one channel even if this results in a partial bank.
Rationale: This change is trivial, but Ardour's behavior of refusing to move right one channel unless a full bank remains has been there for a long time, and there are probably good reasons for it. This design was likely conceived when all MCP-compatible devices had banks of 8 faders anyway. However, with the advent of affordable single-strip devices like the X-Touch ONE it becomes a real issue.

Single-strip devices can only access the first channel in the current bank, so relaxing this restriction is the easiest way to enable such devices to access all strips, while still maintaining the usual bank size of 8. Note that maintaining a bank size of 8 is beneficial even with single-strip devices for several reasons:

- It allows use of the bank switch buttons to flip through a large number of strips more quickly.

- It maintains compatibility with existing device descriptions. E.g., the X-Touch ONE can be used with the existing X-Touch device description without any ado.

- Most importantly, it maintains compatibility with other MCP-compatible controllers which do have 8 strips and may be connected to Ardour at the same time. E.g., one might want to use an X-Touch Mini, or even a full-size X-Touch along with the X-Touch ONE in some use cases. Changing the bank size to 1 affects all connected MCP devices, so you'd rather keep the bank size to 8 in such scenarios. (Ardour should preferably have separate bank size settings for each connected MCP device, but that isn't possible right now since only one MCP device description can be active at the same time.)
2018-09-27 11:31:13 -04:00
Albert Graef
936f6814ac MCP: Fix up the feedback for the bank left/right buttons. 2018-09-27 11:31:13 -04:00
79f01bc889 Initial changes needed for building Mixbus (with MSVC) as version 5
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
510a0314cf move select-all-tracks,deselect-all,invert-selection to be global actions (and bindings) 2018-08-24 10:08:08 -04:00
b9c9777b9a When building with MSVC, allow for the fact that Mixbus and Ardour can be using different versions of the SESSION_FILE format 2018-02-15 09:03:32 +00:00
6f019faaa0 Accommodate the change from libtimecode to libtemporal 2018-02-14 10:02:11 +00:00
b1d7eabf54 iCon device tweaks: faster timecode display refresh rate. Submitted by Michal Barhon. 2018-02-10 22:43:53 -06:00
ff319ce63f Resolve -Wreorder in qcon code. 2018-02-10 22:43:42 -06:00
ea1740d65f MSVC only allows static class members to be initialised in the class declaration 2018-02-03 14:58:45 +00:00
3aacdd79ae Fixes for the iCON Qcon mcp device - LED rings. Submitted by Michal Barhon : mbarhon@seznam.cz 2018-02-02 09:27:37 -06:00
ae3d9deefb Support for the iCON Qcon mcp device - sysex strings. Submitted by Michal Barhon. 2018-02-01 14:39:59 -06:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
03e99e9866 fix longstanding compiler warning 2017-09-18 11:40:53 -04:00
2d60a69c2d Consolidate ctrl surface code 2017-08-05 01:28:11 +02:00
b5e0b5b09f PortManager::unregister_port() must be called with process lock
This fixes "Failed to register <surface> port" when re-loading a session.
2017-07-28 20:15:15 +02:00
fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
1138b62fb8 amend 5e5f7a55; re-add wrongly removed variable 2017-06-23 18:15:50 +02:00
66a3dd7ded MCU: Remove use of AutomationType as ID, part two.
This may need some small tweaks for MB channelstrip to set
print-format (like LV2 plugins would) for cases where the default
value_as_string() differs.
2017-06-23 17:39:20 +02:00
5e5f7a55ee MCU: Remove use of AutomationType as ID, part one. 2017-06-23 17:39:20 +02:00
d3738b087e MCP: Fix issue with strip "select" buttons that stayed stuck on.
* Depending on individual strips to watch the selection property is prone to failure.
  * Stripable_selection_changed() is called when a selection operation is completed.
2017-05-17 15:55:43 -05:00
60cc2823f3 MCP: map the well-known EQ knobs more explicitly, not heuristically. 2017-05-17 15:53:14 -05:00
3d26a29e8a Sanitize "well-known" ctrl API 2017-05-14 00:17:11 +02:00
eb3f50e15c change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
2017-05-12 14:51:39 +01:00
efc2660fec MCP: Mixbus32C: Restore missing filter controls to the Dyn page. 2017-05-12 15:44:01 +02:00
8ba868e933 MCU: F-keys are reserved only for user-defined actions; no need for explicit handling. 2017-05-12 15:43:55 +02:00
e6e2b6800e MCP: Momentarily light buttons when they are used to trigger a defined action.
*This is mainly for F-keys
*If a button is not assigned an action, it will not light,
   hopefully indicating to the user that it is unmapped.
2017-05-12 15:43:52 +02:00
6f298b1a83 Mackie control panel: display the profile name when any button action is changed. 2017-05-12 15:43:44 +02:00
0c035778e1 libardour now has CoreSelection object to manage selection status of Stripables and AutomationControls 2017-05-05 18:56:25 +01:00
1680811dbf Use XMLNode::get_property API in Mackie DeviceInfo class 2017-04-19 09:36:54 +10:00
77b4e041ac Use XMLNode::get/set_property API in mackie Surface class 2017-04-19 09:36:54 +10:00
86f403cbbd Use XMLNode::get/set_property API in MackieControlProtocol class 2017-04-19 09:36:54 +10:00
9554dd4445 Use XMLNode::get/set_property API in mackie surface DeviceProfile class 2017-04-19 09:36:54 +10:00
d64ca9be08 Properly expose "well known" comp_redux output. 2017-04-12 21:14:50 +02:00
febd1d5c88 remove misleading/incorrect comment
The previously-commented code is precisely what gets invoked
when solo state changes, and had nothing to do with actually
changing solo state in any way.
2017-02-24 10:18:57 +01:00
b5dbfc9931 leave a ToDo note for the mackie surface 2017-02-17 04:02:15 +01:00
8243aeb3a1 remove debugging stacktrace from mackie code 2017-02-09 12:47:25 +01:00
bb74bba1c7 mackie: catch data on what presentation info aspects changed; don't change banks on a PI change 2017-02-01 10:27:34 +01:00
9e7652ca62 debugging with markk: stacktrace on bank switch in mackie code 2017-01-31 20:12:04 +01:00
6f66fbbf73 remove recently added MackieControl DEBUG_TRACE msgs 2017-01-31 19:16:50 +01:00
1c9df390bc stop DEBUG_TRACE for MackieControl crashing in some conditions 2017-01-31 19:16:35 +01:00
0d72fe65a2 mackie: use "markN" for new markers, like the GUI (not "markerN") 2017-01-31 18:24:39 +01:00
7c517f6566 mackie: check modifier bits for button AFTER identifying possibly remapped button ID 2017-01-31 18:08:44 +01:00
efd222afe9 mackie: more debug tracing 2017-01-31 17:52:59 +01:00
58c1ff368c mackie: more debug tracing 2017-01-31 17:48:49 +01:00
9dc2ef28be mackie: more debug tracing for remapped buttons 2017-01-31 17:43:33 +01:00
8f13d33efe Revert "mackie: make profile-mapped keys maybe actually do something"
This reverts commit 0d7f88afbd.
2017-01-31 17:37:45 +01:00
de189721e8 Revert "mackie: improve previous commit - use button_id not button.bid() to make remapping work"
This reverts commit 16804e20c8.
2017-01-31 17:37:23 +01:00
16804e20c8 mackie: improve previous commit - use button_id not button.bid() to make remapping work 2017-01-31 17:31:10 +01:00
0d7f88afbd mackie: make profile-mapped keys maybe actually do something 2017-01-31 17:23:45 +01:00
404686d258 more mackie debug tracing 2017-01-31 17:05:30 +01:00
88dae1c766 improvement to last loop button commit for MCP 2017-01-31 16:29:22 +01:00
f55ebf26bd mackie support should use BasicUI::loop_toggle() 2017-01-31 16:10:23 +01:00
41aaee6fe9 fix action names in Mackie code after Editor=>Control migration 2017-01-28 18:51:03 +01:00
c8892f411a MCP GUI make surface numbering the same as port numbering and more explanatory. 2017-01-28 09:35:42 -08:00
390ce9bc4f mackie surface support changes actions recently moved to Common/* 2017-01-28 18:20:49 +01:00
c3d0af413a MCP fix issue 7219 get GUI to show main surface for right port 2017-01-27 21:44:40 -08:00
1de584961a NO-OP; Backport changes from Mixbus branch 2016-11-27 22:54:23 +01:00
0e5ac13a04 use new shared cancel_all_solo() in Mackie code 2016-09-27 14:59:29 -05:00
e0be45de38 remove duplicate/unnecessary header inclusions 2016-09-27 14:59:29 -05:00
0ff233d234 Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format 2016-08-30 07:15:00 +01:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
08bd0da509 use Session::cancel_all_solo() 2016-07-13 14:33:43 -04:00
3c58a674c5 mackie: fix behaviour of clear solo button 2016-07-13 13:43:20 -04:00
44fcbd988c mackie: ensure that the strip where select was pressed ends up as the first_selected_stripable 2016-07-06 21:40:29 -04:00
2047ee527c restore/extend/simplify ControlProtocol API to allow tracking of selection 2016-07-06 13:39:10 -04:00
291aec468f use session stripable selection API
and remove old ControlProtocol signals to talk to GUI etc.
2016-07-04 12:45:53 -04:00
21bf61d559 MackieControl: in sends subview, if there are no sends for a vpot, drop the controllable for the vpot 2016-06-12 08:44:34 -04:00
beafe2be6e fix MCP Cancel button "escape" action 2016-06-12 08:43:24 -04:00
a8d7b0fca3 redesign/reimplement selection knowledge in MackieControlProtocol object
strips listen to Stripable::presentation_info().PropertyChange, and forward selected status changes
to the MCP object
2016-06-12 08:19:16 -04:00
4717080aee reduce verbosity of -D mackie in the presence of continued handshaking/keepalive messages. 2016-06-12 08:18:01 -04:00
2d4358ddb5 Various changes to PresentationInfo and a small consolidation of sorters.
The semantics for sorting PresentationInfo are up to the caller, not the
PresentationInfo object, so operator<() was removed and callers specifically
invoke ::order() for sorting.
2016-06-10 13:57:18 -04:00
3eaa6c0389 remove certain ControlProtocol signals related to stripable selection
includes change to Mackie support so that strips listen for PropertyChange
on the stripables they represent, no global selection change used anymore.
2016-06-10 13:57:18 -04:00
91ad3ef81d don't connect to individual PresentationInfo signals per Stripable; we only reorder strips once, when the global signal arrives 2016-06-05 16:33:02 -04:00
dfcc8fd547 Stripable signals moved to PresentationInfo 2016-06-05 16:33:02 -04:00
ee0f073e8d move from PresentationInfo::global_order() to PresentationInfo::order 2016-06-03 15:15:39 -04:00
f03f2e5c3f use new record safe control in surface support 2016-05-31 15:30:45 -04:00
28afaebdc4 fix SNAFU in which Stripable::rec_enable_control() was incorrectly defined as ::recenable_control()
Make Mackie support code use the Stripable to access the rec-enable control while we're here
2016-05-31 15:30:45 -04:00
0d9433aef6 remove no-effect handling of route active-status change in Mackie Control code 2016-05-31 15:30:43 -04:00
186209c03c fix crash in mackie code caused by assumption that all Stripables have meters 2016-05-31 15:30:43 -04:00
4b0a235f91 manually fix rebase/merge issues for Mackie Control support 2016-05-31 15:30:42 -04:00
4b7bbacaaa make mackie surfaces aware of VCAs 2016-05-31 15:30:42 -04:00
c34ad3a723 convert Mackie Control Surface support to use Stripable, not Route 2016-05-31 15:30:42 -04:00
8346fab567 remove irrelevant, out of date and incorrect comment 2016-05-31 15:30:42 -04:00