TracklistController.remove()
ํ์ฌ ํธ๋์ ์ ๊ฑฐํ๊ณ tracklist_changed
์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
ํธ๋ ๋ชฉ๋ก์์ ๋ฐฉ๊ธ ์ ๊ฑฐ๋ ๊ฒฝ์ฐ ํ์ฌ ํธ๋์ ๊ณ์ ์ฌ์ํ๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค stop()
๋์ ๊ทธ ์์ ์์ next()
๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ๋ ๋์๊น์?
mpd๊ฐ ํ๋ ์ผ์ ํ์ธํด์ผ ํฉ๋๋ค.
MPD๋ ํธ๋์ ์ ๊ฑฐํ ๋ค์ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ฌ์ ๋ชฉ๋ก์ ๋ค์ ํธ๋์ผ๋ก ์ด๋ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ์์ด ์ค์ง๋ฉ๋๋ค.
๋๊ตฌ๋ ์ง ์ด ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ธฐ ์์ํ์ต๋๊น? ๋๋ ํด๊ฒฐ์ฑ ์ ์ฐพ๋๋ก ๋ ธ๋ ฅํ ์ ์๋ค.
์๋, ๊ฐ์. ์๋ฌด๋ ์ฐ๊ฒฐํ์ง ์์๊ธฐ ๋๋ฌธ์ MPD์ ๋์์ ๋ฏธ๋ฌ๋งํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.
ํ์ธ. ๋ช ๊ฐ์ง ๊ด์ฐฐ:
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์ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ์ถ๊ฐ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ํ์ฌ ์ฌ๋ฌ ํ ์คํธ์ ์คํจํ์ง๋ง ์ค์ ๋ก ์๋ํฉ๋๋ค. @kingosticks ์น API ์ฌ์ ๋ชฉ๋ก ๋ถ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฏ๋ก ํด๋น ๊ธฐ๋ฅ๋ ํฌํจ๋ฉ๋๋ค. ํ ์คํธ๋ฅผ ์์ ํ๊ธฐ ์ ์ ๋ ๋ง์ ๋ฒ ํ ํ ์คํธ๋ฅผ ์๋ํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด ์์ผ๋ฉด 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๋ ํธ๋์ ์ ๊ฑฐํ ๋ค์ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ฌ์ ๋ชฉ๋ก์ ๋ค์ ํธ๋์ผ๋ก ์ด๋ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ์์ด ์ค์ง๋ฉ๋๋ค.