13
0
Commit Graph

10147 Commits

Author SHA1 Message Date
5fa4cf996b prepare custom LV2 extensions 2016-03-14 00:17:08 +01:00
f00342b2d8 Some AudioGrapher classes need to be exportable now, to support newly introduced 'AnalysisGraph' class
(not entirely sure why - but it might be because 'ProcessContext<Sample>' is now used in multiple sources within libardour).
2016-03-12 13:59:44 +00:00
af44e0e051 Make sure that class 'ARDOUR::AnalysisGraph' is exportable (since it gets used outside of libardour) 2016-03-12 13:44:10 +00:00
1c0efaf6c3 Accommodate newly introduced source(s) in our MSVC project (libardour) 2016-03-12 13:41:00 +00:00
d131f882ee cleaner version of ac3da53 2016-03-12 10:11:06 +01:00
ac3da53f71 reset export status when not normalizing - fixes #6816 2016-03-12 03:02:31 +01:00
acc5b4f54c and now without debug printf() 2016-03-11 22:40:58 +01:00
99801187e8 prepare DnD for copying processor state 2016-03-11 21:59:36 +01:00
8e147462d2 Configurable export-silence trim threshold (no GUI yet) 2016-03-11 18:11:36 +01:00
43603a9893 prepare region/range loudness analysis 2016-03-11 17:26:42 +01:00
bd519627d1 Make sure that a newly introduced class will be visible if it's needed outside of libgtkmm2ext 2016-03-11 10:51:24 +00:00
6af6031774 Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext) 2016-03-11 10:49:42 +00:00
Florian Weimer
5a41b86028 fix __cpuid() on x86
The previous version used memory operands that gcc (probably dependent
on optimization flags and/or version) could address relative to the
stack pointer, but pushing %ebx onto the stack changed it. Here, the
address of the regs array is put into %esi and the individual members
are written into directly.
2016-03-08 14:54:41 +01:00
Mathias Buhr
720c68d7e1 Adds a tooltip to the icon 2016-03-08 08:44:58 -05:00
Mathias Buhr
1375c454fb Implements filtering in bindings editor 2016-03-08 08:44:58 -05:00
48c70b60d8 remove uncharacteristic comments 2016-03-08 08:37:13 -05:00
add6c7b480 fix up indentation in libs/gtkmm2ext/bindings code, probably messed up by emacs on OS X 2016-03-08 08:36:05 -05:00
8ab60f3297 fix port-export analysis for > 2 channels. 2016-03-07 23:36:05 +01:00
73333350cc don't downcase Home, End and other non-single-key keycode names 2016-03-05 11:54:02 -05:00
Mathias Buhr
290d9e5e66 Small refactoring of keyboard bindings (first part)
- Adds collision detection for keybindings
- Fixes a bug that prevented newly created bindings to be deleted properly (reproduction: add a binding, remove it, restart ardour, binding is still there but can now be deleted).
2016-03-05 16:27:48 +01:00
feandin
bf83093f43 Fix issue #0006806 2016-03-05 15:54:47 +01:00
3a3afe7cfc fix playlist channel-count when removing a connected port.
when removing a connected port, IO::remove_port() emits
(IOChange::ConnectionsChanged | IOChange::ConfigurationChanged)
2016-03-05 01:37:59 +01:00
3dc09d42ab allow to override FPU detection 2016-03-04 18:05:47 +01:00
53a9751532 fix processed region export (track output) 2016-03-04 17:01:28 +01:00
9b55550f0b force all KeyboardKeys in Bindings to be lower case 2016-03-02 16:18:03 -05:00
208dec7231 remove debug output 2016-03-01 18:37:19 +01:00
5dbfca9953 Fix build on El Capitan
In which Apple once again changed the name of the MIDI kit from CoreMidi to CoreMIDI, something
they did for the Lion release of OS X
2016-03-01 12:20:59 -05:00
79d9973fa0 fix waveform flickering during recording 2016-03-01 18:06:29 +01:00
a27fed772b NO OP, whitespace 2016-03-01 14:43:44 +01:00
4384aff43f protect current_request with request_queue_lock 2016-03-01 14:43:28 +01:00
36d30f8c89 use glib mutex API 2016-03-01 12:53:54 +01:00
38f3d9d68a initialize uninitialized variable 2016-02-29 15:17:12 +01:00
8741a5885b configurable export preroll 2016-02-29 15:13:06 +01:00
33545e552b pre-process (silence) before export to flush reverb tails etc. 2016-02-29 13:50:56 +01:00
759e13a53c fix typo ba7835 2016-02-29 11:28:04 +01:00
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
49148b627c force waveform images to be least 1px wide 2016-02-28 18:07:46 +01:00
2c47dd98c5 silence clang analyzer: Memory Error, Memory leak 2016-02-28 13:12:40 +01:00
489753e866 specialize isfinite for MSVC compat 2016-02-28 12:07:00 +01:00
4cd77f0544 try to narrow down #6478 2016-02-27 23:16:05 +01:00
990c365ebf ISO C++03 14.2/4 compatibility for clang.
http://stackoverflow.com/questions/3786360/confusing-template-error
(hopefully other compilers which didn't mind the missing "template"
are still fine with this)
2016-02-27 21:02:30 +01:00
d3634c5779 Accommodate 'lua' search paths in various projects where they're needed
(i.e. so that MSVC can find header files from lua).
2016-02-27 16:29:55 +00:00
269e88671e Accommodate newly introduced source(s) in our MSVC project (lua) 2016-02-27 16:29:54 +00:00
3c9c30abe1 Accommodate newly introduced source(s) in our MSVC project (libardour) 2016-02-27 16:29:53 +00:00
77abe6c928 Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext) 2016-02-27 16:29:53 +00:00
22ed6fb1f7 Accommodate newly introduced source(s) in our MSVC project (libpbd) 2016-02-27 16:29:52 +00:00
0106047fd2 avoid "show_all" -- closes #6797 2016-02-27 12:53:09 +01:00
e4a7e5a239 improve size and positioning of Tabbable's after being torn off, hidden, reshown, etc 2016-02-26 18:51:32 -05:00
9472200727 fix hang at exit (after freewheeling) with PA-nonblocking backend 2016-02-27 00:50:02 +01:00
e5340dc258 when looking up a key event, switch to the lowercase keyval
Our bindings always use the lowercase form. Shift-e generates the GDK keyval for 'E'
rather than 'e' (with the event state including GDK_SHIFT_MODIFIER). So we have to
take this into account when doing the lookup
2016-02-26 15:47:50 -05:00
1bee17d3b9 prevent livelock on NaN, inf control parameters - fixes #6789
|: Gtk::Adjustment::value_changed  AutomationControl::set_value Controllable::Changed
GUI Event Loop  Gtk::Adjustment::set_value :|

TODO: check portability of `isfinite ()`
2016-02-26 14:51:06 +01:00
59aa283f38 remove declaration of non-existent method 2016-02-25 15:07:34 -05:00
a6af411af7 potential mem corruption at session close:
ARDOUR::Session::~Session()
ARDOUR::Route::~Route()
ARDOUR::InternalReturn::~InternalReturn()
ARDOUR::Return::~Return()
ARDOUR::Session::unmark_return_id(unsigned int)
boost::dynamic_bitset<unsigned int, std::allocator<unsigned int> >::reference::do_assign(bool)

-> Invalid write of size 4
-> 0 bytes inside a block of size 4 free'd

Thanks to The_CLA for valgrinding this.
2016-02-24 23:36:52 +01:00
0e36f8e2d7 missing include for rand() in self-tests 2016-02-23 22:55:17 +01:00
70222e8133 fix LV2Plugin::requires_fixed_sized_buffers()
ARDOUR::Plugin() does not inherit from ARDOUR::Processor(),
the virtual function was never called.
2016-02-23 22:22:19 +01:00
68a8b5613e Add new sources to MSVC project (libardour)
adapted from John Emmas' lua branch
2016-02-23 15:41:26 +01:00
f4553880f6 Implement Lua session-scripts 2016-02-23 15:41:21 +01:00
51385ced3c Implement Lua DSP processor/plugin 2016-02-23 15:41:08 +01:00
d8008b2db1 libardour lua-script-manager 2016-02-23 15:41:06 +01:00
f0b6c8e111 include static liblua with libardour & prepare bindings 2016-02-23 15:41:02 +01:00
7d7f63363b basic DSP lib (for lua bindings) 2016-02-22 22:06:47 +01:00
4303fbfc05 add lua search path 2016-02-22 22:06:47 +01:00
f2afb95c5d add realloc pool to MSVC project 2016-02-22 22:06:47 +01:00
3c87629c7e realloc-pool unit-test 2016-02-22 22:06:47 +01:00
6cf5e989c0 time-bound memory-pool
O(1) realloc() for use with Lua.
A standard malloc/free/realloc API is exposed for testing and other
potential use-cases.

The current configuration it's performs well for lua-metatables
(regular calls to realloc() with varying tiny chunks ~1-50 bytes)
For the use-case at hand it outperforms TLSF.
2016-02-22 22:06:47 +01:00
77ded21da9 Add a VC project for building the new lua branch with MSVC
(untested, new paths -- adopted from John Emmas project)
2016-02-22 22:06:47 +01:00
a8ae47ada2 LuaBridge: support argument references via table return 2016-02-22 22:06:47 +01:00
12a58015a3 customize LuaBridge
* introduce boost::shared_ptr support
* support enum & const
* allow to add non-class member functions
* STL iterators (vector, list, set, bitset & map)
* support reference arguments (framecnt_t&)
* add support for arrays of basic types (e.g. float*, int*)
* fix compiler warnings
2016-02-22 22:06:47 +01:00
5b40e073e9 add liblua wrapper and build-scripts 2016-02-22 22:06:47 +01:00
2b575e4746 NO-OP whitespace 2016-02-22 22:06:47 +01:00
e98f21dd29 add LuaBridge
https://github.com/vinniefalco/LuaBridge
2016-02-22 22:06:47 +01:00
c8973f67a6 add lua-5.3.2 2016-02-22 22:06:47 +01:00
21c3d17ae1 fix merge/rebase mistake 2016-02-22 15:31:26 -05:00
276b820923 fix an error during merge/rebase fixups 2016-02-22 15:31:25 -05:00
c932c56233 cleanup post-rebase-against-master messes 2016-02-22 15:31:25 -05:00
a29fd4542e a bunch of stuff to make tab/window switching work better, and provide Alt-m to toggle between editor+mixer in a sane way 2016-02-22 15:31:25 -05:00
361c8421df provide Tabbable::change_visibility(), which has slightly odd semantics that are neither toggle nor one-shot 2016-02-22 15:31:25 -05:00
51d403d485 allow pixbuf_from_string() to return the full size pixbuf, with optional padding 2016-02-22 15:31:25 -05:00
1e537cb539 remove tab-related code for tabbed notebook, add tooltips to new buttons 2016-02-22 15:31:25 -05:00
51879285c5 tab-free tabbed display, part 1.2 2016-02-22 15:31:25 -05:00
e9234c856a add syntax and scaffolding for MIDI binding maps to refer to selected tracks/busses.
THIS DOES NOT WORK YET. Selection information is not available in libardour at this time
2016-02-22 15:31:25 -05:00
e0f32182df fix tooltip text to accurately describe how to reattach window.
This commit incorrectly describes top level menu structure inside a file in libs/gtkmm2ext.
2016-02-22 15:31:25 -05:00
a598c5d4ac fix inadvertent case change 2016-02-22 15:31:25 -05:00
d2a6fec03a additional GTKOSX => __APPLE__ changes missed in previous commit 2016-02-22 15:31:25 -05:00
329c096066 add a clarifying comment 2016-02-22 15:31:25 -05:00
b23c5264f2 change operator<< for Keyboardkey to show state in hex 2016-02-22 15:31:25 -05:00
2cc44e7668 no more munging with keyvals/accels on OS X 2016-02-22 15:31:24 -05:00
aa71d60ab9 remove Bindings::ignored_state and use Keyboard::RelevantModifierMask 2016-02-22 15:31:24 -05:00
fbc985f913 set PrimaryModifier on OS X to match the actual bits used by GTK for Command 2016-02-22 15:31:24 -05:00
aba063bfaa remove Gtkmm2ext::possibly_translate_mod_to_make_legal_accelerator().
This is no longer needed because we can set the modifier to the actual bits that GTK uses for Command (META+MOD2)
2016-02-22 15:31:24 -05:00
6991a07902 remove all trace of SAE from source code.
This had become incoherent over time, and posed a development hazard and burden going forward
2016-02-22 15:31:24 -05:00
bc487bb4b0 replicate the remove-all-trailing whitespace commit(s) in master 2016-02-22 15:31:24 -05:00
589f2a1ab8 change suffix of keybinding files to ".keys" to avoid conflict with earlier versions.
Move some code around that should never have been inside libs/ardour to begin with.
2016-02-22 15:31:24 -05:00
379bc35948 update Mackie code to use new API to get all actions 2016-02-22 15:31:24 -05:00
b944532f67 cleanup Bindings/ActionMap API to get all actions for various purposes 2016-02-22 15:31:24 -05:00
66e0328a93 create a two-way association between an action map and a bindings object, rather than just one way.
This helps us lookup bindings when printing out lists for the user
2016-02-22 15:31:24 -05:00
949163f806 more changes to Bindings, Keyboard APIs 2016-02-22 15:31:24 -05:00
67e19c177f radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
29b69b0ab4 various fixes for saving bindings state 2016-02-22 15:31:24 -05:00
f028a6bffb fix memory lifetime management issue 2016-02-22 15:31:24 -05:00
36023db8aa change/extend/rework Bindings API to allow replacement and provide stub/hook/call to save bindings 2016-02-22 15:31:23 -05:00
04a9ce757c initial compilable version of saving key bindings with "new" scheme 2016-02-22 15:31:23 -05:00
00933950b7 small rationalization of naming and code for managing plugin GUI visibility 2016-02-22 15:31:23 -05:00
e13322e7f5 bindings: prevent double registration and double signal connection, and provide get_all_actions() methods 2016-02-22 15:31:23 -05:00
d0fc12bd22 remove all action-registering API from Gtkmm2ext::ActionManager 2016-02-22 15:31:23 -05:00
0f17508e6c changes to Bindings and Keyboard API to support (mostly) GTK-free keyboard bindings 2016-02-22 15:31:23 -05:00
077bb13e94 extend API for tabbable visibility management 2016-02-22 15:31:23 -05:00
d4664434f7 set "close-button" data on Tabbable contents.
I tried doing this in the constructor and got a segfault for reasons I don't understand
but probably should
2016-02-22 15:31:23 -05:00
5e0337a4a3 convert CairoIcon into a NO_WINDOW widget that just draws into its parent widget 2016-02-22 15:31:23 -05:00
a48684c692 if _need_bg is set to false in a CairoWidget, then don't actually draw the background 2016-02-22 15:31:23 -05:00
b6c4ae46d0 clean up tabbable state maintainance; drop Gtk::Button unintentionally used for close cross image 2016-02-22 15:31:23 -05:00
d6f3a006d2 scale CairoIcon by Gtkmm2ext::UI::ui_scale 2016-02-22 15:31:23 -05:00
b48c7c0180 revert to thin lines for close cross icon 2016-02-22 15:31:23 -05:00
914af0f0c8 move ui_scale static member from ARDOUR_UI to GtkUI 2016-02-22 15:31:22 -05:00
0819efe27c remove unused lines 2016-02-22 15:31:22 -05:00
90845af8fa hopefully get dynamic tabbable menu state right this time 2016-02-22 15:31:22 -05:00
e2dfc10698 thicken up lines of close cross icon 2016-02-22 15:31:22 -05:00
1c41f75488 provide a sigc::signal to track display state changes for a Tabbable 2016-02-22 15:31:22 -05:00
308f6ed828 changes to get show/hide/attach/detach working 2016-02-22 15:31:22 -05:00
fd938d95bf change/extend Tabbable API to allow for show/hide/attach/detach 2016-02-22 15:31:22 -05:00
8e14496919 use new CairoIcon to add a tab-close "button" to tabs 2016-02-22 15:31:22 -05:00
e026adf4a9 second part of: add new CairoWidget-derived class that does nothing but shown an ArdourIcon. 2016-02-22 15:31:22 -05:00
c06c2c29db add new CairoWidget-derived class that does nothing but shown an ArdourIcon.
Somewhat necessary by placement of ArdourButton class in directory heirarchy. But these are also
much simpler
2016-02-22 15:31:22 -05:00
434ef34229 add tab-closing buttons to tabs.
Images are non-scalable, too big and ugly. Next commit ...
2016-02-22 15:31:22 -05:00
347ba94bcd add ::make_visible() to Tabbable class 2016-02-22 15:31:22 -05:00
436706c8d4 remove debug output 2016-02-22 15:31:22 -05:00
e46b518319 classes derived from WindowProxy are responsible for their own window creation in ::set_state().
Fixes a crash reported by A.Prokoudine when opening a session with visible plugin GUIs
2016-02-22 15:31:22 -05:00
37fce09a18 widespread changes to get the new (oldArdour binding scheme to be used for keyboard accelerators 2016-02-22 15:31:22 -05:00
d84f655495 add suggestive tooltips for tabs; remove position argument for Tabbable since it isn't really usable 2016-02-22 15:31:21 -05:00
552e995297 save/restore tabbable state 2016-02-22 15:31:21 -05:00
9f0ea99fac better way to switch to a tab 2016-02-22 15:31:21 -05:00
03b354a99e make tabs reorderable 2016-02-22 15:31:21 -05:00
a5150d500d when tearing off a tab, make the window be the same size as the allocation of the tab 2016-02-22 15:31:21 -05:00
9010262bed first compilable version of tabbable design.
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
2016-02-22 15:31:21 -05:00
85eee3b09d compilable version of WindowProxy 2016-02-22 15:31:21 -05:00
a29f76c1c4 initial versions of Tabbable object 2016-02-22 15:31:21 -05:00
df05e97288 first version of Gtkmm2ext::WindowProxy 2016-02-22 15:31:21 -05:00
Adrian Knoth
6fa88273aa Spelling correction patch from Debian
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch>
2016-02-22 15:13:01 -05:00
André Nusser
1afbdaff58 Fix compilation warnings. (libs part) 2016-02-22 15:11:02 -05:00
86d27a736c better system for managing kbd focus after cmd-w closing a dialog.
Key, Button and Focus In events in the editor+mixer windows cause the respective window to be noted
as the window to which focus should return after a dialog is closed with cmd/ctrl-w
2016-02-22 14:03:55 -05:00
60c4b30b7e manually revert most of previous commit related to dialog/main window focus management 2016-02-22 13:55:31 -05:00
3a08ac5e1f os x: an initial attempt at fixing loss of keyboard focus after cmd-w to close dialog 2016-02-22 11:49:17 -05:00
30497db823 prepare for gcc6 rint() precision degradation
gcc6 returns a float for "rint ((float) val)"
2016-02-22 00:07:21 +01:00
f6fe87d63e prevent some mess when automating control ports on midi synths 2016-02-21 22:19:08 +01:00
3cc4ee8029 alsa: allow environment variable ARDOUR_ALSA_DEVICE to identify a single, arbitrary ALSA PCM name as the only available/allowed device 2016-02-21 12:44:54 -05:00
2d18283379 make threaded waveview rendering a configure time option (enabled by default) 2016-02-21 12:34:10 -05:00
344cf05540 OS X: fix the handling of SUPER,HYPER,META (see code comment for more) 2016-02-21 10:48:35 -05:00
43d3b4656a add an OOM check. 2016-02-20 20:47:13 +01:00
67d99a3c5b help clang static analyzer 2016-02-20 20:36:58 +01:00
f519edbe8e fix segfault in libardour unit-tests (possible crash in mackie sf) 2016-02-20 20:26:34 +01:00