13
0
Commit Graph

499 Commits

Author SHA1 Message Date
99b94fad77 avoid crash when switching devices in mackie control code, add locks to protect surfaces list (hopefully done without adding any deadlocks - can't test this at present)
git-svn-id: svn://localhost/ardour2/branches/3.0@13750 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-31 16:04:46 +00:00
104da317ff avoid crashing in a wierd case (possibly a race) in Mackie support
git-svn-id: svn://localhost/ardour2/branches/3.0@13749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-31 15:27:38 +00:00
37906d067e feedback for toggled MIDI controls now sends 0 or 127, not various in-between values (should fix #5117, without any bad side-effects
git-svn-id: svn://localhost/ardour2/branches/3.0@13680 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 01:28:41 +00:00
844ce9f359 prevent crash when saving learned MIDI binding that is now missing its controllable
git-svn-id: svn://localhost/ardour2/branches/3.0@13678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 01:19:48 +00:00
3d4bbcd65c save + restore OSC active+feedback state (#5023)
git-svn-id: svn://localhost/ardour2/branches/3.0@13329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-24 00:29:11 +00:00
cff8a65db2 forward part the backend part of the generic MIDI control fixes from mb2/a2
git-svn-id: svn://localhost/ardour2/branches/3.0@13297 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 14:36:40 +00:00
3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
b2bbc44eaa forward-port generic MIDI and transport controllable changes from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@13066 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-23 13:31:51 +00:00
Carl Hetherington
b97a1bfb97 Connect to controllable->Destroyed in all cases; fixes crash on route removal.
git-svn-id: svn://localhost/ardour2/branches/3.0@12959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 15:38:07 +00:00
Carl Hetherington
e09e185e3e Add what I think is a missing lock when reading controllables.
git-svn-id: svn://localhost/ardour2/branches/3.0@12958 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 15:37:54 +00:00
1708ab55b9 fix MIDI binding stuff when the controllable does actually exist the first time we go looking for it (#4950)
git-svn-id: svn://localhost/ardour2/branches/3.0@12957 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 14:44:29 +00:00
266030b79c some generic midi debugging plus an assert
git-svn-id: svn://localhost/ardour2/branches/3.0@12950 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 20:49:52 +00:00
dde521f2c6 fix up some issues introduced by lifecycle tracking of Controllable in Generic MIDI control code
git-svn-id: svn://localhost/ardour2/branches/3.0@12947 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 19:10:11 +00:00
a054a74dd2 disconnect from a Controllable when it is destroyed
git-svn-id: svn://localhost/ardour2/branches/3.0@12938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 01:55:53 +00:00
Carl Hetherington
0786ff15a0 Patch from royvegard to add a set-bank midi function
(#4949).


git-svn-id: svn://localhost/ardour2/branches/3.0@12927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 19:26:00 +00:00
92469df6ab add late/lazy binding between generic MIDI bindings and controllable elements in the session. this allows you to load a binding map that refers to elements that have not yet been created in the session, and when they are created, the binding will work
git-svn-id: svn://localhost/ardour2/branches/3.0@12921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 12:33:13 +00:00
1f440fbfec Remove unused or unnecessary header includes
git-svn-id: svn://localhost/ardour2/branches/3.0@12905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:51 +00:00
4b96a5b34d Use std::string and Glib instead of pbd/filesystem.h in DeviceProfile
git-svn-id: svn://localhost/ardour2/branches/3.0@12902 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:44 +00:00
4522ef26a2 Use Glib instead of pbd/filesystem.h in GenericMidiControlProtocol
git-svn-id: svn://localhost/ardour2/branches/3.0@12901 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:42 +00:00
bc205191bf Use Glib::file_test instead of PBD::sys::exists
git-svn-id: svn://localhost/ardour2/branches/3.0@12883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:02 +00:00
105caf23da Use std::string instead of PBD::sys::path in pbd/search_path.h, pbd/file_utils.h and ardour/session_dir.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12829 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:06:54 +00:00
Carl Hetherington
3dd8fbdefa Hush some debug messages.
git-svn-id: svn://localhost/ardour2/branches/3.0@12779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19 13:28:13 +00:00
Carl Hetherington
daffec502e Return silence from read_from_sources() if we try to read a channel that our source does not have (if replicate-missing-region-channels is turned off); should fix #4934.
git-svn-id: svn://localhost/ardour2/branches/3.0@12741 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 18:18:30 +00:00
9429401f11 MCP: patch from seablade to fix pot displays (both absolute value and negative values)
git-svn-id: svn://localhost/ardour2/branches/3.0@12739 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 03:10:26 +00:00
Carl Hetherington
d8f48e6a9d Fix uninitialised variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@12721 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-14 11:32:12 +00:00
Carl Hetherington
72642335d1 Slightly tweaked patch from royvegard to add optional threshold for catch-up of non motorised controls in generic MIDI surfaces (#4828).
git-svn-id: svn://localhost/ardour2/branches/3.0@12716 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 21:53:50 +00:00
Carl Hetherington
d341088f13 Fix some uninitialised variable warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@12702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 15:38:15 +00:00
Rodrigo Severo
1bd34a34f7 Small change to Timecode display (SMTPE) in the Mackie.
git-svn-id: svn://localhost/ardour2/branches/3.0@12694 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 03:09:46 +00:00
Rodrigo Severo
335bf3d21e Prevents a master fader being created without a control at Surface::setup_master_fader;
Several DEBUG_TRACE changes to help identify race conditions;

git-svn-id: svn://localhost/ardour2/branches/3.0@12693 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 03:07:50 +00:00
Rodrigo Severo
0d002fb231 Bogus commit to comment commit 12689:
Small patch to fix the "Solo" global button in the transport section of Mackie's.

git-svn-id: svn://localhost/ardour2/branches/3.0@12690 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 21:09:53 +00:00
Rodrigo Severo
32541205dd git-svn-id: svn://localhost/ardour2/branches/3.0@12689 d708f5d6-7413-0410-9779-e7cbd77b26cf 2012-06-12 21:04:13 +00:00
Carl Hetherington
a715e566d0 Send OSC URL announcement to the info stream.
git-svn-id: svn://localhost/ardour2/branches/3.0@12640 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 22:37:05 +00:00
Carl Hetherington
661a0444f4 Fix crash in tests; not sure about the root cause.
git-svn-id: svn://localhost/ardour2/branches/3.0@12639 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 22:36:59 +00:00
Carl Hetherington
2492b43b56 Fix crash when MackieControlProtocol has gone away.
git-svn-id: svn://localhost/ardour2/branches/3.0@12634 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 21:06:22 +00:00
71427323ec MCP: latest patch from Rodrigo:
* fixes Master Fader Touch button in the Mackie;
    * implements a MasterFaderTouch global button;
    * removes unused MackieControlProtocol::_transport_previously_rolling property;
    * implements DeviceInfo::get_global_button() method;
    * creates GlobalButtonsInfo and StripButtonsInfo types in DeviceInfo;
    * implements Surface::_last_master_gain_written property to help master fader feedback;
    * makes Surface respect _mcp.device_info().strip_cnt() to create master fader and when connecting signals for strips and master fader instead of using hardcoded 8;
    * removed a few unnecessary updates in Surface::turn_it_on();
    * included master_gain_changed() in Surface::periodic();
    * implemented MackieControlProtocol::master_fader_touch_press and
    * MackieControlProtocol::master_fader_touch_release;



git-svn-id: svn://localhost/ardour2/branches/3.0@12631 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 19:06:52 +00:00
a56ab30261 MCP: latest patch from Rodrigo:
* delays Mackie's led initialization until the Mackie is actually ready to receive messages;
    * at the button X function mapping customization interface in Preferences:
          o show specific device names instead of global ones;
          o mark the buttons that are actually available in the device with a *;
          o included a bottom text explaining what the * means;
    * created a DeviceInfo::get_global_button_name(Button::ID) method;
    * included several DEBUG_TRACE in mackies code;
    * renamed device buttons and groups according to the following logic: Mackie buttons are named exactly like a actual (mine) Mackie names them on the interface itself. Logic Control buttons are named exactly like they appear at Logic Pro 7.2.1 Dedicated Control Surface Support manual;
    * improved timecode display (new format);


git-svn-id: svn://localhost/ardour2/branches/3.0@12582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06 12:20:57 +00:00
6d46299df3 MCP: another patch from rodrigo:
* setting a (arbitraty) limit to zoom out to prevent segfaults because out of memory condition;
    * setting initial update of master fader, and read, play and stop leds on the Mackie;
    * changed the timecode display char selection for update algorithm as chars are sent one by one and not all right most;
    * implemented method of showing timecode at the mackie to better deal with the differences between Ardour's foramts and Mackie's, i.e, use spaces in place of the zeros that had no meaning;
    * preventing timecode display updates when the surface isn't yet active.


git-svn-id: svn://localhost/ardour2/branches/3.0@12541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02 14:51:53 +00:00
bbcfffc2da revert part of earlier MCP patch from rodrigo
git-svn-id: svn://localhost/ardour2/branches/3.0@12534 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 21:25:12 +00:00
ba5e71b50f MCP: Patch from Rodrigo that:
* implements Metering on/off through Button::Read as per Seablade's suggestion. I choose this button as it's the "Show meters" button in Traktion;
    * removes redundant code from Meter::update_transport_rolling();
    * renames Meter::update_transport_rolling() to Meter::notify_metering_state_changed();
    * renamed Surface::notify_transport_state_changed() to Surface::notify_metering_state_changed();
    * renamed Strip::notify_transport_state_changed() to Strip::notify_metering_state_changed();
    * created MackieControlProtocol::notify_metering_state_changed() and made MackieControlProtocol::notify_transport_state_changed() use it;
    * implemented turning off of timecode display and two char display in Surface::zero_all ();
    * implemented master fader zeroing in Surface::zero_all ();
    * calling Surfaces->zero_all() at MackieControlProtocol destructor;
    * implemented restore of 2nd LCD line content after metering being active.



git-svn-id: svn://localhost/ardour2/branches/3.0@12520 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 12:56:20 +00:00
28e3bc3ac7 MCP: metering changes from rodrigo, makes metering work correctly on the MC Pro (also checked on the nucleus)
git-svn-id: svn://localhost/ardour2/branches/3.0@12489 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-30 14:32:27 +00:00
cd58caa93b MCP: remove misleading and confusing and out of date comment
git-svn-id: svn://localhost/ardour2/branches/3.0@12485 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-30 00:01:15 +00:00
28aed9e0d1 MCP: correct display of timecode
git-svn-id: svn://localhost/ardour2/branches/3.0@12484 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 23:44:34 +00:00
1491787cfb MCP: fix assigment of outbound sysex messages, and don't drain port->selectable() for ipMIDI devices, since this throws away all incoming data, which arrives on the same fd as port->selectable() (unlike JACK MIDI)
git-svn-id: svn://localhost/ardour2/branches/3.0@12483 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 23:30:13 +00:00
40ef762db4 fix missing negation from previous MCP commit
git-svn-id: svn://localhost/ardour2/branches/3.0@12482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 20:34:19 +00:00
1d5bade8a1 patch from rodrigo severo to make mackie timecode display work
git-svn-id: svn://localhost/ardour2/branches/3.0@12480 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 20:18:43 +00:00
d7a32eb85e MCP: remember to drain the x-thread FIFO that tells us that JACK MIDI data has been received
git-svn-id: svn://localhost/ardour2/branches/3.0@12453 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 10:57:36 +00:00
8d41955b3d missing method for MCP
git-svn-id: svn://localhost/ardour2/branches/3.0@12449 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-25 17:56:26 +00:00
7d252412c3 add support for <HasMeters value=XX/> stanza in MCP device info file
git-svn-id: svn://localhost/ardour2/branches/3.0@12440 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 19:27:29 +00:00
27a1cf2cf7 Compile cleanly with clang.
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC
environment variables, e.g.:

CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build


git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:54:10 +00:00
ccfeb90bdc MCP: pay attention to listen changes as well as solo changes, and reflect listen state with solo button, just like solo
git-svn-id: svn://localhost/ardour2/branches/3.0@12385 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22 21:38:03 +00:00