4ddd025139
just bail out (to prevent further harm) if no panners are found.
2014-03-23 03:10:00 +01:00
e6b56f3447
fix undefined value, support netjack2
2014-03-23 02:26:37 +01:00
76b2006612
fix yet another possible memory leak
2014-03-23 02:19:05 +01:00
dbcf22a832
catch OOM
2014-03-23 02:18:49 +01:00
23f285f126
assure midi patch ID is set before assigning it
2014-03-23 01:14:36 +01:00
38b32414ba
remove dead code (PIChaser has been superseded with PLL,DLL)
2014-03-23 01:07:17 +01:00
9fb98b83bf
fix timecode initialization
2014-03-23 01:02:36 +01:00
89e63b4bce
fix some memory leaks
2014-03-23 00:46:12 +01:00
167991eceb
fix mismatch typo in sizeof
2014-03-23 00:17:19 +01:00
679d48ee2b
fix edge case (partial write of LV2 worker message size)
2014-03-23 00:04:46 +01:00
a87a71f05f
remove unused header file
2014-03-22 18:25:09 +01:00
ba128eea50
replace use of Gio:: for plugin state
2014-03-22 17:42:26 +01:00
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