bool VGMMultiSectionSeq::LoadMain() { readMode = READMODE_ADD_TO_UI; if (!GetHeaderInfo()) return false; if (!LoadTracks(readMode)) return false; return true; }
void MpvHandler::AddAudioTrack(QString f) { if(f == QString()) return; const QByteArray tmp = f.toUtf8(); const char *args[] = {"audio-add", tmp.constData(), NULL}; Command(args); auto old = fileInfo.tracks; LoadTracks(); auto current = fileInfo.tracks; for(auto track : old) current.removeOne(track); Mpv::Track &track = current.first(); ShowText(QString("%0: %1 (%2)").arg(QString::number(track.id), track.title, track.external ? "external" : track.lang)); }
void MpvHandler::AddSubtitleTrack(QString f) { if(f == QString()) return; const QByteArray tmp = f.toUtf8(); const char *args[] = {"sub-add", tmp.constData(), NULL}; Command(args); // this could be more efficient if we saved tracks in a bst auto old = fileInfo.tracks; // save the current track-list LoadTracks(); // load the new track list auto current = fileInfo.tracks; for(auto track : old) // remove the old tracks in current current.removeOne(track); Mpv::Track &track = current.first(); ShowText(QString("%0: %1 (%2)").arg(QString::number(track.id), track.title, track.external ? "external" : track.lang)); }
void MpvHandler::LoadFileInfo() { // get media-title fileInfo.media_title = mpv_get_property_string(mpv, "media-title"); // get length double len; mpv_get_property(mpv, "length", MPV_FORMAT_DOUBLE, &len); fileInfo.length = (int)len; LoadTracks(); LoadChapters(); LoadVideoParams(); LoadAudioParams(); LoadMetadata(); emit fileInfoChanged(fileInfo); }
/* Start playback */ static int SDL_SYS_CDPlay(SDL_CD * cdrom, int start, int length) { int startFrame, stopFrame; FSRef *ref; if (fakeCD) { SDL_SetError(kErrorFakeDevice); return -1; } Lock(); if (LoadTracks(cdrom) < 0) return -2; if (PauseFile() < 0) return -3; if (ReleaseFile() < 0) return -4; ref = GetFileForOffset(cdrom, start, length, &startFrame, &stopFrame); if (ref == NULL) { SDL_SetError("SDL_SYS_CDPlay: No file for start=%d, length=%d", start, length); return -5; } if (LoadFile(ref, startFrame, stopFrame) < 0) return -6; SetCompletionProc(CompletionProc, cdrom); if (PlayFile() < 0) return -7; status = CD_PLAYING; Unlock(); return 0; }
void MpvHandler::LoadFileInfo() { // get media-title fileInfo.media_title = mpv_get_property_string(mpv, "media-title"); // get length double len; mpv_get_property(mpv, "length", MPV_FORMAT_DOUBLE, &len); fileInfo.length = (int)len; fileInfo.video_params.codec = mpv_get_property_string(mpv, "video-codec"); fileInfo.audio_params.codec = mpv_get_property_string(mpv, "audio-codec"); fileInfo.audio_params.samplerate = mpv_get_property_string(mpv, "audio-samplerate"); fileInfo.audio_params.channels = mpv_get_property_string(mpv, "audio-channels"); LoadTracks(); LoadChapters(); LoadVideoParams(); LoadMetadata(); emit fileInfoChanged(fileInfo); }