a16c7a8a90
add option to create new routes with strict-i/o enabled.
2016-03-28 18:25:34 +02:00
a8943538ea
Hide lua script selector before showing lua parameter dialog.
2016-03-23 17:00:10 +01:00
627f2aae48
UI part of lua code/header consolidation.
2016-03-23 17:00:10 +01:00
e7181c0cc4
Midi Busses? why yes!
2016-03-16 04:41:19 +01:00
c07bca3a62
fix capitalization of sections of key editor
2016-03-15 21:25:07 -04:00
08f9a439a7
fix segfaults/crashes when quitting under valgrind
2016-03-15 15:35:11 -04:00
3239876faf
fix carelesslly deleted line that caused endless loop when missing
2016-03-15 13:14:35 -04:00
ad4ae69a1d
when handling a keyboard event, if the current focus widget has ardour bindings attached, use them rather the ones for the main window content tab
2016-03-15 12:41:21 -04:00
3a2ba2e958
Rewrite commit 68e81a6
, prefer forward declaration and includes in cc.
...
only MSVC requires the complete class for the templated c'tor in
window manager.h
2016-02-28 11:58:47 +01:00
68e81a6afc
Move our #inclusions for "lua_script_manager.h"
...
For whatever reason, almost none of gtk2_ardour will compile (with MSVC) unless 'lua_script_manager.h' gets #included by 'gtk2_ardour/window_manager.h'. No idea why... :-(
2016-02-27 16:29:56 +00:00
8d81f121e5
fix compilation on OSX/PPC (old coreaudio)
2016-02-24 12:04:01 +01:00
2532911b18
Editor Actions Scripts & Manager
2016-02-23 15:42:53 +01:00
341758674b
Add GUI to instantiate session-scripts
2016-02-23 15:42:26 +01:00
6b940afa36
Lua Script Console Window
2016-02-23 15:42:13 +01:00
c932c56233
cleanup post-rebase-against-master messes
2016-02-22 15:31:25 -05:00
51879285c5
tab-free tabbed display, part 1.2
2016-02-22 15:31:25 -05:00
fa31454688
tweak DEBUG_TRACE output for key_press_focus_accelerator
2016-02-22 15:31:25 -05:00
56770ff0af
change GTKOSX macro constant to use __APPLE__ instead
2016-02-22 15:31:25 -05:00
aa71d60ab9
remove Bindings::ignored_state and use Keyboard::RelevantModifierMask
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
9b9a7beb13
cleanup various merge conflict resolution errors/omissions
2016-02-22 15:31:24 -05:00
ec65e351ac
ensure that all callers of ARDOUR_UI_UTILS::relay_key_press() provide a window
2016-02-22 15:31:24 -05:00
ae88abff33
use newer API to show all actions and bindings with -b
2016-02-22 15:31:24 -05:00
20ba651af4
fix up code to print all available actions and existing key bindings
2016-02-22 15:31:24 -05:00
09f9020897
action maps now have names
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
6e55812535
use Bindings API for binding replacement
2016-02-22 15:31:23 -05:00
1b5247ebb9
use X_() to mark binding names as non-translated
2016-02-22 15:31:23 -05:00
0f748492b3
fix double initialization of key bindings editor AND rename video import menu item correctly
2016-02-22 15:31:23 -05:00
a13a8da8ac
switch all action registration/binding code over to new API.
...
This removes the ability to change bindings via menus.
Still to come: saving modified bindings, and reworking the key editor
2016-02-22 15:31:23 -05:00
8933d53271
get current tab on startup correct.
...
Note that Gtk::Notebook will not switch to a page with an invisible widget. This took me TOO LONG to discover.
Also move code around between files
2016-02-22 15:31:23 -05:00
8c54142734
hide splash in a sensible and understandable way
2016-02-22 15:31:22 -05:00
e2e75d8346
add explanatory/reminder comment
2016-02-22 15:31:22 -05:00
1158271f72
remove "toggle-foo" style actions related to editor/mixer windows and provide new methods that just use Tabbable::make_visible()
2016-02-22 15:31:22 -05:00
39ee7382e7
refactor key press handling to include a hack that continues to use GTK accelerators/bindings for now
2016-02-22 15:31:22 -05:00
e3db5c5c05
save & restore the main window geometry
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
50e4ebff36
update main window title appropriately
2016-02-22 15:31:22 -05:00
552e995297
save/restore tabbable state
2016-02-22 15:31:21 -05:00
98b14ad0e6
get normal GTK accelerators working again
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
1a00e323e3
the basics of tabbed
2016-02-22 15:31:21 -05:00
8774be86f7
prefer initialization to assignment for ARDOUR_UI
2016-02-22 15:31:21 -05:00
9bac8dfaad
the basics of tabbed
2016-02-22 15:31:21 -05:00
51234d6d09
initialize uninitialized var - possible fix for #6400
2016-02-22 15:31:21 -05:00
9287a9ba8e
prefer initialization to assignment for ARDOUR_UI
2016-02-22 15:31:21 -05:00
02c8d6d648
the basics of tabbed
2016-02-22 15:31:21 -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
9e5b7db89f
first compiling, mostly working version of group controls changes
2016-01-22 11:58:31 -05:00
16623b1cb3
add more remote transport toggles for touchOSC: midi_panic, toggle_roll, stop_forget, set_X_range, quick snapshots. also add boilerplate for monitor controls, but those are not implemented yet
2016-01-18 18:24:14 +01:00
df5c5d338a
space bar action (Transport/ToggleRoll) should still start transport if synced to Engine (JACK)
2016-01-12 08:28:54 -05:00
727d6128f1
remove debug output
2016-01-07 13:38:48 +01:00
9e3299f97d
change Controllable::set_value() API to include grouped control consideration.
...
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
135eedc685
the return of the proper GUI window titles
2015-12-29 11:03:43 +01:00
74e4081ef4
save users who like to suffix snapshot names some typing.
2015-12-28 19:24:30 +01:00
4bc075fe7e
correct name the event loop used by the GUI
2015-12-12 11:12:10 -05:00
7409d5f224
catch a potential segfault (unload session)
2015-12-10 12:46:24 +01:00
0f3c623a3f
fix OSX openFile Application Delegate
...
allows to open Ardour via double-click on a .ardour file in Finder.
2015-11-29 17:04:40 +01:00
André Nusser
69229f74e0
Add more menu entries to the 'Help' menu.
...
* The functions were already implemented -- I just added the links in
ardour.menu.in, corrected spelling and the link to the tracker.
* The tracker link was corrected as I considered it confusing when one
is not already logged in.
2015-11-25 17:32:46 -05:00
61e22d9f11
fix logic errors in duplicate tracks dialog
2015-11-14 16:02:05 -05:00
ef810eacd8
move logic of track/bus duplication into DuplicateRouteDialog
2015-11-14 15:25:52 -05:00
456b6adf2b
tweak duplicate routes dialog appearance depending on whether or not busses/tracks are the target
2015-11-14 11:05:15 -05:00
aeb7246977
partial dialog to control track duplication
2015-11-14 10:30:08 -05:00
100701cb23
initial/partial implementation of duplicate track/bus
2015-11-13 16:14:49 -05:00
André Nusser
14c2409f47
Show info dialog when opening chat via Help -> Chat.
...
This should clarify for users that in IRC you post your question and
wait, and not leave after a few minutes.
2015-11-04 17:53:03 -05:00
André Nusser
6ccffbaf09
Improve behavior of overwrite_file_dialog.
...
- Make overwrite file dialogs transient.
- Cancelling the overwrite dialog doesn't close initial dialog.
2015-11-04 17:52:00 -05:00
4a3413f2d4
suspend timers while flushing the gtk-event queue.
...
This fixes an issues where Ardour never completes to flush the GUI event
queue due to rapid updates for meters and similar events.
ARDOUR_UI::load_session() never returned and the complete session
ran inside Gtkmm2ext::UI::flush_pending(), this later causes a crash
at exit.
as side effect, this also speeds up session load.
2015-10-30 15:55:27 +01:00
nick_m
72556cdd7a
Amend last commit.
2015-10-23 02:14:03 +11:00
nick_m
410d4316b9
Center some windows known to be presented by ardour.
2015-10-23 01:10:56 +11:00
André Nusser
5d50abed75
Confirmation on overwrite for track and session templates. -fixes #6587
2015-10-21 23:28:44 -04:00
f307080808
disable follow-edits with external sync #6577
2015-10-18 02:03:41 +02:00
619900e333
fix #6640 (snapshot clears "dirty" flag)
...
empty name indicates current-session name.
2015-10-16 21:10:21 +02:00
23b975e172
use API to add system-specific volumes - #6643
2015-10-16 19:07:25 +02:00
5ad63bd3f8
re-enable engine sensitive actions..
...
..after an engine stop/start cycle.
e.g "New Insert", "New External Send"
2015-10-15 21:50:01 +02:00
696b89b71a
rework 8b80fe0
, use std::string, not char*
2015-10-15 11:24:15 +02:00
8b80fe04ad
Avoid calls to Glib::ustring << operator at all cost.
...
Glib::operator<<(std::ostream&, Glib::ustring const&) involves
loadlocale which is not thread-safe on OSX.
This fixes various seemingly random crashes on OSX.
2015-10-14 22:46:15 +02:00
6b00e149d2
cancel-solo always clears all solo-state, just in case.
2015-10-06 20:06:25 +02:00
528ad3416a
Remove unused methods in ARDOUR_UI for starting/stopping engine
2015-10-06 13:29:57 +10:00
5ed05218e6
Update sample rate and CPU load in status bar when AudioEngine stopped
2015-10-06 13:29:57 +10:00
2397429e99
use quotes for in-tree pbd/glib wrapper include
2015-10-05 22:15:18 +02:00
dc36b063bf
remove unused fstream includes
2015-10-05 22:15:18 +02:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
eebbf64484
provide Main/cancel-solo as an action and make rude solo button(s) use it
2015-10-02 07:32:56 -04:00
520b78b841
Add parent window argument to ARDOUR_UI::check_audioengine
...
Ensures relevant placement of the dialog when presented
2015-10-01 09:10:19 +10:00
463bd470e8
Don't hide Audio Setup dialog when clicking 'OK' if engine fails to start
...
This has to be handled in two places, in ARDOUR_UI::do_audio_midi_setup and in
the dialogs response handler and in as the window can also be triggered via the
window action manager.
2015-10-01 09:10:19 +10:00
2768ce9b05
Use AudioSetupDialog as parent of the error message popup when failing to start engine
...
Without a session loaded this makes the message dialog appear in front of the
AudioSetup dialog instead of randomly up in the top left somewhere. This does
mean though that if the AudioSetup dialog is not visible the error message
popup will appear randomly up in the top left(at least on windows, it seems
fine on linux) but I will fix that shortly.
2015-10-01 09:10:19 +10:00
d19605aeaa
Use AudioEngine::get_last_backend_error in message dialog when failing to start engine
...
If a backend is not returning AudioBackend::ErrorCode values to indicate the
type of error then the default string will be returned which is the same as
what was previously displayed.
2015-10-01 09:10:19 +10:00
9cf56aab84
fix the logic of the GUI "toggle roll" action as it pertains to loop recording
2015-09-28 17:42:11 -04:00
6c53ebc4c1
basic GUI support to auto-align video by LTC.
2015-09-20 18:37:39 +02:00
dfd7e80fda
fix crash at exit, ctrl+s during quit.
2015-09-19 19:00:43 +02:00
f27800ea41
use pbd's gstdio compatibility wrapper (GUI)
2015-09-17 14:38:09 +02:00
4a10dbbc1b
deleting pointers to incomplete types may cause undefined behavior
2015-09-17 00:13:43 +02:00
c256075e63
Remove tooltips() member from ARDOUR_UI and use Gtk_UI::set_tip
2015-09-16 16:55:17 -04:00
6b019a4953
Move UIConfiguration Singleton into UIConfiguration header
...
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
45d487f16e
Move ARDOUR_UI::ui_scale into UIConfiguration class
2015-09-16 16:55:17 -04:00
fc1e7dbb55
Move DPIReset and ColorsChanged signals into UIConfiguration
2015-09-16 16:55:17 -04:00
2d47183dc9
Move util functions into UIConfiguration as they depend on it anyway
2015-09-16 16:55:17 -04:00
2e8af0c917
Remove duplicate extern declaration
...
DPIReset signal is declared in global_signals.h
2015-09-16 16:55:17 -04:00
18afd09b3b
unify recent session dialogs
2015-09-16 21:37:56 +02:00
93cd0d17e4
display active peak-builds
2015-09-15 17:50:27 +02:00
b05912b0cb
GUI part: cleanup peak-files
2015-09-15 14:44:05 +02:00
4a1f5c7f28
GUI part of memleak fixes
2015-09-12 20:05:46 +02:00
fd17b40e6f
trick ardour to print main-thead mem-pool stats.
2015-09-12 02:18:38 +02:00
f970022838
ditto for the announcement message
2015-09-10 17:39:32 +02:00
1ebe22eeed
catch mem-leaks more easily.
2015-09-10 17:39:31 +02:00
6e944121f6
Don't unload session with Session -> Open -> Cancel, Fixes #6568
2015-09-09 09:58:13 +10:00
54d216429c
offer up (when possible) MBWF, RF64 and RF64 (WAV) options
2015-09-08 17:40:29 -04:00
Guy Sherman
045b878bd1
NOOP, whitespace only
2015-09-08 22:30:36 +02:00
929db238c9
fix prev. commit
2015-09-08 22:27:15 +02:00
2f1878a6f7
portable c-code for reading pingback/announcement message
2015-09-08 21:21:28 +02:00
d0fdcf2848
Use glib to open our 'announcements' file, rather than opening directly with ofstream
...
(on Windows, std::ofstream doesn't support UTF8)
2015-09-08 15:45:33 +01:00
6ade16b38d
Workaround to allow loading large sessions.
...
During session-load, ardour calls Route::SoloControllable::set_value()
which calls Session::set_solo() which in turn sends a session-rt event.
Along with other rt-events (locations,..) the current solo logic limits
Ardour to only load sessions with about >= 200 tracks.
now bumped to a few thousand tracks.. until a proper solution comes along.
2015-09-06 22:36:09 +02:00
2309bb2a7f
Don't keep gtk-file-chooser around.
...
This fixes some odd-crashes in the gtk main-thread after loading a new
session in gtk_file_system_model_sort().
2015-09-06 18:15:13 +02:00
1c9bb7de66
display session create/open failure errors.
2015-09-05 15:45:59 +02:00
041b31d7c6
fix locate to wallclock fix for PM (>= 2^31 samples)
2015-08-15 00:15:55 +02:00
a9163e9208
save-as: default to current session name.
...
this allows to easily add suffixes or otherwise tweak
the current session-name.
2015-08-14 02:32:08 +02:00
8132a31606
don't resize plugin-scan-report window, use sensitivity.
2015-08-03 15:54:55 +02:00
a7508a9cf0
When printing an XML related error, guard against NULL pointers getting passed to our error stream
2015-07-23 17:55:14 +01:00
775a400007
amend a3c21ae
, video-server localhost -> 127.0.0.1
2015-07-22 12:45:24 +02:00
edce75973c
offer to scan for plugins at first start.
2015-07-16 21:11:22 +02:00
be14d600c9
windows announcements file name
2015-07-11 23:39:22 +02:00
c3edce9a26
if a session cannot be loaded, dump the error stack to stderr
2015-06-29 16:28:04 -04:00
b822a77193
handle libXML errors via our own error handling methods
2015-06-29 16:27:49 -04:00
5c8e239f95
Revert "start work on auto return target dropdown rather than button"
...
This reverts commit d1cbb3fb0e36b068dbf516d21891c998266f22a2.
2015-06-29 14:18:16 -04:00
b531c878b0
Revert "properly track, update, maintain and set auto return state"
...
This reverts commit 07d0539526239d895f22123d88411c0d4ee773a4.
2015-06-29 14:18:16 -04:00
745a235b9d
properly track, update, maintain and set auto return state
...
Conflicts:
gtk2_ardour/ardour_ui_options.cc
2015-06-29 14:18:13 -04:00
eb791b7302
start work on auto return target dropdown rather than button
...
Conflicts:
gtk2_ardour/ardour_ui.cc
2015-06-29 14:18:13 -04:00
YPozdnyakov
4465fb62f3
[Summary]: add keybindings Cmd-h (hide application) for mac
...
Conflicts:
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui_ed.cc
2015-06-29 14:16:43 -04:00
db2fc7e6c7
initialize uninitialized var - possible fix for #6400
2015-06-29 20:03:36 +02:00
59dc0881fb
remove left-over debugging code
2015-06-10 22:04:20 -04:00
9edd8d4b3b
no Save-As progress dialog if we're not copying media
2015-06-10 18:48:12 -04:00
173b007779
rearrange and redesign UIConfiguration/ARDOUR_UI APIs to allow correct initialization.
...
We need to be able to set an environment variable *before* gtk_init() is called, but also to
load the color theme right after gtk_init() and before the rest of the GUI is created.
2015-05-28 12:46:43 -04:00
4c92de0159
extend save-as dialog to allow crude but functional save-as-to-empty-session
2015-05-07 22:36:32 -04:00
9e489c20da
further preparations for NSM ( #6265 )
2015-05-04 19:08:48 +02:00
fb3d1a6f24
x-run counter reset & typo
2015-04-29 15:47:51 +02:00
6e335ca5d9
add xrun counter to status-bar (currently no reset)
2015-04-29 03:10:27 +02:00
c7a766866e
prefer initialization to assignment for ARDOUR_UI
2015-04-22 16:09:08 -04:00
e47a22a118
make save-as dialog be persistent, to retain settings across save-as
2015-04-22 16:09:08 -04:00
8d85afd294
add central API to calculate UI scaling
2015-04-22 21:40:43 +02:00
eafb66d001
update some calls to use new get_preferred_edit_position; needs testing
2015-04-21 10:22:28 -05:00
91fac4c96d
merge fix for tempo branch
2015-04-21 08:35:20 -05:00
ab4b4934b9
Merge branch 'master' into saveas
2015-04-21 00:19:29 -04:00
67411281ad
use save as dialog in ArdourUI
2015-04-20 17:49:41 -04:00
a5c6919e9a
towards fixing #6265
2015-04-20 21:39:25 +02:00
ced4378d09
Merge branch 'master' into saveas
...
Conflicts:
gtk2_ardour/ardour.menus.in
libs/ardour/session_state.cc
2015-04-20 15:10:41 -04:00
d45620d636
now that there is only 1 effective selection, adjust add-new-track-or-bus option for after/before selection
2015-04-13 22:24:10 -04:00
2fb0a078d9
cleanup, tweak, reorganize gone-silent dialog
2015-04-05 15:13:05 -04:00
c2deeaa96e
show dialog when audioengine becomes silent
2015-04-05 14:02:47 -04:00
f1147a30a7
fix hard-coded version in config copy dialog; use yes/no buttons, and default to yes
2015-04-03 11:35:37 -04:00
4a44f90218
remove hard-coded program name
2015-04-02 21:40:40 -04:00
f3b9816bb6
wording tweak.
...
Sorry translators.
2015-04-02 19:13:38 -04:00
Valeriy Kamyshniy
21193c6fca
[Summary] Adding option to avoid sorting the routs in Session::foreach method. Now ARDOUR_UI::every_second do not spend time for unnecessary sorting when calling update_disk_space().
...
[Reviewed] Paul Davis
[Required review] YPozdnyakov, GZharun
2015-04-02 16:32:41 -04:00
nick_m
35f69656e8
Window focus handling fixes.
...
Many windows were not getting key events.
Use magic focus infrastructure (built for widgets) to deliver key events
via window focus in/out.
2015-04-02 02:41:49 +11:00
fa57422ee2
remove linux specific menu reference (sorry translators)
2015-03-31 04:16:24 +02:00
4188fed0ee
don’t apply selection to new sessions
...
<Selection> should not be saved in
global preferences, but there is no single point
for catching that.
2015-03-29 18:30:48 +02:00
53ac99a26a
rework check for old configuration files
...
check early on (before announcement-check, bundle-
env and ARDOUR_UI ctor have a chance to create the
new config dir)
2015-03-23 18:31:55 +01:00
ec86ca2a4d
replace LinkButton
...
make link work on OSX and Windows:
Gtk-WARNING **: Unable to show ‘…’: Operation not supported
2015-03-23 00:23:06 +01:00
bf43019eed
change the error-log button to toggle the log window
2015-03-17 02:05:02 +01:00
c3d76155a9
fix typo
2015-03-16 17:07:26 -05:00
3a1071e5e9
use tri-state text-less LED for error-log button.
2015-03-16 19:04:36 +01:00
d57546dea2
add a warning when using a free/demo version
2015-03-16 13:03:33 -05:00
nick_m
135e865302
Add route dialog order hint changes.
...
Add an option to insert new routes at the top of the list ("First").
Reorder/rename the entries in the dialog.
Session's _order_hint is now the signed int it always wanted to be.
2015-03-16 04:01:30 +11:00
0544a4039b
note to self.
2015-03-14 22:59:07 +01:00
83babb8a52
automatic error log window popup be gone.
2015-03-14 18:28:36 +01:00
nick_m
7d188c8a1e
Remove the use of Window::set_keep_above() throughout startup.
...
This has been tested, but needs testing on more platforms (check for
obscured windows/dialogs.
Also use WIN_POS_CENTER in the "ask about loading session" dialog.
2015-03-15 03:06:39 +11:00
b58c1df07d
check for old configuration files and copy if user requests it.
...
A restart is required. There is a circular dependency between the config files and the GUI, and this restart breaks it
2015-03-12 17:45:42 -05:00
nick_m
c9d10158f6
Metadata windows are no longer transient windows.
...
Comment out input and output IOSelectorWindows being set to KEEP_ABOVE
in the route ui (just in case there is a good reason for it).
2015-03-12 04:06:20 +11:00
nick_m
73d2d44652
Add route dialog is never a transient window.
...
Fixes a hack where it's transient parent was used to give an order hint
(for the order key of any new tracks).
This commit adds a new combobox "insert_at" to let the user tell us
where they want new tracks to go.
2015-03-12 03:46:11 +11:00
2d20bcab4a
dramatically reduce ShuttleControl CPU usage
2015-03-10 10:53:56 +01:00
760e00b028
Remove useless parameters from MainClock constructor
...
Remove (always false) duration & is_transient and (always true) editable,
with_info & follows_playhead parameters from MainClock constructor, and just
pass the requisite true & false values along to the AudioClock constructor
instead.
2015-03-09 19:17:52 +00:00
59f12bd31a
fix ‘pure virtual’ crash at exit.
...
Finally tracked down.
AudioEngine::instance()->Halted.connect_same_thread() .. call_slot().
Since the calling thread has (eg JACK) has no event loop: crash
__cxa_pure_virtual + 18
PBD::EventLoop::invalidate_request(void*) + 61 (event_loop.cc:71)
sigc::trackable::notify_callbacks() + 63
BaseUI::~BaseUI() + 173 (base_ui.cc:64)
AbstractUI<Gtkmm2ext::UIRequest>::~AbstractUI() + 137 (abstract_ui.h:59)
Gtkmm2ext::UI::~UI() + 279 (gtk_ui.cc:131)
ARDOUR_UI::~ARDOUR_UI() + 3556
ARDOUR_UI::~ARDOUR_UI() + 21
ARDOUR_UI::~ARDOUR_UI() + 25
main + 2396
at event_loop.cc:71
Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
print *ir->event_loop
(PBD::EventLoop) $1 = {}
see http://pastebin.com/zvWJbqwf for a call_slot call on OSX/Coreaudio.
2015-03-09 03:04:27 +01:00
c90400364a
prepare saving video-export settings.
...
* migrate dialog from Editor to UI.
* make it a WM proxied window
* prepare applying state after construction..
2015-02-28 02:36:58 +01:00
24e8e865a6
Ignore playhead when finding delta from edit position for main clocks
...
Pass 'ignore_playhead == true' to Editor::get_preferred_edit_position()
when calculating offset of the primary and secondary main clocks if 'delta
to edit cursor' is selected, so that if the edit point is playhead, the
selected marker (if any) or mouse position will be used as the delta origin
instead.
2015-02-12 18:06:16 +00:00
1973243a98
Separate out creation of xrun markers from Editor::mouse_add_new_marker()
...
Remove the is_xrun parameter from Editor::mouse_add_new_marker(), and just
create the marker directly in ARDOUR_UI::create_xrun_marker(), so that xrun
markers don't become automatically selected when they appear.
2015-02-12 18:06:16 +00:00
bc7b5844a9
fix printf format-security warning.
...
warning: format string is not a string literal (potentially insecure) [-Wformat-security]
2015-01-27 14:04:19 +01:00
b9464fc4db
remove unnecessary commented-out line.
...
Session is marked as in-deletion during deletion itself
2015-01-26 11:58:43 -05:00
208a2a1926
rename ARDOUR_UI::idle_load() to ARDOUR_UI::load_from_application_api() to correctly indicate function
2015-01-26 10:39:14 -05:00
78ec211733
fix incorrect logic when loading session via NextStep document API
2015-01-25 12:53:48 -05:00
0b5ceaca4e
add handler for, and connect to, Session::SaveSessionRequested
2015-01-24 19:17:13 -05:00
49047e4dc9
consistent display of period-size.
2015-01-17 22:42:20 +01:00
4a72145d1d
unfinished save-as dialog, to serve as example/guide/framework for full implementation
2015-01-14 17:54:26 -05:00
08d56360d6
first working version of save-as
2015-01-12 12:57:05 -05:00
2866514c09
add initial code/stubs, actions, menu items for save as
2015-01-11 12:15:46 -05:00
56d48a927a
Alow tabbing between fields in metadata editor.
2015-01-07 20:56:39 -05:00
59a15a1f57
Fix Session file filter so session files are displayed in file browser
...
This small mistake slipped in with 78d0b2
2015-01-06 14:02:31 +07:00
78d0b2eebb
un-hardcode "*.ardour" file filters
2015-01-05 18:36:43 +01:00
02a7bbce76
Fix for Clock updates
2015-01-02 22:07:50 +07:00
b5c9a92a58
Move Timers/Timeouts from ARDOUR_UI into functions in timers.h and use PBD::Timers
2015-01-01 19:04:14 +07:00
bec521c6a7
proper default setup and fallbacks for video on windows
2014-12-24 01:36:46 +01:00
1f0fbea628
reorder members and constructors to ensure null pointers for ARDOUR_UI::{editor,mixer}
2014-12-22 19:48:30 -05:00
64fa63212f
move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration
2014-12-22 13:39:46 -05:00
0d771999ac
expand help menu with various useful entries.
...
From Georg Kraus. Addresses #5783 , and was github pull request #67 . Manually applied via .diff because of merge mechanics issues
2014-12-18 11:09:10 -05:00
f6e88ead01
move theme manager into preferences window
2014-12-15 12:32:41 -05:00
1e0c1751a5
more DEBUG::Butler output, formatting corrections, and a warning on cerr if capture/playback buffers are too full/empty
2014-12-09 16:36:52 -05:00
9ac551abab
another metric ton of color work
2014-12-08 22:02:38 -05:00
8f4ab08e20
revert UIConfiguration back to a normal member of ARDOUR_UI
2014-12-07 13:12:48 -05:00
e9768e934f
move creation of UIConfiguration object to precede creation of ArdourUI.
...
This is pretty kludgy but we need the UIConfiguration object (or any color management object) to be the first to connect to
the ColorsChanged signal.
Might be better to make the UIConfiguration object a delegate for the ThemeManager.
2014-11-26 18:22:22 +02:00
fcd7ec92d4
With printf() / snprintf() etc "%f" actually requests a double, not a float
...
Let's pass the correct type, since we can't rely on these functions to do intelligent conversion
2014-11-26 09:57:14 +00:00
ad739cd018
add some assert() messages.
...
as hints clang static analyzer "Called C++ object pointer is null"
2014-11-17 03:49:19 +01:00
47f4005dbc
fix logic (and possible segfault if !editor)
2014-11-17 03:28:33 +01:00
533b545295
add popup message and error log for AU crash reports
2014-11-12 13:35:15 +01:00
c0a28fca09
add win IRC channel
2014-10-28 02:40:04 +01:00
baea04713f
combine short periodic timeout functions for windows.
...
Fixes excessive CPU usage (spinlock instead of sleep/WaitForSingleObject)
MS Windows has a scheduler time-slice of 15ms.
Ardour has two fast timeout functions: The FPS timeout (20-60Hz, clock
video-monitor) and a fast-screen-update (25Hz, meters etc).
They are loosely coupled (async) and scheduled from the main application
thread (gtk main).
Since they're async, gtk schedules them as needed. Even though the actual
period of the separate timeouts is larger. The effective period between
all timeout callbacks is <15ms and the main application thread never idles.
2014-10-25 19:21:15 +02:00
730e09ce65
another round of compiler warning fixes
2014-10-23 05:31:40 +02:00
c6a3d6bc48
small round of compiler warning fixes
2014-10-23 03:43:04 +02:00
aa7fdf82a0
windows: allow loading session with absolute path
2014-10-22 15:22:55 +02:00
8b98125ad3
fix various loop-initiation faults
2014-09-15 12:44:45 -05:00
01974b5769
API flush static cairo pattern cache
...
(should probably be cleaned regularly
e.g. meterbridge resize)
2014-09-11 19:30:33 +02:00
5dd5bb7830
make valgrind output a bit more readable.
2014-09-11 03:04:12 +02:00
eb8ae5053f
minimize rebuild after reconfigure:
...
Don't add VERSIONSTRING to the c-flags of
gtk2_ardour, use a dedicated file instead.
2014-09-06 21:18:08 +02:00
3a75fab244
speed up session load (display updates)
2014-09-06 12:52:29 +02:00
dfbc9da79a
update clocks and video-frames at FPS
2014-08-30 20:57:27 +02:00
16443f44a2
add an idle callback at FPS
2014-08-30 20:57:22 +02:00
e7a15027e8
refactor flat_buttons into cairowidget, and add a canvas-like convenience function for setting cairo color with a Gtk::Color
2014-08-27 10:55:01 -05:00
74f313dd6b
Rationalize ArdourButton and lots of associated theming issues.
...
ArdourButtons now have a "pushed" animation.
The gradient is now implemented in the button, rather than providing 2 colors in the theme, which was burdensome.
Lots of code cleanup in ArdourButton. Removed several unnecessary flags.
Refactor more stuff into route_ui.
2014-08-22 11:51:20 -05:00
b128271f29
consistently use mixed-case labels
2014-08-01 14:31:18 -05:00
74ec58c12e
Add a couple of function calls so that Ardour will perform some basic cleanup when the user exits
...
Up until now we were relying on various d'tors to do this cleanup for us. However, because we were calling 'exit()' (to terminate the program) those d'tors were never getting called. We should probably review the use of exit() as a termination strategy.
2014-07-15 13:19:33 +01:00
15fa465013
add comment/doxygen doc
2014-07-10 08:14:41 -04:00
9f4a00fa89
add mixbus profile which removes the tearoffs
2014-07-09 15:12:05 -05:00
ec0b7cc1da
add new TRX-only function for unusual global-record-enable semantics
2014-07-09 12:07:05 -04:00
b64634e32e
move location of menus file loading and call ActionManager::enable_accelerators() to get all actions setup for binding options
2014-07-04 07:49:26 -04:00
555a5d6348
lots of keybinding changes. added a new action to allow removing markers at the playhead location. numpad now allows you to access marks higher than 9. to locate to a marker, use the numpad decimal to start and end the operation - for example press .19. to locate to marker 19. also added alternate bindings for redo, delete, and several other alternates that will be needed in subsequent commits. tab is not working, using either Tab or nabla in the binding.in file
2014-07-03 17:50:14 -05:00
043b76569d
fix the naming and behavior of always-play-range to match the button, which is follow-edits. when you select a range, the playhead should jump to the start of the range and begin to play the selection. BUT (unlike previous implementation) if the user wants to relocate the playhead, then that should be allowed. The user should always remain in charge of the playhead location. NOTE: your previous config setting will be invalidated. You must re-save a session to overwrite with the new config variable
2014-07-03 12:56:33 -05:00
c52cb37bf2
suspend route redisplay for (rec-en, solo, mute and monitor) batch changes
2014-06-29 02:52:56 +02:00
a3c378cf62
move utility functions into a dedicated namespace
2014-06-25 21:47:54 +02:00
0e96d84079
Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks
2014-06-17 21:13:05 +10:00
12cf9d5be8
fix pathscanner / stl_vector related memory leaks
2014-06-15 13:24:39 +02:00
7b64448dbb
simply future debugging of exit at start.
2014-06-14 16:25:18 +02:00
be7da2e952
Fix opening of recent sessions with mismatched directory & file names
...
When populating the list of recent sessions, and there's only one session
file in the session folder, don't assume that the base name of the session
file is the same as the name of the session directory.
Allows loading sessions that were created with trailing spaces in their
names from the recent sessions list, and also helps in the case that the
session file (or directory) was renamed.
There are actually two implementations of the 'recent sessions' chooser:
this applies to both. I suppose a useful project one of these days
would be to unify the two...
2014-06-12 23:20:06 +01:00
e8d3c16187
remove unused variable
2014-05-19 14:00:36 -04:00
1ea6321ad5
update GUI while waiting for video server to respond
2014-04-20 02:51:27 +02:00
3131ab8bbd
new transport option, "loop-is-mode" which optionally changes the role of the "play loop" button.
...
If enabled, then the button simply changes the behaviour of the "play" button rather than actually starting playback. If disabled
transport behaviour should be unchanged from before.
2014-04-17 09:47:06 -04:00
15c5d12321
clean up 6cc2812f2e
(interim vst fixes)
2014-04-14 15:10:28 +02:00
unknown
6cc2812f2e
interim vst fixes
2014-04-11 14:23:29 -05:00
32fc7a81c5
clean up use of JACK name in messages
2014-04-10 10:21:47 -04:00
62e66b05dc
set Profile TRX element at startup
2014-04-10 05:58:49 -04:00
543099afba
rework SystemExec - use vfork wrapper (and lots of related stuff)
2014-03-13 16:58:07 +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
2067d52f10
remove splash message/window at shutdown - it is just irritating and unnecessary (or ought to be)
2014-02-28 16:36:43 -05:00
b8e4c44637
display policy of plugin-scan progress popup-window
...
Only show scan-progress when discovering new plugins
(discovery can be cancelled) and optionally also show
it during 'scanning index only'
(with insensitive cancel button)
2014-02-28 00:05:47 +01:00
5d99a664f0
don't waste time and effort deleting GUI components in ~ARDOUR_UI - the OS takes care of all that stuff
2014-02-26 18:52:14 -05:00
d8329d855d
implement plugin-scan cancel-button sensitivity
2014-02-25 14:57:59 +01:00
6471c94254
hook-up GUI idle handler
2014-02-25 14:57:58 +01:00
70209ba493
update plugin scan dialog gtk hack
2014-02-25 14:57:57 +01:00