login

<     >

2021-02-02 21:36:44 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

add clock

diff --git a/qmp.c b/qmp.c
index 71393a1..08aab13 100644
--- a/qmp.c
+++ b/qmp.c
@@ -18,7 +18,7 @@ int
 main(int argc, char *argv[])
 {
     Seeker seeker;
-    unsigned int i = 0;
+    unsigned int cur_sec, max_sec;
     int nevs = 0;
     if (argc < 2) {
         fprintf(stderr, "usage:\n  %s song.mid\n", argv[0]);
@@ -26,7 +26,6 @@ main(int argc, char *argv[])
     }
     switch (qms_smf2evs(argv[1], midi_evs, NEVENTS, &nevs)) {
     case SMF_OK:
-        fprintf(stderr, "%u events compiled\n", nevs);
         break;
     case SMF_NOFILE:
         fprintf(stderr, "file not found\n");
@@ -44,11 +43,14 @@ main(int argc, char *argv[])
         fprintf(stderr, "too many events\n");
         break;
     }
+    max_sec = midi_evs[nevs-1].offset / R;
     qms_init();
     qms_load(&seeker, midi_evs, nevs);
     qms_seek(&seeker, 0*R);
     while (!qms_play(&seeker, R>>2)) {
-        fprintf(stderr, " %c\r", "|/-\\"[i++%4]);
+        cur_sec = seeker.smp_i / R;
+        fprintf(stderr, " %02u:%02u/%02u:%02u\r",
+                cur_sec/60, cur_sec%60, max_sec/60, max_sec%60);
         fflush(stderr);
     }
     return 0;