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