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