All pastes #250553 Raw Edit

Miscellany

public c v1 · immutable
#250553 ·published 2006-11-17 02:14 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <regex.h>#include <xmms/xmmsctrl.h>#define filetypes 3static gint xmms_session(void) {  gint session;  for(session = 0 ; session < 16 ; session++)  if (xmms_remote_is_running(session))    return session;  exit(1);}int main(void) {  int x;  char match[8];  gint session;  gint pos;  gint rate, freq, nch;  gint track_length;  gint rerr = 0;  regex_t pdata;  regmatch_t pmatch[3];  char *file;  char *title;  for(session = 0; session < 16; session++)    if (xmms_remote_is_running(session))      break;  if (session == 16) {    exit(1);  } else {    session = xmms_session();  }  pos = xmms_remote_get_playlist_pos(session);  xmms_remote_get_info(session, &rate, &freq, &nch);  file = xmms_remote_get_playlist_file(session, pos);  track_length = xmms_remote_get_playlist_time(session, pos) / 1000;  title = xmms_remote_get_playlist_title(session, pos);  char *ftype[filetypes] = {    "flac",    "mp3",    "ogg"  };  if (rate && freq && nch && file && track_length && title) {    printf("%d:%-2.2d\n", track_length/60, track_length%60);    printf("%d\n", rate);    printf("%d\n", freq);    printf("%d\n", nch);    printf("%s\n", title);    printf("%s\n", file);    for(x = 0; x < filetypes; x++) {      sprintf(match,"(%s)", ftype[x]);      regcomp(&pdata, ftype[x], 1);      if(rerr == regexec(&pdata, file, 3, pmatch, 0)) {        printf("%s\n",ftype[x]);      }      regfree(&pdata);    }  } else return 1;  return 0;}