static void add_tool(GtkWidget *widget, GTKMusicBrowser *p) { p->SetClickState(kContextPlaylist); FileSelector *filesel = new FileSelector(p->GetContext(),"Add a Track"); filesel->SetExtended(); if (filesel->Run()) { char *returnpath = filesel->GetReturnPath(); char *ext = p->GetContext()->player->GetExtension(returnpath); uint32 length = strlen(returnpath) + 10; char *tempurl = new char[length]; if (IsntError(FilePathToURL(returnpath, tempurl, &length))) { if (ext && p->GetContext()->plm->IsSupportedPlaylistFormat(ext)) { string tobeloaded = tempurl; p->LoadPlaylist(tobeloaded); } else { char *filereturn = strdup_new(filesel->GetReturnPath()); if (filereturn) { char *temp; char *first= strtok(filereturn, "\n"); while ((temp = strtok(NULL, "\n"))) { if (ext) delete [] ext; ext = p->GetContext()->player->GetExtension(temp); if (ext && p->GetContext()->player->IsSupportedExtension(ext)) { p->AddTrackPlaylistEvent(temp); p->m_lastindex++; } } if (ext) delete [] ext; ext = p->GetContext()->player->GetExtension(first); if (ext && p->GetContext()->player->IsSupportedExtension(ext)) p->AddTrackPlaylistEvent(first); } delete [] filereturn; } } delete [] tempurl; delete [] ext; } delete filesel; }
static void add_track(GTKMusicBrowser *p, guint action, GtkWidget *w) { FileSelector *filesel = new FileSelector(p->GetContext(),"Add a Track"); filesel->SetExtended(); if (filesel->Run()) { char *filereturn = strdup_new(filesel->GetReturnPath()); if (filereturn) { char *temp; char *first; first = strtok(filereturn, "\n"); while ((temp = strtok(NULL, "\n"))) { p->AddTrackPlaylistEvent(temp); p->m_lastindex++; } p->AddTrackPlaylistEvent(first); } delete filereturn; } delete filesel; }