From 08f8b479aae2522d4fc493d7e33139b187146da4 Mon Sep 17 00:00:00 2001 From: x42 Date: Fri, 29 Oct 2010 02:19:04 +0000 Subject: [PATCH] gjackclock: added custom color option & fixed msg newlines git-svn-id: https://gjacktransport.svn.sourceforge.net/svnroot/gjacktransport/trunk@29 4365b5fc-4a28-0410-96b5-80621495d1de --- ChangeLog | 3 ++- src/gjackclock.c | 44 +++++++++++++++++++++++++++++++++++++++----- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index aa96fea..c7f69b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,8 @@ 2010-10-29 x42 - * added big-clock ' gjackclock' + * added big-clock 'gjackclock' * honor CTRL-[qw] quit events (both gjackclock & gjacktransport) * hardcoded transport key-bindings for gjackclock + * added custom-color option for gjackclock 2010-10-26 x42 * reworked command-line parsing diff --git a/src/gjackclock.c b/src/gjackclock.c index 53a5810..58403e1 100644 --- a/src/gjackclock.c +++ b/src/gjackclock.c @@ -45,6 +45,9 @@ double user_fps = 25; int want_ignore_timemaster = 0; char *win_pos = NULL; double stride = 10; +char *color_bg = NULL; +char *color_fg = NULL; + #define MAX_KEYBINDING 8 gint key_cfg[MAX_KEYBINDING] = { GDK_space, GDK_v, GDK_n, GDK_b, GDK_p, GDK_r, GDK_less, GDK_greater }; @@ -69,7 +72,8 @@ int jack_connected(void) { void open_jack(void ) { if (jack_client) { - fprintf (stderr, "already connected to jack.."); + if (!want_quiet) + fprintf (stderr, "already connected to jack..\n"); return; } @@ -80,11 +84,11 @@ void open_jack(void ) { } while (jack_client == 0 && i++<16); if (!jack_client) { - fprintf(stderr, "could not connect to jack server."); + fprintf(stderr, "could not connect to jack server.\n"); } else { jack_on_shutdown (jack_client, jack_shutdown, 0); if (!want_quiet) - fprintf(stderr, "connected as jack client '%s'",jackid); + fprintf(stderr, "connected as jack client '%s'\n",jackid); jack_activate (jack_client); } } @@ -94,7 +98,7 @@ void close_jack(void) { jack_deactivate (jack_client); jack_client_close (jack_client); if (!want_quiet) - fprintf(stderr, "disconnected from jack."); + fprintf(stderr, "disconnected from jack.\n"); } jack_client=NULL; } @@ -157,8 +161,10 @@ void jack_relative_reposition(double off) { static void usage (int status) { printf("%s - JACK transport big clock.\n",program_name); printf("usage: %s [Options]\n",program_name); - printf ("" + printf ("" "Options:\n" +" -C background-color ('#RRGGBB' or name eg 'black')\n" +" -c text-color ('#RRGGBB' or name eg 'blue')\n" " -f , --fps set timecode-fps (default 25 or timebase-master)\n" " -h, --help display this help and exit\n" " -I, --ignore-timemaster ignore JACK-timebase-master FPS setting\n" @@ -202,6 +208,9 @@ decode_switches (int argc, char **argv) "s:" /* font-size */ "S:" /* font-family */ "w:" /* window-pos */ + "c:" /* color-fg */ + "C:" /* color-bg */ + "d:" /* stride-dist */ "I" /* ignore time-master */ "V", /* version */ long_options, (int *) 0)) != EOF) @@ -224,6 +233,18 @@ decode_switches (int argc, char **argv) if (font_family) free(font_family); font_family = strdup(optarg); break; + case 'c': + if (color_fg) free(color_fg); + color_fg = strdup(optarg); + break; + case 'C': + if (color_bg) free(color_bg); + color_bg = strdup(optarg); + break; + case 'd': // XXX 'd' ?? + stride = atof(optarg); + if (stride <=0) stride = 0.0; + break; case 'w': if (win_pos) free(win_pos); win_pos = strdup(optarg); @@ -331,6 +352,17 @@ int main (int argc, char *argv[]) { label1 = gtk_label_new (_("HH:MM:SS:FF")); gtk_widget_modify_font (label1, pango_font_description_from_string (font)); +#if 1 + GdkColor color; + if (color_fg) { + gdk_color_parse (color_fg, &color); + gtk_widget_modify_fg (label1, GTK_STATE_NORMAL, &color); + } + if (color_bg) { + gdk_color_parse (color_bg, &color); + gtk_widget_modify_bg (window1, GTK_STATE_NORMAL, &color); + } +#endif gtk_container_add (GTK_CONTAINER (window1), label1); gtk_widget_show (label1); @@ -354,6 +386,8 @@ int main (int argc, char *argv[]) { g_timeout_add(40,gpolljack,NULL); // TODO: update according to FPS | screen update freq gtk_main (); + if (color_fg) free(color_fg); + if (color_bg) free(color_bg); if (fr) FR_free(fr); if (font_family) free(font_family); if (win_pos) free(win_pos); -- 2.11.4.GIT