-/* vim: set ts=4 sw=4 et: */
+/* vim: set sts=4 sw=4 et: */
/*
* maemo-recorder-ui.c
*
#include "maemo-recorder.h"
#include "maemo-recorder-ui.h"
#include "maemo-recorder-file.h"
-
+#include "settings.h"
#define DEFAULT_REC_BLOCKSIZE "160"
{
case PIPELINE_PLAY_MP3:
ULOG_INFO("mp3 playback - queue");
- src = gst_element_factory_make ("filesrc", "source");
+ src = gst_element_factory_make ("gnomevfssrc", "source");
queue = gst_element_factory_make ("queue", "queue");
sink = gst_element_factory_make ("dspmp3sink", "sink");
g_object_set(G_OBJECT (queue),
- "max-size-buffers", 8192,
"min-threshold-bytes", 131072,
- "min-threshold-buffers", 2048,
NULL );
g_object_set(G_OBJECT(src),
"location", app->openFileName,
+ "blocksize", 65536,
NULL);
break;
ULOG_ERR("gst_element_link failed for src, filter and sink!");
return FALSE;
}
- break;
+ break;
+
case FORMAT_WAV:
gst_bin_add_many(GST_BIN(pipeline), src, parse, sink, NULL);
if (!gst_element_link_many (src, parse, sink, NULL))
}
break;
+
case FORMAT_WAV:
gst_bin_add_many(GST_BIN(pipeline), src, parse, NULL);
if (!gst_element_link_many (src, parse, NULL))
app->playPipeline = pipeline;
g_signal_connect(parse, "pad_added",
G_CALLBACK(new_pad_cb), app);
-
break;
default:
data->recPipeline = NULL;
*/
break;
+
default:
pipeline = data->playPipeline;
/*
break;
case GST_STATE_READY:
- /* hildon_banner_show_information(GTK_WIDGET(data->mainView), NULL, "Ready..."); */
- ULOG_INFO("%s() - Ready", G_STRFUNC);
- gtk_entry_set_text(GTK_ENTRY(data->mainViewData.stateEntry),
+ /* hildon_banner_show_information(GTK_WIDGET(data->mainView), NULL, "Ready..."); */
+ ULOG_INFO("%s() - Ready", G_STRFUNC);
+ gtk_entry_set_text(GTK_ENTRY(data->mainViewData.stateEntry),
RECORDER_MSG_READY);
- break;
+ break;
case GST_STATE_PAUSED:
{
g_free (debug);
break;
}
+
case GST_MESSAGE_ERROR:
{
GError *err;
/* break; */
/* flow through to eos */
}
+
case GST_MESSAGE_EOS:
{
ULOG_INFO("%s() - eos", G_STRFUNC);
}
break;
}
+
case GST_MESSAGE_STATE_CHANGED:
{
GstState old;
}
#endif
+static void cbSettings(GtkWidget* widget, AppData *data)
+{
+ settings_edit( widget, data );
+}
+
static void cbSaveAs(GtkWidget* widget, AppData *data)
{
GtkWidget* dialog = NULL;
GTK_WINDOW(data->mainView),
GTK_FILE_CHOOSER_ACTION_SAVE));
+ gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER(dialog),
+ get_default_dir() );
+
/* show it */
gtk_widget_show_all(dialog);
switch (data->filter)
{
case FORMAT_PCM:
- data->saveFileName = g_strdup(DEFAULT_TMP_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_FILE);
- break;
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_FILE);
+ break;
- case FORMAT_PCMA:
- data->saveFileName = g_strdup(DEFAULT_TMP_PCMA_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_PCMA_FILE);
- break;
-
- case FORMAT_PCMU:
- data->saveFileName = g_strdup(DEFAULT_TMP_PCMU_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_PCMU_FILE);
- break;
+ case FORMAT_PCMA:
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMA_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMA_FILE);
+ break;
+
+ case FORMAT_PCMU:
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMU_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMU_FILE);
+ break;
- case FORMAT_WAV:
- data->saveFileName = g_strdup(DEFAULT_TMP_WAV_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_WAV_FILE);
- break;
+ case FORMAT_WAV:
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_WAV_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_WAV_FILE);
+ break;
- case FORMAT_ILBC:
- default:
- data->saveFileName = g_strdup(DEFAULT_TMP_ILBC_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_ILBC_FILE);
+ case FORMAT_ILBC:
+ default:
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_ILBC_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_ILBC_FILE);
break;
}
GtkWidget *item_pcmu;
GtkWidget *item_ilbc;
GtkWidget *item_pcm;
-
+ GtkWidget *item_settings;
/*
GtkWidget *item_radio_type1;
*/
item_file_open = gtk_menu_item_new_with_label(_("Open..."));
item_file_save_as = gtk_menu_item_new_with_label(_("Save as..."));
item_others = gtk_menu_item_new_with_label (_("Recording format"));
+ item_settings = gtk_menu_item_new_with_label (_("Settings"));
item_pcma = gtk_radio_menu_item_new_with_label(
- group, "PCM A-law");
+ group, FORMAT_NAME_PCMA);
item_ilbc = gtk_radio_menu_item_new_with_label_from_widget(
- GTK_RADIO_MENU_ITEM(item_pcma), "iLBC");
+ GTK_RADIO_MENU_ITEM(item_pcma), FORMAT_NAME_ILBC);
item_pcmu = gtk_radio_menu_item_new_with_label_from_widget(
- GTK_RADIO_MENU_ITEM(item_pcma), "PCM u-law");
+ GTK_RADIO_MENU_ITEM(item_pcma), FORMAT_NAME_PCMU);
item_pcm = gtk_radio_menu_item_new_with_label_from_widget(
- GTK_RADIO_MENU_ITEM(item_pcma), "WAV");
+ GTK_RADIO_MENU_ITEM(item_pcma), FORMAT_NAME_WAV);
+
+ data->filter = get_default_filter();
+
+ if (data->filter == FORMAT_ILBC)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_ilbc), TRUE);
+ else if (data->filter == FORMAT_WAV)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_pcm), TRUE);
+ else if (data->filter == FORMAT_PCMA)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_pcma), TRUE);
+ else
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_ilbc), TRUE);
+ data->filter = FORMAT_ILBC;
+ }
- /* default is iLBC */
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_ilbc), TRUE);
- data->filter = FORMAT_ILBC;
-
data->radio_pcma = item_pcma;
data->radio_ilbc = item_ilbc;
data->radio_pcm = item_pcm;
gtk_menu_append( menu_others, item_pcma );
gtk_menu_append( menu_others, item_ilbc);
+ gtk_menu_append( main_menu, item_settings );
+
gtk_menu_append( main_menu, item_close );
/* Add others submenu to the "Others" item */
GTK_SIGNAL_FUNC (cbOpen), data);
g_signal_connect( G_OBJECT( item_file_save_as), "activate",
GTK_SIGNAL_FUNC (cbSaveAs), data);
+ g_signal_connect( G_OBJECT( item_settings ), "activate",
+ GTK_SIGNAL_FUNC (cbSettings), data);
+
g_signal_connect( G_OBJECT( item_close ), "activate",
GTK_SIGNAL_FUNC (cbItemClose), data);
gtk_table_set_col_spacings (GTK_TABLE (table), 0);
label = gtk_label_new_with_mnemonic(_("Filename:"));
+ /*
+ gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+ */
gtk_table_attach_defaults (GTK_TABLE (table),
label,
0, 1, 0, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry1);
label = gtk_label_new_with_mnemonic (_("Length:"));
+ /*
+ gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+ */
gtk_table_attach_defaults (GTK_TABLE (table),
label,
0, 1, 1, 2);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry2);
label = gtk_label_new_with_mnemonic (_("State:"));
+ /*
+ gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
+ */
gtk_table_attach_defaults (GTK_TABLE (table),
label,
0, 1, 2, 3);
default:
return -1.0;
}
+
if (bitrate == 0.0)
return -1.0;