13
0
Commit Graph

6668 Commits

Author SHA1 Message Date
1d85ab27a7 replace use of Gio:: with primitives (fix for #5889 part 1) 2014-03-22 17:42:26 +01:00
ae7f56d89f fix thinko 2014-03-21 16:28:17 -04:00
34ebb682a4 Minor visibility changes to libevoral (template objects can be exported in libevoral because they're always instantiated in the actual DLL). 2014-03-21 18:57:36 +00:00
abab819bb3 Avoid some ambiguous calls to 'floor()' which were upsetting MSVC 2014-03-21 18:24:36 +00:00
903f1d7853 check if session dir is writable (needed for .bak files, undo, etc) 2014-03-21 16:10:29 +01:00
0daae2ec91 When finding the control surface DLLs (MSVC built), make sure we only find ones that match our build target 2014-03-21 14:54:21 +00:00
9d7efe7865 tweak meter-peak hold when using LED-striped meters 2014-03-21 14:15:38 +01:00
ab44e41dfd change the meters into CairoWidget, add expose_area to CairoWidget::render() 2014-03-20 23:50:40 +01:00
9df3157dfc big rework of scrolling, horizontal part considered almost 100% done.
Many more changes than I would typically like in a single commit, but this was all very intertwined.
Vertical scrolling using track-stepping still to follow.
2014-03-20 13:29:45 -04:00
97a537cd21 Use glibmm to simplify my earlier efforts with 'user_config_directory()' and 'user_cache_directory()'
(improves my previous commit from 10th Mar 2014)
2014-03-19 14:38:41 +00:00
6b92b1787e Modify 'ardour_config_search_path()' and 'ardour_data_search_path()'
1) So that the Windows version will use appropriate environment variables (if they exist)
     2) So that we don't exit if the env vars can't be found (we can still return some kind of path so just alert the user)
2014-03-19 13:42:58 +00:00
2952ac05e6 fixed a few warnings from clang static analysis 2014-03-18 22:51:44 +01:00
0e41d00811 fix potential uninitialized object pointer. 2014-03-18 20:51:59 +01:00
796f6e1302 Re-validate our iterator after SessionEventManager removes an event 2014-03-18 19:23:28 +00:00
80e1b42ed5 When finding (MSVC built) panner DLLs, make sure we only find ones that match our build target
Will most likely also need to get done for similarly "discovered" DLLs (backends / surfaces etc). TBC
2014-03-18 17:32:39 +00:00
3e4278a0fb g_close() is only available in select versions of glib; fix up non-standard use of glib/cerr to report errors and other related mess 2014-03-17 10:16:45 -04:00
9352eac64b Make sure that windows_search_path() is 'visible' in Windows (will be needed for fixup_bundle_environment) 2014-03-17 11:29:17 +00:00
96244e2afa Close a temporary file as soon as we know we've created it (the function which needs the file will re-open it itself) 2014-03-15 14:42:20 +00:00
f0e40565a5 small cleanup. 2014-03-14 20:25:04 +01:00
2721242f77 comment libardour functions that are not used in external scanner. 2014-03-14 20:18:24 +01:00
f05fe6a3fb removed duplicated (and dangerous) call to close(2) 2014-03-14 15:16:15 -04:00
83a5eadcf8 fix compile of libs/vfork with slightly older(?) glibc headers 2014-03-14 14:52:23 -04:00
82bce6cc76 call BaseUI::quit() from inside the MIDI Control UI destructor, to properly shutdown its thread 2014-03-14 13:46:30 -04:00
543099afba rework SystemExec - use vfork wrapper (and lots of related stuff) 2014-03-13 16:58:07 +01:00
f15932a5c2 fix #ifdef in localtime_r header (from Valeriy) 2014-03-12 09:39:16 -04:00
d52eb5bf23 A few days ago a #define got changed because the relevant section of code was no longer needed when building with mingw. However, it's not needed for msvc either (in fact, msvc won't compile it) so hopefully, the code fragment can be safely removed 2014-03-12 13:22:25 +00:00
9f98837255 more error messages if session renaming fails, and remove stupid use of RENAME macro and use ::g_rename() instead 2014-03-12 08:49:18 -04:00
f6129ed0f4 prototype vfork exec-wrapper. 2014-03-11 15:48:41 +01:00
c2946ee00f don't queue redraws when various canvas item properties are "reset" to the same value, plus supporting functions 2014-03-11 07:36:09 -04:00
495c0de4ac fix up waf build in wake of search path changes earlier today 2014-03-10 17:30:12 -04:00
1a3634f3b9 use buf_index_in() to identify VST MIDI buffer
Probably unnecessary as long we only have 1 MIDI port route, but this at least keeps symmetry with the output side
2014-03-10 17:30:12 -04:00
1e4559805f use PBD::downcase() rather than non-portable MS-based strlwr() 2014-03-10 17:30:12 -04:00
e25fbeb22d required header for new search_paths.h 2014-03-10 17:30:12 -04:00
b6a9bf5d04 add PBD::downcase() functions to libpbd 2014-03-10 17:30:12 -04:00
5ccf1e7346 Just noticed a small problem with my previous commit. Windows config files should be in 'Application Data/PROGRAM_NAME' rather than directly in 'Application Data' 2014-03-10 18:51:30 +00:00
a4752e057d Modify 'user_config_directory()' and 'user_cache_directory()' so that (on Windows) they'll always return a directory that's guaranteed to be writable (in Windows, this isn't always true for the user's home folder) 2014-03-10 16:24:11 +00:00
e0678ce30f Modify 'user_config_dir_name' to use the program name (e.g. Ardour or Mixbus) instead of always assuming 'Ardour'. 2014-03-10 16:24:10 +00:00
34c67ba854 Move 'template_search_path()' and 'route_template_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:10 +00:00
b32d9a1c70 Transfer 'vst_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:09 +00:00
f372a66128 Transfer 'panner_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:08 +00:00
aa7c2ab5c2 Transfer 'midi_patch_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:08 +00:00
8a44aa9aba Transfer 'lv2_bundled_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:07 +00:00
ff053653e1 Transfer 'ladspa_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:06 +00:00
d1fd112bdf Transfer 'export_formats_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:06 +00:00
75c55b0aa0 Transfer 'control_protocol_search_path()' into 'libs/ardour/search_paths.cc' 2014-03-10 16:24:05 +00:00
06fe0a5172 Create 'libs/ardour/search_paths.cc/.h' and transfer backend_search_path() to it 2014-03-10 16:24:05 +00:00
032f394b2a tiny red dots, be gone (expand poly_item bounding box by correct (?) amount) 2014-03-10 11:10:38 -04:00
ec0be1310f missing iterator advance 2014-03-10 11:10:38 -04:00
1374501727 tempo match midi auditioning - #5881 2014-03-10 00:48:48 +01:00
07d5a389fa add missing include to define LIBPBD_API (mingw build) 2014-03-09 21:05:17 +01:00
ba0ae4818a [VST] scan timeout display and per plugin timeout override. 2014-03-09 20:32:52 +01:00
da73b0f670 prepare configurable VST scan timeout 2014-03-09 20:32:52 +01:00
52c8b6d66a stupid hack to fix rectangle damage noise 2014-03-09 11:39:57 -04:00
fc94f71d5a Modified nesting to ensure that 'vst_search_path()' shouldn't return NULL if the first test fails 2014-03-09 11:48:09 +00:00
611dc796de fix reading VST shell-plugin .fsi cache 2014-03-09 00:36:13 +01:00
551993b96c VST? yes, we can do. 2014-03-08 23:34:49 +01:00
2fc52ec5fd paths dialog: use selection as default when adding new dirs 2014-03-08 18:28:16 +01:00
732d58ba81 fix double-free() when scanning VST shell plugins 2014-03-08 18:27:30 +01:00
cf1363a4a9 VST scanner: fix Ardour type IDs 2014-03-08 17:24:42 +01:00
944c32346b Add a couple of visibility specifiers that were missing 2014-03-08 11:29:52 +00:00
c7bc009b30 Use LIBPBD_TEMPLATE_API and LIBPBD_TEMPLATE_MEMBER_API where appropriate 2014-03-08 11:28:54 +00:00
6d3bd4e53c use fill transparency detection to avoid rendering transparent (invisible) rectangle fill area 2014-03-07 12:29:26 -05:00
12ef19d90a if a Fill object is given a zero-alpha (transparent) color, note that 2014-03-07 12:28:52 -05:00
52cfbb45e1 alter ArdourCanvas::Rect::expand() to not clamp to all-positive values because we now definitely have items that have negative coordinates.
This could have drastic consequences but I think the all-positive was a hack to fix a problem that was solved separately by means currently unknown.
2014-03-07 11:26:27 -05:00
621887cfaa slightly optimize bounding box computation for ArdourCanvas::PolyItem by avoiding inner conditional 2014-03-07 11:24:51 -05:00
e5802bdbea move an assert to cover only cases where it is needed 2014-03-07 11:23:22 -05:00
2a6fc5af74 tweak Polygon::render() to work whether or not fill or outline are unset 2014-03-06 23:15:59 -05:00
e4e6010cd4 add on_name_changed() virtual method to CairoWidget
If a CairoWidget does not a GtkRC-defined style, then changing its name does not trigger on_style_changed(). Since we want to use CairoWidget::set_name()
to trigger changes in the rendering of a widget, this is ... bad. Adding on_name_changed() provides a workaround for that.
2014-03-06 09:44:33 -05:00
142439b9a8 no dot prefix for VST cache files on windows. 2014-03-05 19:44:01 +01:00
a08c0ea1da manually revert change to canvas expose handling in fee026c5ef
Breaking out the rectangles implies a z-axis ordering of drawing,because the rect drawn last will implicitly be "on top".
But redraw areas are not submitted with any z-axis information, and so drawing like this breaks canvas layering. It
would be more efficient to draw the rects separately, but we don't have any ordering information and so we cannot do it
correctly.
2014-03-05 13:12:18 -05:00
58a30da03d use a centripetal catmull-rom curve to smooth ArdourCanvas::Curve
See http://en.wikipedia.org/wiki/Centripetal_Catmull-Rom to understand the benefits of this.
2014-03-05 11:38:30 -05:00
f3300ec03c move vst detection code into ARDOUR namespace 2014-03-05 08:47:54 +01:00
dd1c397344 clean up and document VST scanner src, add error logging to file 2014-03-05 08:41:29 +01:00
e6849e9c7e "correct" curve drawing (no artifacts during redraw)
Interpolation errors still need addressing.
2014-03-04 21:58:17 -05:00
c29d392b0c tentative intermediate state for ArdourCanvas::Curve 2014-03-04 21:58:17 -05:00
dde4d3bbc3 only queue an item redraw from Item::show() or Item::Hide() if the call changes the visibility status of the item (i.e. make no-ops really be no-ops) 2014-03-04 21:58:17 -05:00
6863bb9d28 reduce number of points used to define x-fade curves 2014-03-04 21:58:16 -05:00
fee026c5ef break down GdkEventExpose into distinct rectangles for canvas expose rather than drawing the entire region as a single rect 2014-03-04 21:58:16 -05:00
1c839ed541 some more mingw x-compile fixes 2014-03-04 18:53:43 +01:00
912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
3e250d5f06 even more small mingw/win fixes 2014-03-03 18:44:30 +01:00
5cfdb7d1ce yet another mingw/win fix 2014-03-03 18:39:30 +01:00
43421f0b46 minor fix for libpbd wscript on windows 2014-03-03 10:31:53 -05:00
5db9599e7e some windows build fixes 2014-03-03 10:31:53 -05:00
6442f316d4 detect VST midi-in/midi-out ports separately. 2014-03-03 13:35:09 +01:00
76fb7278dd paths-dialog gtkmm-2.20 compatibility (part two) 2014-03-02 22:51:04 +01:00
f303c9ebb2 paths-dialog gtkmm-2.20 compatibility 2014-03-02 22:38:29 +01:00
52b127a35b implement VST midi-output 2014-03-02 21:18:52 +01:00
e6c3cece64 remove recently added conflation of mingw64 and msvc with respect to symbol export 2014-03-02 14:59:08 -05:00
86ad316180 fix missing const for windows vst_search_path() 2014-03-02 12:46:33 -05:00
deb48ff22d add missing extra file 2014-03-02 11:33:35 -05:00
8040df1897 move export_search_path(), previously in gtk2_ardour/main.cc, into libs/pbd 2014-03-02 11:25:54 -05:00
b8419ae7cd use "new" VST search path code and adjust build system to reflect new source files 2014-03-02 10:53:25 -05:00
8ba449bc4e remove fallback_folders code, add simpler more focused get_vst_search_path() and breakout get_win_special_folder() into its own file 2014-03-02 10:52:52 -05:00
c10e11eca5 for windows build, add fallback_folders.cc to libpbd source list 2014-03-01 22:47:19 -05:00
fc88eaf392 add likely stub code for adding linkage to libole when building libpbd on windows.
I may have gotten the precise linkflags string incorrect, but this my best guess.
2014-03-01 22:44:56 -05:00
fd64bba1de add -DPROGRAM_NAME to libpbd compile flags 2014-03-01 22:43:46 -05:00
08c89809ee REALLY REALLY CORRECT template export macros for libpbd 2014-03-01 22:31:47 -05:00
dbd89ed49d REALLY CORRECT template export macros for libpbd 2014-03-01 18:59:44 -05:00
c1a540f34e use template export forms for MemementoCommand 2014-03-01 18:59:37 -05:00
9526fef902 CORRECT template export macros for libpbd 2014-03-01 18:58:41 -05:00
19ab0fddef remove mingw64 special case from evoral visibility header (might be appropriate everywhere, needs testing) 2014-03-01 18:58:12 -05:00
9f121fac81 add template export macros for libpbd 2014-03-01 18:57:36 -05:00
db92e79deb fix use of export macros to work with mingw(64). Template issues with msvc will require a different solution (if they exist) 2014-03-01 18:53:55 -05:00
a72482af09 fix use of export macros to work with mingw(64) 2014-03-01 18:53:26 -05:00
3e2ac89d22 fix correct export macro guard in libpbd for mingw64 2014-03-01 18:33:31 -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
560c667ea9 fix compilation of libcanvas so that when built as a shared lib (the default), -DLIBCANVAS_DLL_EXPORTS=1 is not lost 2014-03-01 16:52:08 -05:00
c626e83a64 ardour now requires export visibility macros for all added classes 2014-03-01 16:17:33 -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
597db6421a re-work VST paths configuration.
environment vars provide the "default", but are no longer
relevant once ardour-internal paths are configured.
2014-03-01 01:01:42 +01:00
ea57962765 change code that is never used into assert()s.
plugin-scan should always happen explicitly (either on start
or by user request).
2014-03-01 01:01:42 +01:00
e60933650e remove debug messages, for now 2014-02-28 17:17:00 -05:00
435c3ad47f change implementation of ArdourCanvas::Curve to use GIMP-inspired ideas.
Presmooth with quadratic bezier, then interpolate when rendering. Not finished yet
2014-02-28 17:00:25 -05:00
147145f3a8 fix typo in doc 2014-02-28 17:48:21 +01:00
92601f56f9 change default value for plugin scan progress window
goes with b8e4c44637
2014-02-28 17:48:21 +01:00
a5d7bf0f24 path-dialogue: check for and disallow duplicates 2014-02-28 17:48:21 +01:00
bf47f57ee7 break out ARDOUR::PluginType 2014-02-28 17:48:21 +01:00
dc4bb5b758 do not crash when considering a directory called midi (with any case) as an apparent MIDI file 2014-02-27 20:35:52 -05:00
3cf5dcb64c move Paths Dialog to libgtkmm2ext 2014-02-28 00:05:47 +01:00
f8ec1d1f27 glib only allows <glib.h> these days; typedef enum in C++ code is redundant 2014-02-27 09:23:07 -05:00
007e6bb15b remove unneeded extra methods in ArdourCanvas::Curve 2014-02-27 09:22:36 -05:00
230afc09ff increase number of steps in xfade curves (where applicable) from about 9 to 32 2014-02-26 18:52:14 -05:00
918f34b009 treat linux and windows VST plugins equivalent on session load 2014-02-27 00:44:48 +01:00
00b9774671 "cancel" only cancels [new VST] discovery, not index-cache-reading 2014-02-26 20:53:42 +01:00
832e02a711 properly handle VST scan/discover cancellation. 2014-02-26 20:50:36 +01:00
3b8ba073fc add note to filesystem paths
used e.g. for personal (non system wide) VST cache.
2014-02-26 20:43:43 +01:00
d5a780f462 user-configurable VST search paths (backend) 2014-02-26 18:07:45 +01:00
ce32d5f17b make PBD's path-scanner OS agnostic (use glib) 2014-02-26 18:07:45 +01:00
35272b8c47 fix typos 2014-02-26 18:07:45 +01:00
0cbf8f7dea fix canvas enter/leave bug when point is over a group/ignore-event item and we fail to send a leave event to the previous item 2014-02-25 16:08:36 -05:00
f9a3e7f8bb add DEBUG::CanvasEnterLeave to allow runtime toggling of canvas enter/leave events 2014-02-25 16:07:51 -05:00
64c2328a8a option to en/dis-able VST plugin discovery on startup 2014-02-25 19:17:04 +01:00
737aae908a tweak canvas rect drawing to correctly place bottom edge of rectangle inside the bounds (cairo works in mysterious ways) 2014-02-25 12:02:50 -05:00
d8329d855d implement plugin-scan cancel-button sensitivity 2014-02-25 14:57:59 +01:00
0708721b4f scan VSTs in background, allow to cancel & timeout 2014-02-25 14:57:59 +01:00
30de04a58c global static path to plugin scanner app. 2014-02-25 14:57:58 +01:00
e1c82dfd85 prepare plugin list refresh w/o instantiate (using cache only) 2014-02-25 14:57:58 +01:00
e63f3daa7e VST scanner tool.. part two 2014-02-25 14:57:58 +01:00
cfa94aeccc fix system-exec (wait for app to start) 2014-02-25 14:57:57 +01:00
e2adf46e0f update external VST scanner app 2014-02-25 14:57:57 +01:00
993ed56701 prepare standalone VST scanner tool.. part one 2014-02-25 14:57:57 +01:00
1c402f943f remove unnecessary files from native audio backend 2014-02-24 21:19:17 -05:00
7865acf563 fix some code typos (compiler warnings) 2014-02-25 00:52:37 +01:00
6c70caec5f implement VST blacklisting 2014-02-24 23:57:28 +01:00
adcb0faf6b preparations for VST blacklist (paths) 2014-02-24 23:57:28 +01:00
974626bf66 remove incorrectly placed export declaration 2014-02-24 15:25:46 -05:00
a17f797c52 add waves audio backend when building on apple 2014-02-24 15:17:18 -05:00
6666599e7b add -fms-extensions to allow earlier apple gcc to support anonymous union, as used by PortMidi 2014-02-24 15:16:46 -05:00
dd55b7894e remove SampleFormat code from waves audio backend 2014-02-24 14:49:14 -05:00