TracklistController.remove()
Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΡΠ΅ΠΊ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ tracklist_changed
:
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ΅ΠΊ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΡΠ΅ΠΊΠΎΠ² - ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π»ΡΡΡΠ΅ Π±ΡΠ»ΠΎ Π±Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·Π²Π°ΡΡ stop()
ΠΈΠ»ΠΈ next()
?
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ mpd
MPD ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΡΠ΅ΠΊ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°ΡΠ°Π» ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ? Π― ΠΌΠΎΠ³Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅Ρ, Π΄Π΅ΡΠ·Π°ΠΉ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ, Ρ Π΄ΡΠΌΠ°Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Π·Π΅ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ MPD ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ.
Ok. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ:
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'
Π― ΡΠΎΠ·Π΄Π°Π» Π²Π΅ΡΠΊΡ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ΅ΠΊΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΡΠΎΠΊΠΈ, Π³Π΄Π΅ Π±ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ gstreamer ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠΎΠ², Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ½ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π²Π΅ΡΠΊΠ΅ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠΎΠ² https://github.com/fatg3erman/mopidy/tree/fix/consume-current-track, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π±Π΅ΡΠ°-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΡΡ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ - Π΅ΡΡΠ½Π΄Π° :) ΠΠ½ Π½Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π²Π΅ΡΠΊΠ΅ web-api-playlists, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ mopidy-spotify ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ :) Π― Π΅ΡΠ΅ Π½Π΅ Π²ΡΠΏΠΈΠ» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°Ρ ...
Π― ΡΠ΅ΠΉΡΠ°Ρ Π² ΠΎΡΠΏΡΡΠΊΠ΅, Π½ΠΎ ΠΌΠΎΠ³Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±Π·ΠΎΡ, ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΠ½ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ (Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅, ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡ).
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ PR 1689.
Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ 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: ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΡΠ΅ΠΊ ΠΈ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ
Ρ ncmpcpp: Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΠΊΠΎΠ²; Π½Π°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ; Π½Π°ΠΆΠΌΠΈΡΠ΅ shift-c, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΡΠ΅ΠΊΠΈ, ΠΊΡΠΎΠΌΠ΅ Π·Π°Π²ΠΈΡΡΠΈΡ ; Π΄ΠΎΠΆΠ΄ΠΈΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ°.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
MPD ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΡΠ΅ΠΊ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.