void ags_envelope_dialog_reset(AgsApplicable *applicable) { AgsEnvelopeDialog *envelope_dialog; envelope_dialog = AGS_ENVELOPE_DIALOG(applicable); ags_applicable_reset(AGS_APPLICABLE(envelope_dialog->envelope_editor)); ags_applicable_reset(AGS_APPLICABLE(envelope_dialog->envelope_info)); if(envelope_dialog->pattern_envelope != NULL){ ags_applicable_reset(AGS_APPLICABLE(envelope_dialog->pattern_envelope)); } }
void ags_line_editor_reset(AgsApplicable *applicable) { AgsLineEditor *line_editor; line_editor = AGS_LINE_EDITOR(applicable); if(line_editor->link_editor != NULL){ ags_applicable_reset(AGS_APPLICABLE(line_editor->link_editor)); } if(line_editor->member_editor != NULL){ ags_applicable_reset(AGS_APPLICABLE(line_editor->member_editor)); } }
void ags_machine_popup_connection_editor_callback(GtkWidget *widget, AgsMachine *machine) { AgsConnectionEditor *connection_editor; if(machine->connection_editor == NULL){ connection_editor = ags_connection_editor_new(NULL); if((AGS_MACHINE_SHOW_AUDIO_OUTPUT_CONNECTION & (machine->connection_flags)) != 0){ connection_editor->flags |= AGS_CONNECTION_EDITOR_SHOW_OUTPUT; } if((AGS_MACHINE_SHOW_AUDIO_INPUT_CONNECTION & (machine->connection_flags)) != 0){ connection_editor->flags |= AGS_CONNECTION_EDITOR_SHOW_INPUT; } ags_connection_editor_set_machine(connection_editor, machine); machine->connection_editor = (GtkDialog *) connection_editor; ags_connectable_connect(AGS_CONNECTABLE(connection_editor)); ags_applicable_reset(AGS_APPLICABLE(connection_editor)); gtk_widget_show_all((GtkWidget *) connection_editor); }else{ connection_editor = (AgsConnectionEditor *) machine->connection_editor; } gtk_widget_show_all((GtkWidget *) connection_editor); }
void ags_midi_preferences_add_callback(GtkWidget *widget, AgsMidiPreferences *midi_preferences) { AgsWindow *window; AgsPreferences *preferences; AgsSequencerEditor *sequencer_editor; AgsSequencerThread *sequencer_thread; AgsThread *main_loop; AgsApplicationContext *application_context; GObject *sequencer; GList *start_list, *list; preferences = (AgsPreferences *) gtk_widget_get_ancestor(GTK_WIDGET(midi_preferences), AGS_TYPE_PREFERENCES); window = (AgsWindow *) preferences->window; application_context = (AgsApplicationContext *) window->application_context; main_loop = ags_concurrency_provider_get_main_loop(AGS_CONCURRENCY_PROVIDER(application_context)); /* retrieve first sequencer */ sequencer = NULL; list = start_list = ags_sound_provider_get_sequencer(AGS_SOUND_PROVIDER(application_context)); if(list != NULL){ sequencer = list->data; } g_list_free_full(start_list, g_object_unref); /* sequencer editor */ sequencer_editor = ags_sequencer_editor_new(); if(sequencer != NULL){ sequencer_editor->sequencer = sequencer; sequencer_editor->sequencer_thread = (GObject *) ags_thread_find_type(main_loop, AGS_TYPE_SEQUENCER_THREAD); } gtk_box_pack_start((GtkBox *) midi_preferences->sequencer_editor, (GtkWidget *) sequencer_editor, FALSE, FALSE, 0); ags_applicable_reset(AGS_APPLICABLE(sequencer_editor)); ags_connectable_connect(AGS_CONNECTABLE(sequencer_editor)); g_signal_connect(sequencer_editor->remove, "clicked", G_CALLBACK(ags_midi_preferences_remove_sequencer_editor_callback), midi_preferences); gtk_widget_show_all((GtkWidget *) sequencer_editor); g_object_unref(main_loop); }
int ags_machine_popup_properties_activate_callback(GtkWidget *widget, AgsMachine *machine) { machine->properties = (GtkDialog *) ags_machine_editor_new(machine); gtk_window_set_default_size((GtkWindow *) machine->properties, -1, 400); ags_connectable_connect(AGS_CONNECTABLE(machine->properties)); ags_applicable_reset(AGS_APPLICABLE(machine->properties)); gtk_widget_show_all((GtkWidget *) machine->properties); return(0); }
void ags_machine_popup_properties_activate_callback(GtkWidget *widget, AgsMachine *machine) { machine->properties = (GtkDialog *) ags_machine_editor_new(machine); g_signal_connect_after(machine->properties, "destroy", G_CALLBACK(ags_machine_popup_properties_destroy_callback), machine); gtk_window_set_default_size((GtkWindow *) machine->properties, -1, 400); ags_connectable_connect(AGS_CONNECTABLE(machine->properties)); ags_applicable_reset(AGS_APPLICABLE(machine->properties)); gtk_widget_show_all((GtkWidget *) machine->properties); }
void ags_menu_bar_preferences_callback(GtkWidget *menu_item, AgsMenuBar *menu_bar) { AgsWindow *window; window = (AgsWindow *) gtk_widget_get_ancestor((GtkWidget *) menu_bar, AGS_TYPE_WINDOW); if(window->preferences != NULL){ return; } window->preferences = ags_preferences_new(); window->preferences->parent = GTK_WINDOW(window); ags_applicable_reset(AGS_APPLICABLE(window->preferences)); ags_connectable_connect(AGS_CONNECTABLE(window->preferences)); gtk_widget_show_all(GTK_WIDGET(window->preferences)); }
void ags_track_collection_reset(AgsApplicable *applicable) { AgsTrackCollection *track_collection; GList *list, *list_start; track_collection = AGS_TRACK_COLLECTION(applicable); list_start = list = gtk_container_get_children(track_collection->child); while(list != NULL){ ags_applicable_reset(AGS_APPLICABLE(list->data)); list = list->next; } g_list_free(list_start); }
void ags_machine_popup_envelope_callback(GtkWidget *widget, AgsMachine *machine) { AgsEnvelopeDialog *envelope_dialog; if(machine->envelope_dialog == NULL){ envelope_dialog = ags_envelope_dialog_new(machine); if((AGS_MACHINE_IS_SEQUENCER & (machine->flags)) != 0){ ags_envelope_dialog_add_pattern_tab(envelope_dialog); } machine->envelope_dialog = (GtkDialog *) envelope_dialog; ags_connectable_connect(AGS_CONNECTABLE(envelope_dialog)); ags_applicable_reset(AGS_APPLICABLE(envelope_dialog)); gtk_widget_show_all((GtkWidget *) envelope_dialog); } }
void ags_menu_action_preferences_callback(GtkWidget *menu_item, gpointer data) { AgsApplicationContext *application_context; AgsWindow *window; application_context = ags_application_context_get_instance(); window = (AgsWindow *) ags_ui_provider_get_window(AGS_UI_PROVIDER(application_context)); if(window->preferences != NULL){ return; } window->preferences = ags_preferences_new(); window->preferences->window = GTK_WINDOW(window); ags_connectable_connect(AGS_CONNECTABLE(window->preferences)); ags_applicable_reset(AGS_APPLICABLE(window->preferences)); gtk_widget_show_all(GTK_WIDGET(window->preferences)); }
void ags_machine_popup_midi_dialog_callback(GtkWidget *widget, AgsMachine *machine) { AgsMidiDialog *midi_dialog; if(machine->midi_dialog == NULL){ midi_dialog = ags_midi_dialog_new(machine); machine->midi_dialog = (GtkDialog *) midi_dialog; midi_dialog->flags |= (AGS_MIDI_DIALOG_IO_OPTIONS | AGS_MIDI_DIALOG_MAPPING | AGS_MIDI_DIALOG_DEVICE); ags_connectable_connect(AGS_CONNECTABLE(midi_dialog)); ags_applicable_reset(AGS_APPLICABLE(midi_dialog)); gtk_widget_show_all((GtkWidget *) midi_dialog); }else{ midi_dialog = (AgsMidiDialog *) machine->midi_dialog; } gtk_widget_show_all((GtkWidget *) midi_dialog); }
void ags_menu_action_midi_export_track_callback(GtkWidget *menu_item, gpointer data) { AgsApplicationContext *application_context; AgsWindow *window; application_context = ags_application_context_get_instance(); window = (AgsWindow *) ags_ui_provider_get_window(AGS_UI_PROVIDER(application_context)); if(window->midi_export_wizard != NULL){ return; } window->midi_export_wizard = (GtkWidget *) ags_midi_export_wizard_new((GtkWidget *) window); g_object_set(window->midi_export_wizard, "application-context", application_context, NULL); ags_connectable_connect(AGS_CONNECTABLE(window->midi_export_wizard)); ags_applicable_reset(AGS_APPLICABLE(window->midi_export_wizard)); gtk_widget_show_all(GTK_WIDGET(window->midi_export_wizard)); }