--- ../mpcstickorig-0.10.2/mpcstick-0.10.2/src/mpcstick.c 2004-04-14 17:11:53.000000000 +0200 +++ src/mpcstick.c 2007-09-02 13:59:14.000000000 +0200 @@ -45,7 +45,7 @@ #include #define PACKAGE "mpcstick" -#define VERSION "0.10.2" +#define VERSION "0.10.2-kru" #include "libmpdclient.h" @@ -57,6 +57,9 @@ gboolean mpc_previous(); gboolean mpc_next(); gboolean mpc_volume_up(); gboolean mpc_volume_down(); +gboolean mpc_mute(); +gboolean mpc_repeat(); +gboolean mpc_random(); gboolean mpc_playpause(); gboolean mpc_stop(); gboolean mpc_seek_left(); @@ -78,7 +81,8 @@ enum { JS_BUTTON_7 = 2048, JS_BUTTON_8 = 4096, JS_BUTTON_9 = 8192, - JS_BUTTON_10 = 16384 + JS_BUTTON_10 = 16384, + JS_BUTTON_11 = 32768 }; enum { @@ -97,6 +101,9 @@ js_function_table function_table[] = { "next", mpc_next, "volume_up", mpc_volume_up, "volume_down", mpc_volume_down, + "mute", mpc_mute, + "random", mpc_random, + "repeat", mpc_repeat, "playpause", mpc_playpause, "stop", mpc_stop, "seek_left", mpc_seek_left, @@ -125,6 +132,7 @@ js_button_table button_table[] = { "JS_BUTTON_8", JS_BUTTON_8, "JS_BUTTON_9", JS_BUTTON_9, "JS_BUTTON_10", JS_BUTTON_10, + "JS_BUTTON_11", JS_BUTTON_11, NULL, JS_BUTTON_NONE }; @@ -276,6 +284,7 @@ void joystick_listen(gchar *joy_dev_path case 7: pressed_button = JS_BUTTON_8; break; case 8: pressed_button = JS_BUTTON_9; break; case 9: pressed_button = JS_BUTTON_10; break; + case 10:pressed_button = JS_BUTTON_11; break; default: pressed_button = JS_BUTTON_NONE; break; } @@ -372,6 +381,44 @@ gboolean mpc_next() return TRUE; } +gboolean mpc_random() +{ + ASSERT_CONNECTION; + PING_WAIT; + + mpc_get_status(); + if(status->random == 0) + { + mpd_sendRandomCommand(conn, 1); + } + else + { + mpd_sendRandomCommand(conn, 0); + } + mpd_finishCommand(conn); + + return TRUE; +} + +gboolean mpc_repeat() +{ + ASSERT_CONNECTION; + PING_WAIT; + + mpc_get_status(); + if(status->repeat == 0) + { + mpd_sendRepeatCommand(conn, 1); + } + else + { + mpd_sendRepeatCommand(conn, 0); + } + mpd_finishCommand(conn); + + return TRUE; +} + gboolean mpc_volume_up() { ASSERT_CONNECTION; @@ -396,6 +443,26 @@ gboolean mpc_volume_down() return TRUE; } +gboolean mpc_mute() +{ + ASSERT_CONNECTION; + PING_WAIT; + + gint *unmute = status->volume; + mpc_get_status(); + if(status->volume == 0) + { + mpd_sendSetvolCommand(conn, unmute); + } + else + { + mpd_sendSetvolCommand(conn, 0); + } + mpd_finishCommand(conn); + printf("vol: %d \n", unmute); + return TRUE; +} + gboolean mpc_playpause() { gint index = 0; --- ../mpcstickorig-0.10.2/mpcstick-0.10.2/mpcstick.conf 2004-04-14 02:01:50.000000000 +0200 +++ mpcstick.conf 2007-09-02 01:14:17.000000000 +0200 @@ -1,7 +1,7 @@ [general] server_addr = localhost -server_port = 2100 +server_port = 6600 server_timeout = 25 js_device = /dev/input/js0 @@ -19,6 +19,10 @@ JS_AXIS_DOWN = volume_down JS_BUTTON_3 = playpause JS_BUTTON_4 = stop +JS_BUTTON_5 = repeat +JS_BUTTON_6 = random +JS_BUTTON_7 = mute + JS_BUTTON_2 | JS_AXIS_LEFT = seek_left JS_BUTTON_2 | JS_AXIS_RIGHT = seek_right --- ../mpcstickorig-0.10.2/mpcstick-0.10.2/configure.in 2004-04-14 17:09:06.000000000 +0200 +++ configure.in 2007-09-01 20:53:13.000000000 +0200 @@ -1,5 +1,5 @@ AC_INIT(configure.in) -AM_INIT_AUTOMAKE(mpcstick, "0.10.2", aaron@aaronbock.net) +AM_INIT_AUTOMAKE(mpcstick, "0.10.2-kru", aaron@aaronbock.net) AC_PROG_CC AC_PROG_INSTALL