.gitignore update

This commit is contained in:
9and3r
2014-08-01 12:41:54 +02:00
parent 33199f85ca
commit 5c6aa015eb
8 changed files with 128 additions and 114 deletions

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@
MANIFEST
build/
dist/
mopidy_touchscreen/.idea/

View File

@@ -22,32 +22,7 @@
<favorites_list name="mopidy_touchscreen" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="main_screen.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.6865672" vertical-offset="2572" max-vertical-offset="2895">
<caret line="179" column="0" selection-start-line="179" selection-start-column="0" selection-end-line="179" selection-end-column="0" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="tracklist.py" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/tracklist.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.42307693" vertical-offset="195" max-vertical-offset="585">
<caret line="24" column="81" selection-start-line="24" selection-start-column="81" selection-end-line="24" selection-end-column="81" />
<folding>
<element signature="e#0#31#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
<leaf />
</component>
<component name="FindManager">
<FindUsagesManager>
@@ -57,15 +32,15 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/screen_objects.py" />
<option value="$PROJECT_DIR$/menu_screen.py" />
<option value="$PROJECT_DIR$/list_view.py" />
<option value="$PROJECT_DIR$/touch_screen.py" />
<option value="$PROJECT_DIR$/library_screen.py" />
<option value="$PROJECT_DIR$/screen_manager.py" />
<option value="$PROJECT_DIR$/touch_manager.py" />
<option value="$PROJECT_DIR$/main_screen.py" />
<option value="$PROJECT_DIR$/tracklist.py" />
<option value="$PROJECT_DIR$/screen_manager.py" />
<option value="$PROJECT_DIR$/touch_screen.py" />
<option value="$PROJECT_DIR$/screen_objects.py" />
<option value="$PROJECT_DIR$/main_screen.py" />
<option value="$PROJECT_DIR$/touch_manager.py" />
<option value="$PROJECT_DIR$/library_screen.py" />
</list>
</option>
</component>
@@ -101,7 +76,6 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@@ -122,6 +96,7 @@
</PATH>
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@@ -271,13 +246,13 @@
</component>
<component name="ToolWindowManager">
<frame x="65" y="24" width="1301" height="744" extended-state="6" />
<editor active="true" />
<editor active="false" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.34055728" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24960877" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2543036" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2543036" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32972136" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
@@ -285,11 +260,11 @@
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32972136" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32972136" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
@@ -312,13 +287,29 @@
<breakpoint-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1425">
<caret line="39" column="34" selection-start-line="39" selection-start-column="34" selection-end-line="39" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/library_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="810" max-vertical-offset="1215">
<caret line="75" column="28" selection-start-line="75" selection-start-column="28" selection-end-line="75" selection-end-column="28" />
<folding>
<element signature="e#0#31#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1335">
<caret line="64" column="50" selection-start-line="64" selection-start-column="50" selection-end-line="64" selection-end-column="50" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@@ -441,13 +432,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2229" max-vertical-offset="3765">
<caret line="152" column="32" selection-start-line="152" selection-start-column="32" selection-end-line="152" selection-end-column="32" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/menu_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.76501304" vertical-offset="532" max-vertical-offset="1185">
@@ -455,78 +439,73 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/library_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.42307693" vertical-offset="645" max-vertical-offset="1200">
<caret line="54" column="26" selection-start-line="54" selection-start-column="26" selection-end-line="54" selection-end-column="26" />
<folding>
<element signature="e#0#31#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.34615386" vertical-offset="720" max-vertical-offset="1545">
<caret line="62" column="35" selection-start-line="62" selection-start-column="35" selection-end-line="62" selection-end-column="35" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.37220845" vertical-offset="1665" max-vertical-offset="3240">
<caret line="133" column="27" selection-start-line="133" selection-start-column="27" selection-end-line="133" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.719603" vertical-offset="250" max-vertical-offset="1245">
<caret line="43" column="21" selection-start-line="43" selection-start-column="21" selection-end-line="43" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.074441686" vertical-offset="405" max-vertical-offset="1440">
<caret line="29" column="27" selection-start-line="29" selection-start-column="27" selection-end-line="29" selection-end-column="27" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/playlist_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.46153846" vertical-offset="75" max-vertical-offset="555">
<caret line="17" column="31" selection-start-line="17" selection-start-column="31" selection-end-line="17" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.6865672" vertical-offset="2572" max-vertical-offset="2895">
<caret line="179" column="0" selection-start-line="179" selection-start-column="0" selection-end-line="179" selection-end-column="0" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tracklist.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.42307693" vertical-offset="195" max-vertical-offset="585">
<caret line="24" column="81" selection-start-line="24" selection-start-column="81" selection-end-line="24" selection-end-column="81" />
<state vertical-scroll-proportion="0.34615386" vertical-offset="195" max-vertical-offset="585">
<caret line="22" column="26" selection-start-line="22" selection-start-column="26" selection-end-line="22" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.84615386" vertical-offset="2055" max-vertical-offset="3255">
<caret line="159" column="41" selection-start-line="159" selection-start-column="41" selection-end-line="159" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_objects.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.8883375" vertical-offset="2117" max-vertical-offset="3750">
<caret line="167" column="59" selection-start-line="167" selection-start-column="59" selection-end-line="167" selection-end-column="59" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/list_view.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.5769231" vertical-offset="405" max-vertical-offset="1545">
<caret line="47" column="13" selection-start-line="47" selection-start-column="13" selection-end-line="47" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.70719606" vertical-offset="765" max-vertical-offset="1290">
<caret line="77" column="27" selection-start-line="77" selection-start-column="27" selection-end-line="77" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/screen_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.8511166" vertical-offset="1487" max-vertical-offset="3285">
<caret line="134" column="69" selection-start-line="133" selection-start-column="4" selection-end-line="134" selection-end-column="69" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/library_screen.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="2.2282052" vertical-offset="1" max-vertical-offset="1260">
<caret line="58" column="40" selection-start-line="58" selection-start-column="40" selection-end-line="58" selection-end-column="40" />
<folding>
<element signature="e#0#31#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/touch_manager.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.0843673" vertical-offset="992" max-vertical-offset="1395">
<caret line="39" column="34" selection-start-line="39" selection-start-column="34" selection-end-line="39" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
</component>
</project>

View File

@@ -50,25 +50,29 @@ class LibraryScreen():
if clicked == 0:
self.go_up_directory()
else:
self.play_uri(self.library[clicked-1].uri)
self.play_uri(self.library[clicked-1].uri, False)
else:
self.play_uri(self.library[clicked].uri)
self.play_uri(self.library[clicked].uri, False)
else:
if self.current_directory is not None:
if clicked == 0:
self.go_up_directory()
else:
if self.library[clicked-1].type == mopidy.models.Ref.TRACK:
self.play_uri(self.library[clicked-1].uri)
self.play_uri(self.library[clicked-1].uri, True)
else:
self.go_inside_directory(self.library[clicked-1].uri)
else:
if self.library[clicked].type == mopidy.models.Track:
self.play_uri(self.library[clicked].uri)
self.play_uri(self.library[clicked].uri, True)
else:
self.go_inside_directory(self.library[clicked].uri)
def play_uri(self, uri):
def play_uri(self, uri, track):
self.manager.core.tracklist.clear()
self.manager.core.tracklist.add(uri=uri)
if track:
self.manager.core.tracklist.add(uri=uri)
else:
logger.error(uri)
self.manager.core.tracklist.add(tracks=self.manager.core.library.search(query={'any':'*'}, uris=[uri]).get()[0].tracks)
self.manager.core.playback.play()

View File

@@ -24,6 +24,11 @@ class MainScreen():
self.image = None
self.artists = None
self.touch_text_manager = ScreenObjectsManager()
current_track = self.core.playback.current_track.get()
if current_track is None:
self.track_playback_ended(None, None)
else:
self.track_started(current_track)
def update(self, screen):
if self.track is not None:
@@ -125,17 +130,36 @@ class MainScreen():
width = self.size[0] - self.base_size
current = TextItem(self.fonts['base'], MainScreen.get_track_name(self.track), (self.base_size / 2, self.base_size * 2),
(width, self.base_size))
(width, -1))
self.touch_text_manager.set_object("track_name", current)
current = TextItem(self.fonts['base'], MainScreen.get_track_album_name(self.track), (self.base_size / 2, self.base_size * 3),
(width, self.base_size))
(width, -1))
self.touch_text_manager.set_object("album_name", current)
current = TextItem(self.fonts['base'], self.get_artist_string(), (self.base_size / 2, self.base_size * 4),
(width, self.base_size))
(width, -1))
self.touch_text_manager.set_object("artist_name", current)
def track_playback_ended(self, tl_track, time_position):
self.image = None
# There is no cover so it will use all the screen size for the text
width = self.size[0] - self.base_size
current = TextItem(self.fonts['base'], "Stopped", (self.base_size / 2, self.base_size * 2),
(width, -1))
self.touch_text_manager.set_object("track_name", current)
current = TextItem(self.fonts['base'], "", (self.base_size / 2, self.base_size * 3),
(width, -1))
self.touch_text_manager.set_object("album_name", current)
current = TextItem(self.fonts['base'], "", (self.base_size / 2, self.base_size * 4),
(width, -1))
self.touch_text_manager.set_object("artist_name", current)
def load_image(self):
size = self.base_size * 4
self.image = pygame.transform.scale(

View File

@@ -131,6 +131,9 @@ class ScreenManager():
self.screens[0].track_started(track.track)
self.screens[1].track_started(track)
def track_playback_ended(self, tl_track, time_position):
self.screens[0].track_playback_ended(tl_track, time_position)
def event(self, event):
touch_event = self.touch_manager.event(event)
if touch_event is not None:

View File

@@ -162,6 +162,7 @@ class TouchAndTextItem(TouchObject, TextItem):
else:
self.box = self.font.render(self.text, True, self.color)
if self.active:
#Area h*2 to render letters like g, j, y...
surface.blit(self.active_box, self.pos, area=self.rect)
else:
surface.blit(self.box, self.pos, area=self.rect)

View File

@@ -30,7 +30,6 @@ class TouchManager():
def event(self, event):
if event.type == pygame.MOUSEBUTTONUP:
logger.error(event.button)
if event.button == 4:
touch_event = TouchEvent(TouchManager.swipe, self.down_pos, self.up_pos, True)
touch_event.direction = TouchManager.up

View File

@@ -74,6 +74,9 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
except:
traceback.print_exc()
def track_playback_ended(self, tl_track, time_position):
self.screen_manager.track_playback_ended(tl_track, time_position)
def options_changed(self):
try:
self.screen_manager.options_changed()