Commit Graph

61 Commits

Author SHA1 Message Date
Robin Gareus 96e83f4101
Semicolon to the rescue 2024-04-11 23:42:13 +02:00
Robin Gareus b8c474ff32
Add support for splash screen image transparency 2024-04-11 19:42:14 +02:00
Mads Kiilerich a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Mads Kiilerich d52c727ec5
gtkmm: use get_mapped instead of deprecated Gtk::Widget::is_mapped() 2022-04-08 20:20:10 +02:00
Robin Gareus 005bd4f76f
Set transient parent for missing-* dialogs at start 2021-07-07 00:33:50 +02:00
Robin Gareus a069af796d
Splash screen quirks, fix --no-splash
Add preference to hide splash instead of re-layering it
2021-07-04 21:48:12 +02:00
Robin Gareus f715edf7bc
Yet Another Splash Push/Pop Fix
Don't explicitly `show()` the splash when a message arrives.
On macOS and Windows the splash is not z-axis re-stacked but
hidden. Calling show() makes it visible again.
2021-06-28 15:52:32 +02:00
Robin Gareus 8237add6d2
Keep track of splash visibility behind dialogs
This fixes various issues, esp on macOS and Windows where
the window is only hidden, not re-stacked:

* plugin scan dialog hides the splash, but
  the plugin-manager emits BootMessage
  (this worked mostly because gtk event loop didn't
  have time to catch up)

* More than one dialog can pop back/front the splash,
  e.g. scripted session-setup or error messages when
  loading recent sessions.
2021-06-23 17:55:01 +02:00
Robin Gareus 5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus 1ef4fc1140
Show splash-screen content
Since switching to StartupFSM, the GUIIdle signal isn't available
connected at application start. The splash-screen was blank until
the main UI was up.
"Ardour is ready for use" was the only visible message.
2021-03-09 18:29:00 +01:00
Paul Davis 3cecc3d26b fix crash if Splash::pop_back_for() is called without splash on-screen 2019-11-08 16:57:11 -07:00
Paul Davis 54acf6af6a enforce singleton nature of Splash a little more rigorously, and slightly rationalize it's use 2019-10-11 14:29:55 -06:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Robin Gareus 24d5f1a624 Tweak/fix splash screen event-loop
Prevent possible endless loop in Splash::display() and handle
some related edge-cases and race conditions WRT expose_done
and is_visible().
2017-05-11 14:20:56 +02:00
Robin Gareus dae7e8dbd3 NO-OP: whitespace 2017-04-01 15:56:35 +02:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Robin Gareus 026f8dd80f group Product/App specific resources
* only install icons relevant to product
 * use program-name (as-is) as prefix
 * keep icons/* for all products
2016-05-17 13:12:05 +02:00
Paul Davis 7ae06b2715 splash window should not be marked as a POPUP. Follow master's lead 2016-02-22 15:31:25 -05:00
Paul Davis a47b3c4dc5 convert Splash dialog into Gtk::WINDOW_POPUP in the hope that it will float above all, in all WM's 2016-02-22 15:31:24 -05:00
Robin Gareus 696b89b71a rework 8b80fe0, use std::string, not char* 2015-10-15 11:24:15 +02:00
Robin Gareus 22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis 4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus c829c10a74 band-aid for Glib::operator<<
it seems that g_locale_from_utf8() (called by <<) is not thread safe,
at least not on OSX.

glib error-code 1, Invalid byte sequence in conversion input
-> throws Glib::Error.

possible fix for #6435, route-creation is interrupted via catch(...)
2015-09-19 19:00:43 +02: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
Robin Gareus 1428d003df hide splash screen on Windows
..until we get GDK window stack to play along.
2014-10-22 14:30:11 +02:00
Tim Mayberry cd12698b9c Rename PBD::find_file_in_search_path to just PBD::find_file
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
Paul Davis 1a3b838dff fix problem with splash window on OS X: requesting a redraw of a hidden window doesn't result in an expose event being delivered.
The splash window was being hidden by default on OS X as soon as someone called Splash::pop_back_for(), because of window layering issues on OS X. But then
the next call to ::message() would not return because a recursive event loop was started that waits for the expose event, which never comes. So, (a) show the
window when ::message() is called AND (b) remove the recursive event loop because (b.1) we don't seem to need it (b.2) recursive event loops are generally evil.
2014-02-28 16:40:01 -05:00
Paul Davis cf0f985bc4 avoid apple gcc warning 2014-01-11 15:01:29 -05:00
Robin Gareus b28706852d fix race/endless loop on exit:
if gtk is going away while ardour updates the splash-screen:
Gtk-CRITICAL **: IA__gtk_main_quit: assertion `main_loops != NULL' failed
2013-07-04 21:32:41 +02:00
Paul Davis a9341bd5f0 improve relationship between ArdourDialog and Splash on OS X, where window restacking doesn't really work the way we need it to. more complex than anticipated because it seems that destroying a Gtk::Dialog does not emit its hide() or unmap() or unmap_event() signals 2013-04-30 13:50:45 -04:00
Paul Davis 4830bd633f fix display of splash screen (at least on X11)
git-svn-id: svn://localhost/ardour2/branches/3.0@14134 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-04 18:19:05 +00:00
Paul Davis a66b020331 redraw entire splash window if a new message is to be displayed but the window is not currently visible
git-svn-id: svn://localhost/ardour2/branches/3.0@13636 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-11 01:21:17 +00:00
Paul Davis 6dfce5dbfc tweak to make it more likely (hopefully 100% certain) that the splash window is fully drawn before we return control to the main event loop. do this by making sure that the idle handler that says "the expose happened" executes AFTER GDK's internal idle-update mechanism, not before it
git-svn-id: svn://localhost/ardour2/branches/3.0@13605 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-05 23:58:27 +00:00
Robin Gareus cdb8796f5f mark splash screen as such should fix #5069
git-svn-id: svn://localhost/ardour2/branches/3.0@13492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 03:35:25 +00:00
Paul Davis a541e4e811 escape markup text that may contain non-legal characters (for GMarkup). this may need to be done more widely
git-svn-id: svn://localhost/ardour2/branches/3.0@13318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 14:45:09 +00:00
David Robillard af4589e4bc Set splash screen to non-resizable so it displays correctly in smart window managers.
There is an attempt in the code to handle the situation of being allocated more space, but it does not work correctly.  The splash isn't resizable anyway, this fix makes it appear as it should.

git-svn-id: svn://localhost/ardour2/branches/3.0@13111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-07 23:56:17 +00:00
Paul Davis 2de80a5e90 OS X-based fixes for splash screen mgmt
git-svn-id: svn://localhost/ardour2/branches/3.0@13006 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 01:04:36 +00:00
Paul Davis 3dcbdc0fe6 cleaner version of splash display changes
git-svn-id: svn://localhost/ardour2/branches/3.0@13004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-09 21:54:21 +00:00
Tim Mayberry 105caf23da Use std::string instead of PBD::sys::path in pbd/search_path.h, pbd/file_utils.h and ardour/session_dir.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12829 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:06:54 +00:00
Carl Hetherington 4073e5b7ab Fix silly typo.
git-svn-id: svn://localhost/ardour2/branches/3.0@12533 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 20:01:37 +00:00
Carl Hetherington 183d09d4af Add GPL boilerplate; fix dangling instance pointer after
Splash is deleted.


git-svn-id: svn://localhost/ardour2/branches/3.0@12532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 19:49:40 +00:00
Paul Davis 813c5f0af9 major rationalization of use of search paths. ardour now has just 4 functions used to define how external resources are located: ardour_config_search_path() (for system or user specific configuration data), ardour_data_search_path() (for machine, user and system independent data), ardour_dll_directory() (base directory where shared libraries are found) and user_config_directory(). These are now used throughout the code. the config, data and dll paths/directories can be overridden by environment variables. the user config dir is added as the first element of the first two search paths, and use selectively when searching for a few other things.
This commit re-enabes ./waf install, and it is believed that it works fully at this point (more testing likely required)

git-svn-id: svn://localhost/ardour2/branches/3.0@12326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-18 17:24:06 +00:00
Paul Davis ec1ef5d6b5 remove the apparently unnecessary "ui_bind()" macro from entire source base
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Paul Davis b53c92b652 the return of the splash, with a few changes to help with window layering a little
git-svn-id: svn://localhost/ardour2/branches/3.0@11222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-10 18:21:39 +00:00
Paul Davis 14b0ca31bc handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big)
git-svn-id: svn://localhost/ardour2/branches/3.0@6807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 15:18:43 +00:00
Paul Davis 44f4b84551 finalize PROGRAM_NAME change for ardour3
git-svn-id: svn://localhost/ardour2/branches/3.0@6759 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-15 02:31:27 +00:00
Paul Davis f450df300c fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
Paul Davis aae367b63c use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +00:00
Paul Davis 64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
David Robillard bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00