tramhao/termusic

Termusic hangs after song ends or is skipped with 1 song in playlist

Opened this issue · 1 comments

Environment & Versions

System:

  • Linux Arch
  • systemctl --version:
    systemd 255 (255.6-2-arch)
    +PAM +AUDIT -SELINUX -APPARMOR -IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP -SYSVINIT default-hierarchy=unified

Termusic version: Termusic d102a05[g]

Logs: No log file in /tmp/

Description of the Problem

After a song ends or when I press n anywhere between start and end of the song then the music stops. I then can't repeat the song manually or choose another song to play and need to restart termusic.

Looks like termusic just hangs if there is exactly 1 song in the playlilst and the songs ends or is being skipped while not being in "Loop Mode Cycle" m.
If there is more than 1 song in the playlist it works like expected.

I've tried:

  • Adding another song and play the song via space, enter, n
  • Deleting the current song from the playlist and readding the song
  • Exit termusic via q and start termusic again
  • sudo kill TERMUSIC_PID
  • sudo kill -9 TERMUSIC_PID and start termusic again

Only the last method enables the function to play a song again.

while not being in "Loop Mode Cycle" m.

you are always in a mode, the hotkey m just cycles through those modes; default in a new config is mode playlist.


it is known that playlist handling is quite wonky (for example #189).

it might already be fixed (or at least not being stuck anymore), please try the latest master version (currently ac0b924) instead of 0.9.0. (from the version i can tell you are using AUR termusic, maybe try AUR termusic-git instead).

if it is not fixed, then it is likely that the current behavior just does not expect loop mode playlist to have just one entry and tries to advance its index, but that does not exist so it cannot play it.