mrp_htbl_t *name;
mrp_htbl_t *addr;
} player;
+ player_t *deflt;
player_t *current;
};
player->name, player->service ? player->service : "none",
player->object ? player->object : "none");
- if (!clients->current) {
- clients->current = player;
+ if (!clients->deflt) {
+ clients->current = clients->deflt = player;
mrp_log_info("'%s' become the default player", player->name);
}
void clients_player_state_changed(player_t *player, player_state_t state)
{
- if (player)
- player->state = state;
+ context_t *ctx;
+ clients_t *clients;
+ player_state_t old_state;
+
+ if (!player || !(ctx = player->ctx) || !(clients = ctx->clients))
+ return;
+
+ old_state = player->state;
+ player->state = state;
+
+ if (old_state != PLAY && state == PLAY) {
+ if (clients->current != player)
+ clients->current = player;
+ return;
+ }
}
void clients_player_status_changed(player_t *player, bool ready)
void clients_player_quit(player_t *player)
{
- if (player && player->address)
+ context_t *ctx;
+ clients_t *clients;
+
+ if (!player || !(ctx = player->ctx) || !(clients = ctx->clients))
+ return;
+
+ if (clients->current == player)
+ clients->current = clients->deflt;
+
+ if (player->address) {
+ dbusif_set_player_state(player, STOP);
dbusif_quit_player(player);
+ }
}
static int notify_focus(srs_client_t *srs_client, srs_voice_focus_t focus)
}
+
static uint64_t get_current_time(void)
{
struct timeval tv;
for (i = 0, success = TRUE; i < n ; i++) {
c = cfgs + i;
- if (!strcmp("player", c->key + pfxlen)) {
+ if (!strncmp("player", c->key + pfxlen, 6)) {
snprintf(srv, sizeof(srv), "%s%s", c->value, ".service");
snprintf(obj, sizeof(obj), "%s%s", c->value, ".object");
for (j = 0, service = object = NULL;
#define SEARCH_VERSION "0.0.1"
#define DICTIONARY "general"
-#define COMMAND "chromium-browser \"http://google.com/search?q=__url__\""
+#define COMMAND "google-chrome \"http://google.com/search?q=__url__\""
typedef struct {
srs_plugin_t *self; /* us */
MRP_UNUSED(ctx);
- mrp_debug("flushing CMU Sphinx backend buffer (%u - %u)", start, end);
+ mrp_log_info("flushing CMU Sphinx backend buffer (%u - %u)", start, end);
return TRUE;
}
MRP_UNUSED(ctx);
- mrp_debug("scheduling CMU Sphinx backend buffer rescan (%u - %u)",
+ mrp_log_info("scheduling CMU Sphinx backend buffer rescan (%u - %u)",
start, end);
return TRUE;
context_t *ctx = (context_t *)user_data;
int available;
- mrp_debug("checking availability of decoder '%s' for CMU Sphinx backend",
+ mrp_log_info("checking availability of decoder '%s' for CMU Sphinx backend",
decoder);
available = decoder_set_contains(ctx, decoder);
{
context_t *ctx = (context_t *)user_data;
- mrp_debug("selecting decoder '%s' for CMU Sphinx backend", decoder);
+ mrp_log_info("selecting decoder '%s' for CMU Sphinx backend", decoder);
if (decoder_set_use(ctx, decoder) < 0)
return FALSE;
context_t *ctx = (context_t *)user_data;
const char *decoder;
- mrp_debug("querying active CMU Sphinx backend decoder");
+ mrp_log_info("querying active CMU Sphinx backend decoder");
decoder = decoder_set_name(ctx);