X-Git-Url: http://git.maemo.org/git/?p=maemo-recorder;a=blobdiff_plain;f=src%2Fmaemo-recorder-ui.c;h=7e7381a8f26643b45a90542e012b7254514c36c7;hp=19aee136847cd065246db84eb41512dc6c82b359;hb=98890a8ca7a15631cd74131059a4416bb7162956;hpb=ad6d7afbff62ff7e944b265d825d311f3fdc52d2 diff --git a/src/maemo-recorder-ui.c b/src/maemo-recorder-ui.c index 19aee13..7e7381a 100644 --- a/src/maemo-recorder-ui.c +++ b/src/maemo-recorder-ui.c @@ -55,7 +55,7 @@ #define GST_TIME_MSECS(t) \ (guint) (((GstClockTime)(t)) % GST_SECOND) -#define RECORDER_APP_TITLE "Maemo Recorder" +#define RECORDER_APP_TITLE "Recorder" #define RECORDER_MSG_READY _("Ready") #define RECORDER_MSG_STOPPED _("Stopped") #define RECORDER_MSG_PAUSED _("Paused") @@ -585,6 +585,7 @@ static gboolean cbBus(GstBus *bus, break; } + case GST_MESSAGE_ASYNC_DONE: case GST_MESSAGE_STATE_CHANGED: { GstState old; @@ -617,8 +618,7 @@ static void cbDestroy(GtkWidget* widget, GdkEvent *event, gpointer data) app = (AppData *) data; ULOG_DEBUG("delete_event"); - if (!closeFile(app)) - return; + closeFile(app); destroyPipelines(app); if (app->playPipeline) @@ -893,7 +893,7 @@ static void openPlayPipeline( AppData *data ) case FORMAT_PCM: case FORMAT_ILBC: case FORMAT_WAV: - destroyPipelines(data); + //destroyPipelines(data); //data->filter = data->file_format; createPipeline(data, PIPELINE_PLAY); break; @@ -951,7 +951,6 @@ closeFile(AppData *data) note = hildon_note_new_confirmation_add_buttons(GTK_WINDOW(data->mainView), _("Save recording?"), _("Yes"), GTK_RESPONSE_YES, _("No"), GTK_RESPONSE_NO, - _("Cancel"), GTK_RESPONSE_CANCEL, NULL); i = gtk_dialog_run(GTK_DIALOG(note)); @@ -1110,6 +1109,8 @@ static void cbRec(GtkWidget* widget, AppData *data) if (APPSTATE_READY != getAppState(data)) { ULOG_WARN("%s() - state different than READY -> return", G_STRFUNC); + if (APPSTATE_RECORDING == getAppState(data)) + cbStop(widget,data); return; } @@ -1177,7 +1178,9 @@ static void cbRec(GtkWidget* widget, AppData *data) hildon_banner_show_information(GTK_WIDGET(data->mainView), GTK_STOCK_DIALOG_ERROR, _("Could not create pipeline")); setAppState(data, APPSTATE_READY); } - + + gtk_widget_set_sensitive(data->buttonPlay, FALSE); + ULOG_DEBUG("%s() - end", G_STRFUNC); } @@ -1244,6 +1247,7 @@ static void cbStop(GtkWidget* widget, AppData *data) gtk_tool_button_set_stock_id(GTK_TOOL_BUTTON(data->buttonPlay), GTK_STOCK_MEDIA_PLAY); gtk_widget_set_state(data->buttonPlay, GTK_STATE_NORMAL); gtk_widget_set_state(data->buttonRec, GTK_STATE_NORMAL); + gtk_widget_set_sensitive(data->buttonPlay, TRUE); /* destroy related pipeline */ switch(getAppState(data)) @@ -1832,15 +1836,7 @@ static gboolean cbStopPlayback(AppData *data) ULOG_INFO("Stopping playback"); g_assert(data != NULL); - - ret = gst_element_set_state(GST_ELEMENT(data->playPipeline), - GST_STATE_PAUSED); - if (seekToZero(data, GST_ELEMENT(data->playPipeline))) - { - gtk_adjustment_set_value( - GTK_ADJUSTMENT(data->mainViewData.adjustment), 0); - gtk_adjustment_value_changed(GTK_ADJUSTMENT(data->mainViewData.adjustment)); - } + destroyPipelines(data); setAppState(data, APPSTATE_READY); gtk_tool_button_set_stock_id(GTK_TOOL_BUTTON(data->buttonPlay), GTK_STOCK_MEDIA_PLAY); gtk_widget_set_state(data->buttonPlay, GTK_STATE_NORMAL);