Version: 2.4-GIT (using KDE 4.6.1) OS: Linux When playing an MP3 with CUE file, the CUE is parsed properly, but playback/transition to next track is broken. Amarok plays the first track okay, but does not play next track. Reproducible: Always Steps to Reproduce: 1) Use VLC-phonon or GStreamer-phonon backend. 2) Load mp3 that has a cue file. 3) Play track and wait for transition to next track Actual Results: 1) Playback stops (no transition). 2) Unable to restart playback of mp3 with cue file. Loading a different mp3 and then retrying playback of mp3 with cue file allows ONE track of mp3 with cue file to be played again, but upon transition to next track playback is broken again. Expected Results: Gapless transition to next track of mp3 with cue file.
amarok: BEGIN: void EngineController::slotAboutToFinish() amarok: [EngineController] Track finished completely, updating statistics amarok: [EngineController] finished a track that consists of part of another track, go to next track even if this url is technically not done yet amarok: BEGIN: void EngineController::stop(bool) amarok: BEGIN: void TimecodeObserver::stopped(qint64, qint64) amarok: END__: void TimecodeObserver::stopped(qint64, qint64) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0.003s] stateChangedInternal newState: "StoppedState" previousState: "PlayingState" stateChangedInternal newState: "StoppedState" previousState: "StoppedState" stateChangedInternal newState: "StoppedState" previousState: "StoppedState" setSource setSource Error: MediaSource is empty. amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Empty MediaSource (engine stop) amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0s] amarok: END__: void EngineController::stop(bool) [Took: 0.053s] amarok: BEGIN: void Playlist::Actions::requestNextTrack() amarok: [Playlist::Actions] so far so good! amarok: BEGIN: void Playlist::Actions::play(quint64, bool) amarok: BEGIN: void EngineController::setNextTrack(Meta::TrackPtr) amarok: [EngineController] locking mutex amarok: [EngineController] locked! amarok: BEGIN: void EngineController::play(Meta::TrackPtr, uint) amarok: BEGIN: void EngineController::stop(bool) setSource setSource Error: MediaSource is empty. amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Empty MediaSource (engine stop) amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0s] amarok: END__: void EngineController::stop(bool) [Took: 0s] amarok: [EngineController] play: bounded is QObject(0x0) current "Sliding Sh" amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: [EngineController] Starting bounded playback of url KUrl("file:///home/xxx/music/album_that_has_cue/mp3_that_has_cue.mp3") at position 57546 amarok: BEGIN: void EngineController::playUrl(const KUrl&, uint) amarok: [EngineController] URL: "file:///home/xxx/music/album_that_has_cue/mp3_that_has_cue.mp3" amarok: [EngineController] offset: 57546 setSource setSource yeap, 'tis a local file or url "file" stateChangedInternal newState: "BufferingState" previousState: "StoppedState" loadMediaInternal "file:///home/xxx/music/album_that_has_cue/mp3_that_has_cue.mp3" stateChangedInternal newState: "StoppedState" previousState: "BufferingState" amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Using gain of 0 with relative peak of 0 amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: void TimecodeObserver::trackPlaying(Meta::TrackPtr) amarok: END__: void TimecodeObserver::trackPlaying(Meta::TrackPtr) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) amarok: BEGIN: void StatusBar::updateTotalPlaylistLength() amarok: END__: void StatusBar::updateTotalPlaylistLength() [Took: 0s] amarok: BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() amarok: END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0s] amarok: END__: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) [Took: 0.001s] amarok: BEGIN: void ProgressWidget::trackLengthChanged(qint64) amarok: new length: 522227 amarok: slider enabled! amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] amarok: END__: void ProgressWidget::trackLengthChanged(qint64) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0s] amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0.005s] amarok: [EngineController] seeking to 57546 stateChangedInternal newState: "PausedState" previousState: "StoppedState" pushSeek seek: 57546 popSeek real seek: 57546 seekInternal 57546 play stateChangedInternal newState: "PlayingState" previousState: "PausedState" updateVolume Volume changed to - 50 From 50 amarok: [EngineController] track pos after play: -1 amarok: END__: void EngineController::playUrl(const KUrl&, uint) [Took: 0.006s] amarok: END__: void EngineController::play(Meta::TrackPtr, uint) [Took: 0.006s] amarok: END__: void EngineController::setNextTrack(Meta::TrackPtr) [Took: 0.006s] amarok: END__: void Playlist::Actions::play(quint64, bool) [Took: 0.006s] amarok: END__: void Playlist::Actions::requestNextTrack() [Took: 0.006s] amarok: END__: void EngineController::slotAboutToFinish() [Took: 0.06s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual bool MainWindow::queryExit() amarok: BEGIN: void MainWindow::saveLayout() amarok: END__: void MainWindow::saveLayout() [Took: 0s] amarok: END__: virtual bool MainWindow::queryExit() [Took: 0s] amarok: BEGIN: virtual App::~App() amarok: [ScanManager] Abort scan: "Abort requested from SqlCollection::stopScan()" amarok: BEGIN: void TimecodeObserver::stopped(qint64, qint64) amarok: END__: void TimecodeObserver::stopped(qint64, qint64) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0.003s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s] amarok: BEGIN: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) amarok: END__: virtual Capabilities::Capability* Meta::TimecodeTrack::createCapabilityInterface(Capabilities::Capability::Type) [Took: 0s]
yeah, this isn't working and is a show stopper for any cd that has a .cue file in the same directory. Please offer an option to disable .cue file support in amarok or fix the bug. thanks!
Update: I have tried git amarok (20110523), git phonon-mplayer (20110523), and git phonon-xine (20110523) - still no luck. Is this an amarok and backend issue? Is there any other info I can provide to help out with this bug/lack of feature?
(In reply to comment #3) > Update: > > I have tried git amarok (20110523), git phonon-mplayer (20110523), and git > phonon-xine (20110523) - still no luck. the mplayer and xine backends are deprecated, please use the gstreamer or vlc ones instead. > > Is this an amarok and backend issue? Most likely an Amarok one, as the CUE support still is not fully implemented. > > Is there any other info I can provide to help out with this bug/lack of > feature? Not really, we need more developer time and availability.
Confirmed in git master. Is this a regression?
No, not a regression, just never implemented.
I can confirm this bug. I played a mp3 file using an .cue file. After the first song was played Amarok plays the first song again. No matter which song I want to start, Amarok always plays the first! So there’s no way to listen to the hole mp3. Using Amarok 2.4.1, phonon-gstreamer-4.5.0.
I have the same problem with Amarok 2.4.3 under KDE 4.7.2 and phonon-gstreamer-4.5.1. The only workaround is to move the cue-file to another directory.
What is the status of this with Amarok 2.7?
Bump version.