Exemplo n.º 1
0
void
add_media_renderer (MafwRenderer *renderer)
{
    GtkTreeModel      *model;
    GtkTreeIter        iter;
    const char        *uuid;

    uuid = mafw_extension_get_uuid(MAFW_EXTENSION(renderer));
    if (uuid == NULL)
        return;

    model = gtk_combo_box_get_model (GTK_COMBO_BOX (renderer_combo));

    if (!find_renderer (model, uuid, &iter)) {
        g_signal_connect(renderer, "state-changed",
                         G_CALLBACK(state_changed_cb), NULL);
        g_signal_connect(renderer, "media-changed",
                         G_CALLBACK(media_changed_cb), NULL);
        g_signal_connect(renderer, "property-changed",
                         G_CALLBACK(property_changed_cb), NULL);
        g_signal_connect(renderer, "metadata-changed",
                         G_CALLBACK(renderer_metadata_changed_cb),
                         NULL);
        g_signal_connect(renderer, "error",
                         G_CALLBACK(renderer_error_cb), NULL);
        g_signal_connect(renderer, "playlist-changed",
                         G_CALLBACK(renderer_playlist_changed_cb),
                         NULL);
        append_media_renderer_to_tree (renderer, uuid);
    }
}
Exemplo n.º 2
0
int red_dispatcher_add_renderer(const char *name)
{
    RendererInfo *inf;

    if (num_renderers == RED_MAX_RENDERERS || !(inf = find_renderer(name))) {
        return FALSE;
    }
    renderers[num_renderers++] = inf->id;
    return TRUE;
}
Exemplo n.º 3
0
static void
state_changed_cb(MafwRenderer *renderer,
                 MafwPlayState state,
                 gpointer user_data)
{
    const gchar  *uuid;
    GtkTreeModel *model;
    GtkTreeIter   iter;

    mtg_print_signal (MAFW_EXTENSION (renderer), "Renderer::state-changed",
                      "state:%s (%d)\n", state_to_string (state), state);

    uuid = mafw_extension_get_uuid(MAFW_EXTENSION(renderer));

    model = gtk_combo_box_get_model
            (GTK_COMBO_BOX (renderer_combo));
    g_assert (model != NULL);

    if (find_renderer (model, uuid, &iter)) {
        set_state (model, &iter, state);
    }
}
Exemplo n.º 4
0
void
remove_media_renderer (MafwRenderer *renderer)
{
    MafwRenderer        *info;
    GtkComboBox     *combo;
    GtkTreeModel    *model;
    GtkTreeIter      iter;
    const char      *uuid;

    info = MAFW_RENDERER (renderer);
    combo = GTK_COMBO_BOX (renderer_combo);

    uuid = mafw_extension_get_uuid (MAFW_EXTENSION(info));
    if (uuid == NULL)
        return;

    model = gtk_combo_box_get_model (combo);

    if (find_renderer (model, uuid, &iter)) {
        if (gtk_list_store_remove (GTK_LIST_STORE (model), &iter))
            gtk_combo_box_set_active (combo, 0);
    }
}