summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-03-08 16:41:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2013-03-08 16:41:45 +0000
commitba73a77c6358ffc418dc726c0977239decf401b6 (patch)
tree7addb44826d0686dd358840c9c0fcfcd322da27c
parent3eef81daa23ebf8dffe65f02799c8383385e1128 (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.cc35
-rw-r--r--gtk2_ardour/ardour_ui.h5
-rw-r--r--gtk2_ardour/main.cc8
-rw-r--r--gtk2_ardour/opts.cc9
-rw-r--r--gtk2_ardour/opts.h1
-rw-r--r--gtk2_ardour/wscript1
-rw-r--r--wscript12
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',
diff --git a/wscript b/wscript
index 432f344e3f..426dc1d47a 100644
--- a/wscript
+++ b/wscript
@@ -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: