TracklistController.remove()
saat ini hanya menghapus trek dan memicu acara tracklist_changed
:
Saya tidak yakin apakah masuk akal untuk terus memutar trek saat ini jika trek baru saja dihapus dari daftar trek - mungkin lebih baik untuk memanggil stop()
atau next()
pada saat itu saja?
Kita harus memeriksa apa yang dilakukan mpd
MPD menghapus trek dan kemudian melompat ke trek berikutnya dalam daftar putar jika tersedia. Jika tidak, pemutaran akan berhenti.
Adakah yang mulai memperbaiki bug ini? Saya bisa mencoba memberikan solusi.
Tidak, lakukanlah. Karena tidak ada yang berbicara, saya pikir kita dapat menganggap mirroring perilaku MPD masuk akal.
Oke. Beberapa pengamatan:
File "/home/aj/mopidy-dev/mopidy/mopidy/core/playback.py", line 270, in _on_about_to_finish
self._last_position = self._current_tl_track.track.length
AttributeError: 'NoneType' object has no attribute 'track'
Saya telah membuat cabang dengan perbaikan untuk masalah ini, yang berfungsi dengan semua trek termasuk aliran, di mana ada beberapa masalah tambahan yang berkaitan dengan gstreamer mengirim pesan buffering saat berhenti. Saat ini gagal beberapa tes tetapi berfungsi dalam praktik. Ini didasarkan pada cabang daftar putar api web @kingosticks , jadi itu juga termasuk fitur itu. Ada di sini https://github.com/fatg3erman/mopidy/tree/fix/consume-current-track jika ada yang tertarik mencobanya untuk mendapatkan lebih banyak pengujian beta sebelum saya mencoba memperbaiki tes.
Sebenarnya sebagian dari komentar itu adalah omong kosong :) Ini tidak didasarkan pada cabang web-api-playlists, karena itu mopidy-spotify dan tidak ada hubungannya dengan masalah ini :) Saya belum cukup minum teh hari ini....
Saya sedang berlibur sekarang tetapi dapat meninjau ketika saya kembali akhir pekan depan (jika Anda mau dan membuat permintaan tarik).
Terima kasih. Menambahkan PR 1689 untuk ini.
masih dapat direproduksi dengan mopidy 3.0.1
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/mopidy/audio/actor.py", line 559, in _on_about_to_finish
self._about_to_finish_callback()
File "/usr/lib/python3.7/site-packages/mopidy/core/playback.py", line 178, in _on_about_to_finish_callback
kwargs={},
File "/usr/lib/python3.7/site-packages/pykka/_ref.py", line 114, in ask
return future.get(timeout=timeout)
File "/usr/lib/python3.7/site-packages/pykka/_threading.py", line 45, in get
_compat.reraise(*self._data['exc_info'])
File "/usr/lib/python3.7/site-packages/pykka/_compat/__init__.py", line 29, in reraise
raise value
File "/usr/lib/python3.7/site-packages/pykka/_actor.py", line 193, in _actor_loop
response = self._handle_receive(envelope.message)
File "/usr/lib/python3.7/site-packages/pykka/_actor.py", line 299, in _handle_receive
return callee(*message.args, **message.kwargs)
File "/usr/lib/python3.7/site-packages/mopidy/core/playback.py", line 190, in _on_about_to_finish
self._last_position = self._current_tl_track.track.length
AttributeError: 'NoneType' object has no attribute 'track'
STR: hapus trek yang sedang diputar dan tunggu sampai selesai
dengan ncmpcpp: mainkan banyak trek; arahkan kursor ke trek lain yang sedang tidak diputar; tekan shift-c untuk menghapus semua kecuali trek yang melayang; menunggu trek saat ini selesai.
Komentar yang paling membantu
MPD menghapus trek dan kemudian melompat ke trek berikutnya dalam daftar putar jika tersedia. Jika tidak, pemutaran akan berhenti.