Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static const gchar *
- get_matched_gtk_jack_port (const gchar *string,
- const gchar *port_clicked,
- jack_client_t *client)
- {
- gchar *modded_string;
- gchar *dup;
- const gchar *string_return;
- gint i;
- string_return = NULL;
- modded_string = NULL;
- dup = NULL;
- dup = g_strdup (string);
- i = 0;
- while (dup[i])
- {
- if (dup[i] == ':')
- {
- modded_string = g_strndup (dup, i);
- if (g_strcmp0 (modded_string, port_clicked) == 0)
- {
- jack_port_t *jack_port;
- /* This is where it breaks it seems. */
- jack_port = jack_port_by_name (client, dup);// <----------------
- g_print ("Testing: %s\n", dup);
- string_return = jack_port_short_name (jack_port);
- jack_free (jack_port);
- break;
- }
- }
- i++;
- }
- g_free (modded_string);
- g_free (dup);
- if (string_return == NULL)
- {
- return NULL;
- }
- else
- {
- return string_return;
- }
- }
- static gint
- create_audio_jack_ports_view (GtkListStore *list_store,
- GtkWidget *view,
- const gchar *from_port_clicked,
- const gchar *to_port_clicked,
- jack_client_t *client)
- {
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *column;
- GtkCellRenderer *toggle;
- GtkTreeViewColumn *toggle_column;
- jack_port_t *jack_port;
- gint i;
- gint j;
- const gchar **from_ports_array;
- const gchar **to_ports_array;
- GtkTreeIter iter;
- i = 0;
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (NULL,
- renderer,
- "text",
- NULL);
- from_ports_array = jack_get_ports (client,
- NULL,
- JACK_DEFAULT_AUDIO_TYPE,
- JackPortIsOutput);
- to_ports_array = jack_get_ports (client,
- NULL,
- JACK_DEFAULT_AUDIO_TYPE,
- JackPortIsInput);
- while (to_ports_array[i])
- {
- i++;
- }
- GType types[i];
- for (j = 0; j <= i; j++)
- {
- if (j == 0)
- {
- types[j] = G_TYPE_STRING;
- }
- else
- {
- types[j] = G_TYPE_BOOLEAN;
- }
- }
- list_store = gtk_list_store_newv (i, types);
- i = 0;
- while (from_ports_array[i])
- {
- const gchar *jack_port_string;
- jack_port_string = get_matched_gtk_jack_port (from_ports_array[i],
- from_port_clicked,
- client);
- if (jack_port_string != NULL)
- {
- gtk_list_store_append (list_store, &iter);
- gtk_list_store_set (list_store,
- &iter,
- 0,
- jack_port_string,
- -1);
- }
- i++;
- }
- jack_free (from_ports_array);
- gtk_tree_view_append_column (GTK_TREE_VIEW (view), column);
- i = 0;
- while (to_ports_array[i])
- {
- const gchar *jack_port_string;
- jack_port_string = get_matched_gtk_jack_port (to_ports_array[i],
- to_port_clicked,
- client);
- /*if (jack_port_string != NULL)
- {
- g_print ("%s\n", to_jack_port_string);
- toggle = gtk_cell_renderer_toggle_new ();
- gtk_cell_renderer_toggle_set_radio (GTK_CELL_RENDERER_TOGGLE (toggle),
- TRUE);
- column = gtk_tree_view_column_new_with_attributes (to_jack_port_string,
- toggle,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (view), toggle_column);
- }*/
- i++;
- }
- gtk_tree_view_set_model (GTK_TREE_VIEW (view), GTK_TREE_MODEL (list_store));
- g_object_unref (list_store);
- jack_free (to_ports_array);
- g_print ("From audio action success\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement