int main(int argc, char *argv[]) { if(open_database()) create_medialib(); else { g_print("错误:无法打开数据库。"); return 1; } link_t mlink = {NULL, 0}; link_t plink = {NULL, 0}; load_medialib(&mlink, 0); main_core(GENERAL_MEDIALIB_INIT, &mlink); main_core(GENERAL_PLAYLIST_INIT, &plink); gtk_init(&argc, &argv); InterFace ui; ui.winMain = create_winMain(&ui); ui.diaMedialib = create_diaMedialib(&ui); ui.diaPlaylist = create_diaPlaylist(&ui); ui.diaVolume = create_diaVolume(&ui); gtk_widget_show(ui.winMain); g_signal_connect(G_OBJECT(ui.winMain), "delete_event", G_CALLBACK(gtk_main_quit), NULL); gtk_main(); link_del_all(&mlink); link_del_all(&plink); close_database(); return 0; }
void on_tbtSave_clicked(GtkWidget *tbtSave, InterFace *ui) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new ("保存M3U文件", GTK_WINDOW(ui->diaPlaylist), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); GtkFileFilter *filefilter; filefilter = gtk_file_filter_new(); gtk_file_filter_set_name(filefilter, "M3U"); gtk_file_filter_add_pattern(filefilter, "*.m3u"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filefilter); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { char *pathname; pathname = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); main_core(PLAYLIST_OPEN, pathname); main_core(PLAYLIST_BRUSH, ui); g_free (pathname); } gtk_widget_destroy (dialog); }
void on_tlbDel_clicked(GtkWidget *btMedialib, InterFace *ui) { GValue value = {0}; GtkTreeIter iter = {0}; GtkListStore *liststore; GtkTreeSelection *selection; char filename[MAX_FILE_LENGTH]; GtkWidget *dialog; liststore = (GtkListStore *)gtk_tree_view_get_model(GTK_TREE_VIEW(ui->treeMedialib)); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ui->treeMedialib)); if (gtk_tree_selection_count_selected_rows (selection)) { gtk_tree_selection_get_selected(selection, (GtkTreeModel**) &liststore, &iter); gtk_tree_model_get_value(GTK_TREE_MODEL(liststore), &iter, 5, &value); strcpy(filename, g_value_get_string(&value)); main_core(MEDIALIB_DEL, filename); main_core(MEDIALIB_BRUSH, ui); } else { dialog = gtk_message_dialog_new (GTK_WINDOW(ui->diaMedialib), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "未选择媒体文件"); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } }
void on_tlbAdd_clicked(GtkWidget *btMedialib, InterFace *ui) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new ("选择媒体文件", GTK_WINDOW(ui->diaMedialib), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); GtkFileFilter *filefilter; filefilter = gtk_file_filter_new(); gtk_file_filter_set_name(filefilter, "mp3"); gtk_file_filter_add_pattern(filefilter, "*.mp3"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filefilter); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { char *filename; filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); main_core(MEDIALIB_ADD_FILE, filename); main_core(MEDIALIB_BRUSH, ui); g_free (filename); } gtk_widget_destroy (dialog); }
void on_btFind_clicked(GtkWidget *btMedialib, InterFace *ui) { if (! gtk_entry_get_text_length (GTK_ENTRY(ui->etFind))) gtk_entry_set_text ((GTK_ENTRY(ui->etFind)), "*"); main_core(MEDIALIB_FIND, ui); main_core(MEDIALIB_BRUSH, ui); }
void on_tbtDelall_clicked(GtkWidget *tbtDelall, InterFace *ui) { GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW(ui->diaPlaylist), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "是否删除播放列表中所有文件信息?"); if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) { main_core(PLAYLIST_DEL_ALL, ui); main_core(PLAYLIST_BRUSH, ui); } gtk_widget_destroy (dialog); }
void on_tlbSearch_clicked(GtkWidget *btMedialib, InterFace *ui) { GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW(ui->diaMedialib), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "是否开始搜索?"); if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) { main_core(MEDIALIB_SEARCH, ui); main_core(MEDIALIB_BRUSH, ui); } gtk_widget_destroy (dialog); }
void on_cbbMode_active(GtkWidget *cbbMode, InterFace *ui) { static int mode; mode = gtk_combo_box_get_active(GTK_COMBO_BOX(cbbMode)); main_core(GENERAL_PLAY_MODE, &mode); }
int main(int argc,char* argv[]) { #ifdef _WIN32 int i=0; for (i=1; i<argc; i++) { char * arg=argv[i]; if (0==stricmp(arg, "--install")) { win32_service_install(); return 0; } if (0==stricmp(arg, "--delete")) { win32_service_delete(); return 0; } if (0==stricmp(arg, "--start")) { win32_service_start(); return 0; } if (0==stricmp(arg, "--status")) { win32_service_status(); return 0; } if (0==stricmp(arg, "--stop")) { win32_service_stop(); return 0; } if (0==stricmp(arg, "--noservice")) { return main_core(argc, argv); } } if (argc == 1) { return win32_run_service(argc, argv); /* this call never returns */ } else return main_core(argc, argv); #else return main_core(argc, argv); #endif }
void on_btMedialib_clicked(GtkWidget *btMedialib, InterFace *ui) { gboolean visible; g_object_get(GTK_WINDOW(ui->diaMedialib), "visible", &visible, NULL); if (!visible) main_core(MEDIALIB_SHOW, ui); }
void on_btPlaylist_clicked(GtkWidget *btPlaylist, InterFace *ui) { gtk_widget_show(ui->diaPlaylist); gboolean visible; g_object_get(GTK_WINDOW(ui->diaPlaylist), "visible", &visible, NULL); if (!visible) main_core(PLAYLIST_SHOW, ui); }
void on_tlbAdddir_clicked(GtkWidget *btMedialib, InterFace *ui) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new ("选择媒体目录", GTK_WINDOW(ui->diaMedialib), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { char *pathname; pathname = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); main_core(MEDIALIB_ADD_DIR, pathname); main_core(MEDIALIB_BRUSH, ui); g_free (pathname); } gtk_widget_destroy (dialog); }
void on_tbtDel_clicked(GtkWidget *tbtDel, InterFace *ui) { GtkListStore *liststore; GtkTreeSelection *selection; GtkWidget *dialog; liststore = (GtkListStore *)gtk_tree_view_get_model(GTK_TREE_VIEW(ui->treePlaylist)); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ui->treePlaylist)); if (gtk_tree_selection_count_selected_rows (selection)) { main_core(PLAYLIST_DEL, ui); main_core(PLAYLIST_BRUSH, ui); } else { dialog = gtk_message_dialog_new (GTK_WINDOW(ui->diaPlaylist), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "未选择媒体文件"); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } }
DWORD WINAPI win32_thread_proc(PVOID context) { /* Create empty config file if none exists. */ { CHAR buffer[MAX_PATH]={0}; ExpandEnvironmentStrings("%ProgrmFiles%\\Cloudkick\\etc\\cloudkick.cfg", buffer, ARRAYSIZE(buffer)); { HANDLE hfile=CreateFile(buffer, GENERIC_READ, FILE_SHARE_READ, 0, CREATE_NEW, 0, 0); if (hfile!= INVALID_HANDLE_VALUE) CloseHandle(hfile); } } g_equus_win_service = 1; return main_core(g_argc, g_argv); }