diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-03-08 16:41:45 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-03-08 16:41:45 +0000 |
commit | ba73a77c6358ffc418dc726c0977239decf401b6 (patch) | |
tree | 7addb44826d0686dd358840c9c0fcfcd322da27c | |
parent | 3eef81daa23ebf8dffe65f02799c8383385e1128 (diff) |
switch to Lucida Sans Typewriter as OS X monospace font; new pingback code to get announcements from ardour.org (can be disabled on the command line with -a)
git-svn-id: svn://localhost/ardour2/branches/3.0@14189 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 35 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 5 | ||||
-rw-r--r-- | gtk2_ardour/main.cc | 8 | ||||
-rw-r--r-- | gtk2_ardour/opts.cc | 9 | ||||
-rw-r--r-- | gtk2_ardour/opts.h | 1 | ||||
-rw-r--r-- | gtk2_ardour/wscript | 1 | ||||
-rw-r--r-- | wscript | 12 |
7 files changed, 60 insertions, 11 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 1f4f2c0b97..550d3cef7b 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -67,6 +67,7 @@ #include "ardour/automation_watch.h" #include "ardour/diskstream.h" #include "ardour/filename_extensions.h" +#include "ardour/filesystem_paths.h" #include "ardour/port.h" #include "ardour/process_thread.h" #include "ardour/profile.h" @@ -101,6 +102,7 @@ typedef uint64_t microseconds_t; #include "mixer_ui.h" #include "mouse_cursors.h" #include "opts.h" +#include "pingback.h" #include "processor_box.h" #include "prompter.h" #include "public_editor.h" @@ -603,6 +605,33 @@ ARDOUR_UI::update_autosave () } void +ARDOUR_UI::check_announcements () +{ +#ifdef PHONE_HOME + string _annc_filename; + +#ifdef __APPLE__ + _annc_filename = PROGRAM_NAME "_announcements_osx_"; +#else + _annc_filename = PROGRAM_NAME "_announcements_linux_"; +#endif + _annc_filename.append (VERSIONSTRING); + + std::string path = Glib::build_filename (user_config_directory(), _annc_filename); + std::ifstream announce_file (path.c_str()); + if ( announce_file.fail() ) + _announce_string = ""; + else { + std::stringstream oss; + oss << announce_file.rdbuf(); + _announce_string = oss.str(); + } + + pingback (VERSIONSTRING, path); +#endif +} + +void ARDOUR_UI::startup () { Application* app = Application::instance (); @@ -610,9 +639,9 @@ ARDOUR_UI::startup () app->ShouldQuit.connect (sigc::mem_fun (*this, &ARDOUR_UI::queue_finish)); app->ShouldLoad.connect (sigc::mem_fun (*this, &ARDOUR_UI::idle_load)); -#ifdef PHONE_HOME - call_the_mothership (VERSIONSTRING); -#endif + if (ARDOUR_COMMAND_LINE::check_announcements) { + check_announcements (); + } app->ready (); diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 8a2edff1da..bb5e9940bc 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -263,6 +263,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void get_process_buffers (); void drop_process_buffers (); + const std::string& announce_string() const { return _announce_string; } + protected: friend class PublicEditor; @@ -726,6 +728,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr bool _feedback_exists; void resize_text_widgets (); + + std::string _announce_string; + void check_announcements (); }; #endif /* __ardour_gui_h__ */ diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc index a5973b03b3..f386f2a0e5 100644 --- a/gtk2_ardour/main.cc +++ b/gtk2_ardour/main.cc @@ -222,7 +222,11 @@ fixup_bundle_environment (int, char* []) } static void load_custom_fonts() { -#if MAC_OS_X_VERSION_MIN_REQUIRED > 1060 +/* this code will only compile on OS X 10.6 and above, and we currently do not + * need it anyway since we have no custom fonts on OS X. Leave it here in case + * we ever need to comeback to it. + */ +#if 0 std::string ardour_mono_file; if (!find_file_in_search_path (ardour_data_search_path(), "ArdourMono.ttf", ardour_mono_file)) { @@ -240,8 +244,6 @@ static void load_custom_fonts() { if (CTFontManagerRegisterFontsForURL(fontURL, kCTFontManagerScopeProcess, &error) != true) { cerr << _("Cannot load ArdourMono TrueType font.") << endl; } -#else - /* no real usable API for this on OS X 10.5 or below */ #endif } diff --git a/gtk2_ardour/opts.cc b/gtk2_ardour/opts.cc index c3becd1471..3be412c56a 100644 --- a/gtk2_ardour/opts.cc +++ b/gtk2_ardour/opts.cc @@ -47,6 +47,7 @@ bool ARDOUR_COMMAND_LINE::finder_invoked_ardour = false; string ARDOUR_COMMAND_LINE::immediate_save; string ARDOUR_COMMAND_LINE::jack_session_uuid; string ARDOUR_COMMAND_LINE::load_template; +bool ARDOUR_COMMAND_LINE::check_announcements = true; using namespace ARDOUR_COMMAND_LINE; @@ -57,6 +58,7 @@ print_help (const char *execname) << _(" [SESSION_NAME] Name of session to load\n") << _(" -v, --version Show version information\n") << _(" -h, --help Print this message\n") + << _(" -a, --no-announcements Do not contact website for announcements\n") << _(" -b, --bindings Print all possible keyboard binding names\n") << _(" -c, --name <name> Use a specific jack client name, default is ardour\n") << _(" -d, --disable-plugins Disable all plugins in an existing session\n") @@ -80,7 +82,7 @@ print_help (const char *execname) int ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[]) { - const char *optstring = "bc:C:dD:hk:E:m:N:nOp:PST:U:vV"; + const char *optstring = "abc:C:dD:hk:E:m:N:nOp:PST:U:vV"; const char *execname = strrchr (argv[0], '/'); if (getenv ("ARDOUR_SAE")) { @@ -97,6 +99,7 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[]) const struct option longopts[] = { { "version", 0, 0, 'v' }, { "help", 0, 0, 'h' }, + { "no-announcements", 0, 0, 'a' }, { "bindings", 0, 0, 'b' }, { "disable-plugins", 1, 0, 'd' }, { "debug", 1, 0, 'D' }, @@ -137,6 +140,10 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[]) print_help (execname); exit (0); break; + case 'a': + check_announcements = false; + break; + case 'b': show_key_actions = true; break; diff --git a/gtk2_ardour/opts.h b/gtk2_ardour/opts.h index b68e539a9b..b9faa36d72 100644 --- a/gtk2_ardour/opts.h +++ b/gtk2_ardour/opts.h @@ -41,6 +41,7 @@ extern bool finder_invoked_ardour; extern std::string immediate_save; extern std::string jack_session_uuid; extern std::string load_template; +extern bool check_announcements; extern int32_t parse_opts (int argc, char *argv[]); diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index acc9fdd49a..39bc67be43 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -168,6 +168,7 @@ gtk2_ardour_sources = [ 'panner_interface.cc', 'panner_ui.cc', 'piano_roll_header.cc', + 'pingback.cc', 'playlist_selector.cc', 'plugin_eq_gui.cc', 'plugin_selector.cc', @@ -444,7 +444,10 @@ def options(opt): opt.add_option('--nls', action='store_true', default=True, dest='nls', help='Enable i18n (native language support) (default)') opt.add_option('--no-nls', action='store_false', dest='nls') - opt.add_option('--phone-home', action='store_false', default=False, dest='phone_home') + opt.add_option('--phone-home', action='store_true', default=True, dest='phone_home', + help='Contact ardour.org at startup for new announcements') + opt.add_option('--no-phone-home', action='store_false', dest='phone_home', + help='Do not contact ardour.org at startup for new announcements') opt.add_option('--stl-debug', action='store_true', default=False, dest='stl_debug', help='Build with debugging for the STL') opt.add_option('--rt-alloc-debug', action='store_true', default=False, dest='rt_alloc_debug', @@ -633,10 +636,11 @@ def configure(conf): # Set up waf environment and C defines opts = Options.options - if opts.debug: - opts.phone_home = False; # debug builds should not call home + print "PH = " + print opts.phone_home if opts.phone_home: - conf.env['PHONE_HOME'] = opts.phone_home + conf.define('PHONE_HOME', 1) + conf.env['PHONE_HOME'] = True if opts.fpu_optimization: conf.env['FPU_OPTIMIZATION'] = True if opts.freesound: |