13
0
Commit Graph

784 Commits

Author SHA1 Message Date
ae3d4efce0 Make program change toggle or 1 only. 2015-07-27 16:17:38 -04:00
6ab04a27c3 Allow any one midi event to control only one thing. 2015-07-27 16:17:38 -04:00
b7b1f9a0a6 fix “missing operator<< for PBD::ID” (clang) 2015-07-15 01:21:19 +02:00
d8f3f9f02d Move learned midi binding reload after midi map load (fixes #6405) 2015-07-13 13:47:00 -07:00
937ed39c45 fix PBD::ID string format 2015-07-11 05:17:02 +02:00
ed8ab2c80a Fixed pb in toggle mode to switch at half way (fixes #6424) 2015-07-10 16:52:43 -04:00
a29b050883 Fixed generic MIDI program change event size to two bytes (fixes #6426) 2015-07-10 16:52:43 -04:00
6349570fb2 Add debug for generic midi control 2015-07-10 16:52:43 -04:00
2ea5962af2 rationalize save/restore of control surface "feedback" property 2015-06-24 13:46:07 -04:00
974e5dcc0c Add option to mackie control profile editor to remove binding (fixes #6301) 2015-06-21 12:42:48 -04:00
7a966c81bd Don't close OSC server sockets explicitly (the subsequent call to 'lo_server_free()' will close the socket anyway) 2015-06-09 16:25:20 +01:00
801af5df9e Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side) 2015-06-09 13:18:42 +01:00
f33c8aeb33 Add a new preprocessor directive (UINTSDEFINED) which is rather annoyingly needed if liblo gets built with MSVC 2015-06-09 12:09:21 +01:00
b79c5d4f1b Add a new link library that's needed when building against the newer version of liblo (0.28)
(probably only needed when building with MSVC)
2015-06-09 12:06:49 +01:00
72416e9432 Don't allow user to change function of modifier buttons. 2015-06-08 17:22:34 -04:00
71ae8d2abe Add an option in the MCP .device file to set master position (fixes #6357) 2015-06-04 15:07:43 -07:00
71feea97a0 Clean up mackie surface profile editor from things that don't work or match the mackie hardware (fixes #6342) 2015-06-04 15:02:51 -07:00
f8c4c0b5b8 Make ctl put v-pot in fine mode. 2015-06-04 14:04:46 -07:00
5e1ba50731 fix unsigned/signed math error 2015-05-27 08:57:16 -04:00
e5c3efe9a3 ensure that Mackie Control bank left/right commands always hit the same boundary (Len Ovens) 2015-05-27 07:11:15 -04:00
fb649f43ea fix for MCP panner width - closes #6341 2015-05-24 17:56:40 +02:00
ce259edbcd professionalize peak-meters
The peak meter needs to withstand various test-signals
without visual jitter (in particular 1kHz sine) regardless
of settings (period-size, sample-rate, custom fall-off).

This needs to be done in sync (and not by a random non-rt
‘smoothing’ thread).

On the downside this voids the ‘visual smoothing’ particularly 
with large buffersizes - but then again exactly this “always 
fall-off no matter what [the next real data will be]” is the
problem.

One the upside, there’s one less high-frequency (100Hz) thread
(Yay!) PS. it probably never worked on windows, anyway.

Only peak-meters are affected by his change.
K-meters, IEC I/II and VU were never visually smoothed.
2015-05-02 03:46:49 +02:00
1e5be9ebfd add OSC trim control 2015-04-25 21:23:37 +02:00
4512d013eb put all of the Mackie control surface code into the ArdourSurface namespace 2015-04-15 20:37:20 -04:00
7f659a0463 add ArdourSurface to OSC class to help reduce global namespace pollution 2015-04-15 17:21:55 -04:00
d00ab0221a allow to set/change loop-range via OSC 2015-04-12 23:40:35 +02:00
7c146a9e22 fix OSC parameter mapping, fixes #6224
(ignore non control ports in numbering)
2015-04-04 03:16:53 +02:00
2a9d7286f9 fix AWOL semicolon in 9f842f3 2015-03-20 22:08:17 +01:00
9f842f3247 NOOP, whitespace 2015-03-20 21:38:26 +01:00
410cf8e79d OSC log errors 2015-03-20 21:32:56 +01:00
7619edd1f6 OSC: fix crash when trying to set output params 2015-03-20 21:19:25 +01:00
17e1e2641b OSC fix plugin numbering:
ignore non-plugin processors for OSC
/ardour/routes/plugin/parameter

fixes issue with hidden internal processors. (rec-en
track adds a hidden [meter] processor at the top,
internal returns on busses have returns etc.)
2015-03-20 20:27:15 +01:00
40c04867ef Bundle API user update
cherry-pickable follow up to 0582221
2015-03-08 22:39:34 +01:00
8a93a87db0 remove lib versioning for internal plugins
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
2015-02-16 17:32:56 +01:00
95091a52a0 When building with MSVC make sure any backends / panners etc get copied to the correct target folder
(i.e. 'lib/ardour3' or 'lib/mixbus3' as appropriate)

These changes are MSVC specific and shouldn't affect the other builds
2015-01-12 14:43:22 +00:00
dafcaec023 Limit Wiimote surface discovery to 5 connection attempts
If you don't connect a Wiimote then the connection attempts were
endless.
2014-12-21 12:53:00 +07:00
0fdb846625 try alternate Glib:: API for conversion from UTF-8 to ascii in Mackie support code 2014-12-15 15:06:10 -05:00
e3f376107e nominal fix for sending UTF-8 text to Mackie surface 2014-12-15 14:44:05 -05:00
602e390649 changes to Mackie Control support for new crossthreadchannel implementation 2014-12-03 21:22:34 -05:00
d3e2de8b4e modify Mackie surface code to use crossthreadchannel on all platforms 2014-12-03 20:57:58 -05:00
25e1eddc50 remove "port sources" management from MidiControlUI and Mackie support.
This was necessary due to a bug/design issue between Glibmm and Glib (see https://bugzilla.gnome.org/show_bug.cgi?id=561885)
 but the problem needs to be managed by the *creator* of the IOSource and that has now moved inside CrossThreadChannel.
2014-11-26 18:22:22 +02:00
1f58f81aa6 Fix order of parameters to stop_touch() in Mackie::Control
Reverse the parameters of Mackie::Control::stop_touch() to make them
consistent with AutomationControl::stop_touch(), and fix up the call to
AutomationControl::stop_touch() to have the parameters in the correct
order.

Unfortunately, I don't possess any devices that speak the Mackie protocol, so
though the patch seems logical and correct to me, I have no way of testing it.
If anyone has a device with touch faders that speaks Mackie, I'd be glad of any
confirmation that it at least doesn't break anything.
2014-11-25 14:59:48 +00:00
ea5876b836 Remove dead code. 2014-11-25 02:11:44 -05:00
bfe49540b9 remove use of CrossThreadChannel::selectable() to allow cross-platform implementation of CrossThreadChannel via Glib::IOSource 2014-11-23 17:37:13 +02:00
7204702c3f Reduce coupling between Plugin and PluginInsert. 2014-11-03 13:40:50 -05:00
6dfb11c2d0 Move ParameterDescriptor from Plugin to its own header.
This fixes circular dependency issues that arise when using ParameterDescriptor more widely.
2014-11-02 02:10:24 -05:00
973d40e3ac Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
2f4a8cf693 avoid const cast warning 2014-10-24 12:18:46 -04:00
d8e64103a6 fix CPI window handling:
Move control-surface editor-window management to the control surface.
The Preferences-Dialog is not aware of session specific or surface
specific actions and cannot properly manage the window.
2014-09-13 16:59:02 +02:00
65715dd298 Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
45afed5e9a Modify our VC project files to work with msvc32-fixup.pl 2014-08-04 09:02:17 +01:00
576f39d6a0 Add the MSVC project file for building libs/surfaces/osc 2014-07-27 11:26:41 +01:00
7984cd2321 Changes needed for building surfaces/osc (control surface protocol) with MSVC
(for testing on the non-Windows platforms)
2014-07-22 22:19:46 +01:00
928881b24a Update vcproj files for changed LILV config define. 2014-07-15 15:50:12 -04:00
cd12698b9c Rename PBD::find_file_in_search_path to just PBD::find_file
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
d9a7d419b2 Change PBD::find_files_matching_regex and PBD::find_files_matching_filter to take a Searchpath 2014-06-25 12:40:10 -04:00
547689a055 Replace all use of PathScanner with equivalent functions from pbd/file_utils.h 2014-06-17 21:41:29 +10:00
0e96d84079 Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks 2014-06-17 21:13:05 +10:00
12cf9d5be8 fix pathscanner / stl_vector related memory leaks 2014-06-15 13:24:39 +02:00
8c9749e42f merge with master and fix 4 conflicts by hand 2014-06-02 11:32:13 -04:00
f3349a797c more gettimeofday() -> g_get_monotonic_time() 2014-05-16 19:58:46 +02:00
5fba8a2015 and one more gettimeofday() transition (mackie timers) 2014-05-16 18:35:42 +02:00
1b989a93c2 remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR'] 2014-04-28 21:18:02 -04:00
058986f77b finish unfinished work at basing all install paths on the program name 2014-04-28 21:11:08 -04:00
8a4fdbf023 final eradication of jack header files from anything except the JACK backend 2014-04-11 02:52:28 -04:00
077a194430 Add the main VC project files for building Ardour3 with Microsoft Visual Studio
Note that there's no 'VS Solution' file at present and some targets haven't been built yet (e.g. 'fst')
2014-04-08 09:49:35 +01:00
af0c42ec4f midi-controller, support log parameters - fixes #5890 2014-03-23 18:59:24 +01:00
495c0de4ac fix up waf build in wake of search path changes earlier today 2014-03-10 17:30:12 -04:00
912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
e6c3cece64 remove recently added conflation of mingw64 and msvc with respect to symbol export 2014-03-02 14:59:08 -05:00
03fd396286 fix a related-to-last-commit problem in build script for OSC support
This would have had the effect of hiding -DPACKAGE="ardour_osc" but since there is no i18n stuff in our OSC support,
it really had no effect.
2014-03-01 16:58:22 -05:00
19395ac258 when mingw is mingw64, it appears that we need to use __declspec() and not __attribute__((visibility)) for export control 2014-03-01 15:16:39 -05:00
80d83fd238 add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages 2014-02-19 23:25:08 -05:00
29b3c299a1 add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages 2014-02-19 13:22:52 -05:00
79b7fb82f3 try to get export/visibility and build conditionals right for surfaces/, once more 2014-01-25 13:57:28 -05:00
065e1e6334 alter surfaces build wscript to use "children" idea (like top level wscript)
Still not clear why this file requires the global keyword to make children global, but the toplevel wscript does not.
2014-01-23 13:39:43 -05:00
d16edb530e fix up obj.defines for generic MIDI wscript 2014-01-23 13:38:45 -05:00
9d01082243 mackie code does not use poll(2) and so does not need poll.h 2014-01-23 13:38:23 -05:00
8eed05be54 use correct export/visibility macros 2014-01-23 13:37:28 -05:00
37b1f5017e merge with master 2014-01-14 21:13:21 -05:00
35c170937d NOOP, semantic update, don't pannable's panner for direct access. 2014-01-15 02:51:53 +01:00
5062a00c7d move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again 2014-01-12 15:40:47 -05: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
897fbdc652 Small patch to see if Ben's build problem gets fixed 2014-01-05 15:08:38 +00:00
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
84f55440a3 fix redrawing of canvas with an optimized build
Best guess right now is that optimization does something bad when ceil() is called twice on a very large dbl-precision number,
which results in a zero (empty) redraw area. Without the removal of the redundant ceil & floor functions, no expose events
would be delivered to the canvas in an optimized build during drags (and maybe more).
2013-12-23 15:35:49 -05:00
2065a2a2ac fix up OSC support to conform to new CP API and pay attention to feedback setting, even though feedback does nothing right now 2013-12-21 15:31:28 -05:00
e9c47051f7 conform to new CP API 2013-12-21 15:31:28 -05:00
91e2b5f88a conform to new CP API 2013-12-21 15:31:28 -05:00
362769e967 new CP API and fix several egregious bugs with port handling when switching devices, setting state etc. 2013-12-21 15:31:28 -05:00
644ead06b4 remove debug output 2013-12-21 15:31:28 -05:00
5ebc8de6cc conform to new CP API design 2013-12-21 15:31:28 -05:00
ea5fde0787 conform to new CP API design 2013-12-21 15:31:28 -05:00
b0a10da783 clean up aspects of ControlProtocol API 2013-12-21 15:31:28 -05:00
8a005319b8 clean up aspects of ControlProtocol API 2013-12-21 15:31:28 -05:00
f6c9fa4d89 fix a crash caused by not checking if MackieControlProtocol::_surfaces_state exists
I forgot to add this check when i changed the member variable to a pointer.
2013-12-14 11:10:54 -05:00
afabc09fbf change Generic MIDI control so that it handles a SendFeedback request synchronously within a process callback 2013-12-13 16:56:34 -05:00
85cd647226 Mackie Control support now saves & restores port connections for devices not using ipMIDI (not required for ipMIDI anyway) 2013-12-13 16:04:34 -05:00
a17bafa964 remove some unused code from mackie support 2013-12-13 16:04:34 -05:00
3a885d6177 Only use __declspec(dllimport/dllexport) for MSVC compiler
Use the gcc visibility attributes when building with the MinGW compiler(gcc).
GCC also supports the __declspec syntax but it will not compile at the moment
until the issues(which may not even be exactly the same issues as with MSVC)
are resolved.
2013-12-05 21:11:18 +10:00
f85c67501c reverse the visibility.h files assumptions that we don't build shared libs by default
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.

Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
683496c501 use libltc and libtimecode as static libs, and upgrade to waf 1.7
This is slightly awkward. It is important that we only link once to the static lib. Doing this at executable link time did not
work, possibly because waf insisted on putting the two static libraries at the front of the link list. So instead libardour
is now the point where linkage to these libraries occurs (and nowhere else). This should never be changed unless the change
just moves the linkage point to another location.

Also fix a bug with the libardour version tha was picked up by waf 1.7
2013-10-18 11:11:59 -04:00
b855e5f322 Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/wscript
	libs/ardour/ardour/audioregion.h
	libs/ardour/ardour/debug.h
	libs/ardour/ardour/directory_names.h
	libs/ardour/ardour/filesystem_paths.h
	libs/ardour/ardour/session_event.h
	libs/gtkmm2ext/gtkmm2ext/utils.h
	libs/panners/1in2out/wscript
	libs/panners/2in2out/wscript
	libs/panners/vbap/wscript
	libs/pbd/pbd/debug.h
	libs/pbd/pbd/file_utils.h
	libs/pbd/pbd/pathexpand.h
	libs/pbd/pbd/ringbuffer.h
	libs/pbd/pbd/ringbufferNPT.h
	libs/pbd/pbd/search_path.h
	libs/pbd/pbd/stacktrace.h
	libs/pbd/pbd/uuid.h
	libs/pbd/pbd/uuid_boost.h
	libs/surfaces/control_protocol/control_protocol/basic_ui.h
	libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
5b2a5d77b8 add -fvisibility=hidden to libardour_cp (control protocol) 2013-10-17 15:09:28 -04:00
61c1956ef9 add -fvisibility=hidden to evoral, and make things work 2013-10-17 15:02:20 -04:00
2fab8182cc add -fvisibility=hidden to libgtkmm2ext, and make things work 2013-10-17 14:36:41 -04:00
98c93ee53e tweak up DLL=1 defs for control surfaces 2013-10-17 13:30:18 -04:00
5896d773e4 add export control to control protocol library 2013-10-17 13:15:24 -04:00
e5888d3983 merge with master and fix 2 conflicts 2013-10-16 22:06:56 -04:00
75b933eadb Merge remote-tracking branch 'remotes/origin/master' into windows+cc 2013-10-16 15:55:59 +01:00
58e8f43052 reduce default height of mackie control GUI, as per #5713 2013-10-15 13:28:01 -04:00
97c68cc2b1 Merge branch 'windows' into windows+cc
Conflicts (hopefully resolved):
	libs/pbd/stacktrace.cc
2013-10-15 17:38:08 +01:00
69a8fc43e2 Merge branch 'master' into windows 2013-10-15 11:17:12 -04:00
f6ba1d2271 fix signed/unsigned issue pointed out by old apple gcc 2013-10-15 10:58:46 -04:00
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
5e0e41e068 Merge branch 'master' into cairocanvas 2013-09-16 22:11:50 -04:00
fb45fdc052 fix conflicts and merge with master 2013-09-16 22:11:06 -04:00
7cc451d81d fix language issue 2013-09-16 10:07:52 -04:00
7c8f3adc75 allow waf to handle inconsistent case where cwiid.h is present but not the pkg-config file 2013-09-16 10:07:27 -04:00
7a30e63eaa fix merge conflicts with master 2013-09-14 16:42:40 -04:00
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
79fed95c1b tighten up error handling a little bit during various setup functions for Mackie Control 2013-09-06 10:39:14 -04:00
1e7ca12f16 Use correct define when building ControlProtocol to export symbols 2013-09-06 14:32:01 +10:00
8ddd12a60d Rename SearchPath class Searchpath
Windows headers define SearchPath which means we have to undefine it
where necessary. This is a pain and can be tricksy, so I feel renaming
the class slightly is the easiest solution.
2013-09-06 14:31:11 +10:00
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
f225eaa919 'surfaces/mackie' - Platform specific changes 2013-09-05 10:04:18 +01:00
447e986a0a 'surfaces/mackie' - Other minor changes needed for building with MSVC 2013-09-05 10:03:07 +01:00
a7ab40e8ae 'surfaces/mackie' - Comment out some structure field names which MSVC didn't like 2013-09-05 10:02:11 +01:00
7b5d72eabd 'surfaces/generic_midi' - Specify 'MIDI::byte' instead of 'byte' so the compiler knows which one we mean 2013-09-05 09:50:58 +01:00
5abea78d40 'surfaces/generic_midi' - Comment out some structure field names which MSVC didn't like 2013-09-05 09:49:10 +01:00
ee7cc091b3 'surfaces/generic_midi' - Minor modification to prevent MSVC from complaining about a malformed comment 2013-09-05 09:47:37 +01:00
5c8306f148 'libs/surfaces' - Add an additional visibility specifier (ARDOURCP_API as well as ARDOURSURFACE_API) 2013-09-04 15:54:35 +01:00
d074bc586e Merge branch 'master' into audioengine 2013-09-03 17:41:49 -04:00
a6e0b60ae1 Merge branch 'master' into windows 2013-09-03 08:50:38 -04:00
9261d5908d fix error introduced during recent changes to Mackie control support, involving ambiguous enum usage 2013-09-03 08:48:11 -04:00
a435e6357f use visibility macros to control visibility in control surface DLL/DSO's 2013-09-03 08:33:51 -04:00
ee1b49f87e fix merge conflicts from master 2013-08-24 12:18:06 -04:00
41f6f5574b fix confusion about whether flip_mode in the Mackie support code is a bool or an enum 2013-08-24 11:46:44 -04:00
e711dfae12 remove misleading + incorrect documentation 2013-08-14 12:44:59 -04:00
59a3b797d7 fix compiler warnings. 2013-08-08 15:26:16 -04:00
b5da0c852f Revert "C++11 Building - Use new style struct field inititializing" (this code
change breaks gcc on several platforms).

This reverts commit bf153e58a5.
2013-08-08 15:23:10 -04:00
Michael R. Fisher
0c23314e3f C++11 Building - Use new style struct field inititializing
- clang with std=c++11 enabled was failing here
2013-08-08 15:23:09 -04:00
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
616f2a0370 fix conflicts after merge with master 2013-08-05 14:22:32 -04:00
6a436fd826 fix merge conflict from master 2013-07-31 20:11:15 -04:00
cd28d62b26 fix compiler warnings. 2013-07-28 20:32:52 +02:00
9ac6bb9bef part-way through getting the audioengine changes to compile 2013-07-24 19:29:45 -04:00
d3850612b4 Disable building all surface plugins on MinGW build 2013-07-22 13:41:14 +10:00
1b97f147eb Revert "C++11 Building - Use new style struct field inititializing" (this code
change breaks gcc on several platforms).

This reverts commit bf153e58a5.
2013-07-16 14:52:52 -04:00
Michael R. Fisher
bf153e58a5 C++11 Building - Use new style struct field inititializing
- clang with std=c++11 enabled was failing here
2013-07-15 22:57:34 -05:00