diff --git a/scripts/conplay b/scripts/conplay index bf06f504..fc0cf976 100755 --- a/scripts/conplay +++ b/scripts/conplay @@ -86,6 +86,12 @@ while() $entry = $1; $frame = $2; } + if(/^\[BOOKMARK\]\s+track\s+(\d+)\s+frame\s+(\d+)/) + { + print STDERR "\nGot bookmark at track $1, frame $2; not yet doing anything with that, besides storing.\n"; + $entry = $1; + $frame = $2; + } } close(MPG123); diff --git a/src/mpg123.c b/src/mpg123.c index 5372b118..e49a6c74 100644 --- a/src/mpg123.c +++ b/src/mpg123.c @@ -1222,7 +1222,7 @@ int main(int sys_argc, char ** sys_argv) if(APPFLAG(MPG123APP_CONTINUE)) { - fprintf(aux_out, "\n[CONTINUE] track %"SIZE_P" frame %"OFF_P"\n", (size_p)pl.pos, (off_p)framenum); + continue_msg("CONTINUE"); } /* Free up memory used by playlist */ @@ -1430,3 +1430,8 @@ static void give_version(char* arg) fprintf(stdout, PACKAGE_NAME" "PACKAGE_VERSION"\n"); safe_exit(0); } + +void continue_msg(const char *name) +{ + fprintf(aux_out, "\n[%s] track %"SIZE_P" frame %"OFF_P"\n", name, (size_p)pl.pos, (off_p)framenum); +} diff --git a/src/mpg123app.h b/src/mpg123app.h index a03a6098..935619ff 100644 --- a/src/mpg123app.h +++ b/src/mpg123app.h @@ -169,4 +169,6 @@ void set_intflag(void); /* equalizer... success is 0, failure -1 */ int load_equalizer(mpg123_handle *mh); +void continue_msg(const char *name); + #endif diff --git a/src/term.c b/src/term.c index 6d29d2a6..19ec908b 100644 --- a/src/term.c +++ b/src/term.c @@ -59,6 +59,7 @@ struct keydef term_help[] = ,{ MPG123_PITCH_UP_KEY, MPG123_PITCH_BUP_KEY, "pitch up (small step, big step)" } ,{ MPG123_PITCH_DOWN_KEY, MPG123_PITCH_BDOWN_KEY, "pitch down (small step, big step)" } ,{ MPG123_PITCH_ZERO_KEY, 0, "reset pitch to zero" } + ,{ MPG123_BOOKMARK_KEY, 0, "print out current position in playlist and track, for the benefit of some external tool to store bookmarks" } }; void term_sigcont(int sig); @@ -476,6 +477,9 @@ static void term_handle_key(mpg123_handle *fr, audio_output_t *ao, char val) } break; + case MPG123_BOOKMARK_KEY: + continue_msg("BOOKMARK"); + break; default: ; } diff --git a/src/term.h b/src/term.h index 257f5d87..d9e2cca5 100644 --- a/src/term.h +++ b/src/term.h @@ -56,6 +56,7 @@ #define MPG123_PITCH_DOWN_KEY 'x' #define MPG123_PITCH_BDOWN_KEY 'X' #define MPG123_PITCH_ZERO_KEY 'w' +#define MPG123_BOOKMARK_KEY 'k' /* This counts as "undocumented" and can disappear */ #define MPG123_FRAME_INDEX_KEY 'i' #define MPG123_VARIOUS_INFO_KEY 'I'