Skip to content

Commit

Permalink
audio: Move DummyAudio into tests package
Browse files Browse the repository at this point in the history
  • Loading branch information
jodal committed Feb 13, 2015
1 parent b554a64 commit ae5dd35
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 32 deletions.
1 change: 0 additions & 1 deletion mopidy/audio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

# flake8: noqa
from .actor import Audio
from .dummy import DummyAudio
from .listener import AudioListener
from .constants import PlaybackState
from .utils import (
Expand Down
42 changes: 23 additions & 19 deletions mopidy/audio/dummy.py → tests/dummy_audio.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@

import pykka

from .constants import PlaybackState
from .listener import AudioListener
from mopidy import audio


def create_proxy(config=None, mixer=None):
return DummyAudio.start(config, mixer).proxy()


class DummyAudio(pykka.ThreadingActor):
def __init__(self, config=None, mixer=None):
super(DummyAudio, self).__init__()
self.state = PlaybackState.STOPPED
self.state = audio.PlaybackState.STOPPED
self._volume = 0
self._position = 0
self._callback = None
Expand All @@ -42,21 +45,21 @@ def get_position(self):

def set_position(self, position):
self._position = position
AudioListener.send('position_changed', position=position)
audio.AudioListener.send('position_changed', position=position)
return True

def start_playback(self):
return self._change_state(PlaybackState.PLAYING)
return self._change_state(audio.PlaybackState.PLAYING)

def pause_playback(self):
return self._change_state(PlaybackState.PAUSED)
return self._change_state(audio.PlaybackState.PAUSED)

def prepare_change(self):
self._uri = None
return True

def stop_playback(self):
return self._change_state(PlaybackState.STOPPED)
return self._change_state(audio.PlaybackState.STOPPED)

def get_volume(self):
return self._volume
Expand Down Expand Up @@ -84,21 +87,22 @@ def _change_state(self, new_state):
if not self._uri:
return False

if self.state == PlaybackState.STOPPED and self._uri:
AudioListener.send('position_changed', position=0)
AudioListener.send('stream_changed', uri=self._uri)
if self.state == audio.PlaybackState.STOPPED and self._uri:
audio.AudioListener.send('position_changed', position=0)
audio.AudioListener.send('stream_changed', uri=self._uri)

if new_state == PlaybackState.STOPPED:
if new_state == audio.PlaybackState.STOPPED:
self._uri = None
AudioListener.send('stream_changed', uri=self._uri)
audio.AudioListener.send('stream_changed', uri=self._uri)

old_state, self.state = self.state, new_state
AudioListener.send('state_changed', old_state=old_state,
new_state=new_state, target_state=None)
audio.AudioListener.send(
'state_changed',
old_state=old_state, new_state=new_state, target_state=None)

if new_state == PlaybackState.PLAYING:
if new_state == audio.PlaybackState.PLAYING:
self._tags['audio-codec'] = [u'fake info...']
AudioListener.send('tags_changed', tags=['audio-codec'])
audio.AudioListener.send('tags_changed', tags=['audio-codec'])

return self._state_change_result

Expand All @@ -114,9 +118,9 @@ def wrapper():

if not self._uri or not self._callback:
self._tags = {}
AudioListener.send('reached_end_of_stream')
audio.AudioListener.send('reached_end_of_stream')
else:
AudioListener.send('position_changed', position=0)
AudioListener.send('stream_changed', uri=self._uri)
audio.AudioListener.send('position_changed', position=0)
audio.AudioListener.send('stream_changed', uri=self._uri)

return wrapper
6 changes: 3 additions & 3 deletions tests/local/test_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

import pykka

from mopidy import audio, backend, core
from mopidy import backend, core
from mopidy.local import actor

from tests import path_to_data_dir
from tests import dummy_audio, path_to_data_dir


@mock.patch.object(backend.BackendListener, 'send')
Expand All @@ -24,7 +24,7 @@ class LocalBackendEventsTest(unittest.TestCase):
}

def setUp(self): # noqa: N802
self.audio = audio.DummyAudio.start().proxy()
self.audio = dummy_audio.create_proxy()
self.backend = actor.LocalBackend.start(
config=self.config, audio=self.audio).proxy()
self.core = core.Core.start(backends=[self.backend]).proxy()
Expand Down
6 changes: 3 additions & 3 deletions tests/local/test_playback.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@

import pykka

from mopidy import audio, core
from mopidy import core
from mopidy.core import PlaybackState
from mopidy.local import actor
from mopidy.models import Track

from tests import path_to_data_dir
from tests import dummy_audio, path_to_data_dir
from tests.local import generate_song, populate_tracklist


Expand Down Expand Up @@ -40,7 +40,7 @@ def add_track(self, uri):
self.tracklist.add([track])

def setUp(self): # noqa: N802
self.audio = audio.DummyAudio.start().proxy()
self.audio = dummy_audio.create_proxy()
self.backend = actor.LocalBackend.start(
config=self.config, audio=self.audio).proxy()
self.core = core.Core(backends=[self.backend])
Expand Down
6 changes: 3 additions & 3 deletions tests/local/test_playlists.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@

import pykka

from mopidy import audio, core
from mopidy import core
from mopidy.local import actor
from mopidy.models import Playlist, Track

from tests import path_to_data_dir
from tests import dummy_audio, path_to_data_dir
from tests.local import generate_song


Expand All @@ -29,7 +29,7 @@ def setUp(self): # noqa: N802
self.config['local']['playlists_dir'] = tempfile.mkdtemp()
self.playlists_dir = self.config['local']['playlists_dir']

self.audio = audio.DummyAudio.start().proxy()
self.audio = dummy_audio.create_proxy()
self.backend = actor.LocalBackend.start(
config=self.config, audio=self.audio).proxy()
self.core = core.Core(backends=[self.backend])
Expand Down
6 changes: 3 additions & 3 deletions tests/local/test_tracklist.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@

import pykka

from mopidy import audio, core
from mopidy import core
from mopidy.core import PlaybackState
from mopidy.local import actor
from mopidy.models import Playlist, TlTrack, Track

from tests import path_to_data_dir
from tests import dummy_audio, path_to_data_dir
from tests.local import generate_song, populate_tracklist


Expand All @@ -27,7 +27,7 @@ class LocalTracklistProviderTest(unittest.TestCase):
Track(uri=generate_song(i), length=4464) for i in range(1, 4)]

def setUp(self): # noqa: N802
self.audio = audio.DummyAudio.start().proxy()
self.audio = dummy_audio.create_proxy()
self.backend = actor.LocalBackend.start(
config=self.config, audio=self.audio).proxy()
self.core = core.Core(mixer=None, backends=[self.backend])
Expand Down

0 comments on commit ae5dd35

Please sign in to comment.