mirror of
https://github.com/Febbweiss/mopidy-touchscreen.git
synced 2026-03-04 22:25:39 +00:00
Code cleanup
This commit is contained in:
@@ -3,11 +3,12 @@ from __future__ import unicode_literals
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
from mopidy import config, ext
|
from mopidy import config, ext
|
||||||
|
|
||||||
from .touch_screen import TouchScreen
|
from .touch_screen import TouchScreen
|
||||||
from .touch_screen_backend import TouchScreenBackend
|
from .touch_screen_backend import TouchScreenBackend
|
||||||
|
|
||||||
|
|
||||||
__version__ = '0.1.0'
|
__version__ = '0.1.0'
|
||||||
|
|
||||||
# TODO: If you need to log, use loggers named after the current Python module
|
# TODO: If you need to log, use loggers named after the current Python module
|
||||||
@@ -15,7 +16,6 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-Touchscreen'
|
dist_name = 'Mopidy-Touchscreen'
|
||||||
ext_name = 'touchscreen'
|
ext_name = 'touchscreen'
|
||||||
version = __version__
|
version = __version__
|
||||||
@@ -35,4 +35,6 @@ class Extension(ext.Extension):
|
|||||||
|
|
||||||
def setup(self, registry):
|
def setup(self, registry):
|
||||||
registry.add('frontend', TouchScreen)
|
registry.add('frontend', TouchScreen)
|
||||||
|
|
||||||
|
#Backend used for controling volume
|
||||||
registry.add('backend', TouchScreenBackend)
|
registry.add('backend', TouchScreenBackend)
|
||||||
@@ -5,7 +5,6 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
class DynamicBackground():
|
class DynamicBackground():
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.current = get_valid_color()
|
self.current = get_valid_color()
|
||||||
self.target = get_valid_color()
|
self.target = get_valid_color()
|
||||||
@@ -23,7 +22,8 @@ class DynamicBackground():
|
|||||||
self.target = get_valid_color()
|
self.target = get_valid_color()
|
||||||
surface.fill(self.current)
|
surface.fill(self.current)
|
||||||
|
|
||||||
#Returns an array with 3 integers in range of 0-255
|
|
||||||
|
# Returns an array with 3 integers in range of 0-255
|
||||||
#The sum of the three integers will be lower than 255*2 (510) to avoid very bright colors
|
#The sum of the three integers will be lower than 255*2 (510) to avoid very bright colors
|
||||||
#White text should be seen ok with this background color
|
#White text should be seen ok with this background color
|
||||||
|
|
||||||
|
|||||||
@@ -6,567 +6,571 @@
|
|||||||
<meta name="description" content="An Icon Font Generated By IcoMoon.io">
|
<meta name="description" content="An Icon Font Generated By IcoMoon.io">
|
||||||
<meta name="viewport" content="width=device-width">
|
<meta name="viewport" content="width=device-width">
|
||||||
<link rel="stylesheet" href="demo-files/demo.css">
|
<link rel="stylesheet" href="demo-files/demo.css">
|
||||||
<link rel="stylesheet" href="style.css"></head>
|
<link rel="stylesheet" href="style.css">
|
||||||
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon <small class="fgc1">(Glyphs: 42)</small></h1>
|
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon
|
||||||
</div>
|
<small class="fgc1">(Glyphs: 42)</small>
|
||||||
<div class="clearfix mhl ptl">
|
</h1>
|
||||||
<h1 class="mvm mtn bshadow fgc1">Grid Size: 16</h1>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="clearfix mhl ptl">
|
||||||
|
<h1 class="mvm mtn bshadow fgc1">Grid Size: 16</h1>
|
||||||
|
|
||||||
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-music"></span><span class="mls"> icon-music</span>
|
<span class="icon-music"></span><span class="mls"> icon-music</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e600" class="unit size1of2" />
|
<input type="text" readonly value="e600" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-headphones"></span><span class="mls"> icon-headphones</span>
|
<span class="icon-headphones"></span><span class="mls"> icon-headphones</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e601" class="unit size1of2" />
|
<input type="text" readonly value="e601" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-connection"></span><span class="mls"> icon-connection</span>
|
<span class="icon-connection"></span><span class="mls"> icon-connection</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e602" class="unit size1of2" />
|
<input type="text" readonly value="e602" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-book"></span><span class="mls"> icon-book</span>
|
<span class="icon-book"></span><span class="mls"> icon-book</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e603" class="unit size1of2" />
|
<input type="text" readonly value="e603" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-books"></span><span class="mls"> icon-books</span>
|
<span class="icon-books"></span><span class="mls"> icon-books</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e604" class="unit size1of2" />
|
<input type="text" readonly value="e604" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-file"></span><span class="mls"> icon-file</span>
|
<span class="icon-file"></span><span class="mls"> icon-file</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e605" class="unit size1of2" />
|
<input type="text" readonly value="e605" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-folder"></span><span class="mls"> icon-folder</span>
|
<span class="icon-folder"></span><span class="mls"> icon-folder</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e606" class="unit size1of2" />
|
<input type="text" readonly value="e606" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-folder-open"></span><span class="mls"> icon-folder-open</span>
|
<span class="icon-folder-open"></span><span class="mls"> icon-folder-open</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e607" class="unit size1of2" />
|
<input type="text" readonly value="e607" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-cabinet"></span><span class="mls"> icon-cabinet</span>
|
<span class="icon-cabinet"></span><span class="mls"> icon-cabinet</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e608" class="unit size1of2" />
|
<input type="text" readonly value="e608" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-spinner"></span><span class="mls"> icon-spinner</span>
|
<span class="icon-spinner"></span><span class="mls"> icon-spinner</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e609" class="unit size1of2" />
|
<input type="text" readonly value="e609" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-cog"></span><span class="mls"> icon-cog</span>
|
<span class="icon-cog"></span><span class="mls"> icon-cog</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e60a" class="unit size1of2" />
|
<input type="text" readonly value="e60a" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-switch"></span><span class="mls"> icon-switch</span>
|
<span class="icon-switch"></span><span class="mls"> icon-switch</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e60b" class="unit size1of2" />
|
<input type="text" readonly value="e60b" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-list"></span><span class="mls"> icon-list</span>
|
<span class="icon-list"></span><span class="mls"> icon-list</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e60c" class="unit size1of2" />
|
<input type="text" readonly value="e60c" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-list2"></span><span class="mls"> icon-list2</span>
|
<span class="icon-list2"></span><span class="mls"> icon-list2</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e60d" class="unit size1of2" />
|
<input type="text" readonly value="e60d" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-numbered-list"></span><span class="mls"> icon-numbered-list</span>
|
<span class="icon-numbered-list"></span><span class="mls"> icon-numbered-list</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e60e" class="unit size1of2" />
|
<input type="text" readonly value="e60e" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-menu"></span><span class="mls"> icon-menu</span>
|
<span class="icon-menu"></span><span class="mls"> icon-menu</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e60f" class="unit size1of2" />
|
<input type="text" readonly value="e60f" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-spam"></span><span class="mls"> icon-spam</span>
|
<span class="icon-spam"></span><span class="mls"> icon-spam</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e610" class="unit size1of2" />
|
<input type="text" readonly value="e610" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-close"></span><span class="mls"> icon-close</span>
|
<span class="icon-close"></span><span class="mls"> icon-close</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e611" class="unit size1of2" />
|
<input type="text" readonly value="e611" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-checkmark"></span><span class="mls"> icon-checkmark</span>
|
<span class="icon-checkmark"></span><span class="mls"> icon-checkmark</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e612" class="unit size1of2" />
|
<input type="text" readonly value="e612" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-minus"></span><span class="mls"> icon-minus</span>
|
<span class="icon-minus"></span><span class="mls"> icon-minus</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e613" class="unit size1of2" />
|
<input type="text" readonly value="e613" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-plus"></span><span class="mls"> icon-plus</span>
|
<span class="icon-plus"></span><span class="mls"> icon-plus</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e614" class="unit size1of2" />
|
<input type="text" readonly value="e614" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-play"></span><span class="mls"> icon-play</span>
|
<span class="icon-play"></span><span class="mls"> icon-play</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e615" class="unit size1of2" />
|
<input type="text" readonly value="e615" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-pause"></span><span class="mls"> icon-pause</span>
|
<span class="icon-pause"></span><span class="mls"> icon-pause</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e616" class="unit size1of2" />
|
<input type="text" readonly value="e616" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-stop"></span><span class="mls"> icon-stop</span>
|
<span class="icon-stop"></span><span class="mls"> icon-stop</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e617" class="unit size1of2" />
|
<input type="text" readonly value="e617" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-backward"></span><span class="mls"> icon-backward</span>
|
<span class="icon-backward"></span><span class="mls"> icon-backward</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e618" class="unit size1of2" />
|
<input type="text" readonly value="e618" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-forward"></span><span class="mls"> icon-forward</span>
|
<span class="icon-forward"></span><span class="mls"> icon-forward</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e619" class="unit size1of2" />
|
<input type="text" readonly value="e619" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-first"></span><span class="mls"> icon-first</span>
|
<span class="icon-first"></span><span class="mls"> icon-first</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e61a" class="unit size1of2" />
|
<input type="text" readonly value="e61a" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-last"></span><span class="mls"> icon-last</span>
|
<span class="icon-last"></span><span class="mls"> icon-last</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e61b" class="unit size1of2" />
|
<input type="text" readonly value="e61b" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-previous"></span><span class="mls"> icon-previous</span>
|
<span class="icon-previous"></span><span class="mls"> icon-previous</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e61c" class="unit size1of2" />
|
<input type="text" readonly value="e61c" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-next"></span><span class="mls"> icon-next</span>
|
<span class="icon-next"></span><span class="mls"> icon-next</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e61d" class="unit size1of2" />
|
<input type="text" readonly value="e61d" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-eject"></span><span class="mls"> icon-eject</span>
|
<span class="icon-eject"></span><span class="mls"> icon-eject</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e61e" class="unit size1of2" />
|
<input type="text" readonly value="e61e" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-volume-high"></span><span class="mls"> icon-volume-high</span>
|
<span class="icon-volume-high"></span><span class="mls"> icon-volume-high</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e61f" class="unit size1of2" />
|
<input type="text" readonly value="e61f" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-volume-medium"></span><span class="mls"> icon-volume-medium</span>
|
<span class="icon-volume-medium"></span><span class="mls"> icon-volume-medium</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e620" class="unit size1of2" />
|
<input type="text" readonly value="e620" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-volume-low"></span><span class="mls"> icon-volume-low</span>
|
<span class="icon-volume-low"></span><span class="mls"> icon-volume-low</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e621" class="unit size1of2" />
|
<input type="text" readonly value="e621" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-volume-mute"></span><span class="mls"> icon-volume-mute</span>
|
<span class="icon-volume-mute"></span><span class="mls"> icon-volume-mute</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e622" class="unit size1of2" />
|
<input type="text" readonly value="e622" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-volume-mute2"></span><span class="mls"> icon-volume-mute2</span>
|
<span class="icon-volume-mute2"></span><span class="mls"> icon-volume-mute2</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e623" class="unit size1of2" />
|
<input type="text" readonly value="e623" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-volume-increase"></span><span class="mls"> icon-volume-increase</span>
|
<span class="icon-volume-increase"></span><span class="mls"> icon-volume-increase</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e624" class="unit size1of2" />
|
<input type="text" readonly value="e624" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-volume-decrease"></span><span class="mls"> icon-volume-decrease</span>
|
<span class="icon-volume-decrease"></span><span class="mls"> icon-volume-decrease</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e625" class="unit size1of2" />
|
<input type="text" readonly value="e625" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-loop"></span><span class="mls"> icon-loop</span>
|
<span class="icon-loop"></span><span class="mls"> icon-loop</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e626" class="unit size1of2" />
|
<input type="text" readonly value="e626" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-loop2"></span><span class="mls"> icon-loop2</span>
|
<span class="icon-loop2"></span><span class="mls"> icon-loop2</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e627" class="unit size1of2" />
|
<input type="text" readonly value="e627" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-loop3"></span><span class="mls"> icon-loop3</span>
|
<span class="icon-loop3"></span><span class="mls"> icon-loop3</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e628" class="unit size1of2" />
|
<input type="text" readonly value="e628" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="icon-shuffle"></span><span class="mls"> icon-shuffle</span>
|
<span class="icon-shuffle"></span><span class="mls"> icon-shuffle</span>
|
||||||
</div>
|
</div>
|
||||||
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
<fieldset class="fs0 size1of1 clearfix hidden-false">
|
||||||
<input type="text" readonly value="e629" class="unit size1of2" />
|
<input type="text" readonly value="e629" class="unit size1of2"/>
|
||||||
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right" />
|
<input type="text" maxlength="1" readonly value="" class="unitRight size1of2 talign-right"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fs0 bshadow0 clearfix hidden-true">
|
<div class="fs0 bshadow0 clearfix hidden-true">
|
||||||
<span class="unit pvs fgc1">liga: </span>
|
<span class="unit pvs fgc1">liga: </span>
|
||||||
<input type="text" readonly value="" class="liga unitRight" />
|
<input type="text" readonly value="" class="liga unitRight"/>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--[if gt IE 8]><!-->
|
<!--[if gt IE 8]><!-->
|
||||||
<div class="mhl clearfix mbl">
|
<div class="mhl clearfix mbl">
|
||||||
<h1>Font Test Drive</h1>
|
<h1>Font Test Drive</h1>
|
||||||
<label>
|
<label>
|
||||||
Font Size: <input id="fontSize" type="number" class="textbox0 mbm"
|
Font Size: <input id="fontSize" type="number" class="textbox0 mbm"
|
||||||
min="8" value="48" />
|
min="8" value="48"/>
|
||||||
px
|
px
|
||||||
</label>
|
</label>
|
||||||
<input id="testText" type="text" class="phl size1of1 mvl"
|
<input id="testText" type="text" class="phl size1of1 mvl"
|
||||||
@@ -574,12 +578,12 @@
|
|||||||
</label>
|
</label>
|
||||||
<div id="testDrive" class="icon-">
|
<div id="testDrive" class="icon-">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--<![endif]-->
|
<!--<![endif]-->
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<p class="mhl">Generated by <a href="http://icomoon.io/app">IcoMoon</a></p>
|
<p class="mhl">Generated by <a href="http://icomoon.io/app">IcoMoon</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="demo-files/demo.js"></script>
|
<script src="demo-files/demo.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,18 +1,21 @@
|
|||||||
|
import logging
|
||||||
|
|
||||||
|
import mopidy.models
|
||||||
|
|
||||||
from .list_view import ListView
|
from .list_view import ListView
|
||||||
from .touch_manager import TouchManager
|
from .touch_manager import TouchManager
|
||||||
import logging
|
|
||||||
import mopidy.models
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class LibraryScreen():
|
class LibraryScreen():
|
||||||
|
|
||||||
def __init__(self, size, base_size, manager):
|
def __init__(self, size, base_size, manager):
|
||||||
self.size = size
|
self.size = size
|
||||||
self.base_size = base_size
|
self.base_size = base_size
|
||||||
self.manager = manager
|
self.manager = manager
|
||||||
self.list_view = ListView((0,self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
|
self.list_view = ListView((0, self.base_size), (self.size[0], self.size[1] - 2 * self.base_size),
|
||||||
|
self.base_size, manager.fonts['base'])
|
||||||
self.directory_list = []
|
self.directory_list = []
|
||||||
self.current_directory = None
|
self.current_directory = None
|
||||||
self.library = None
|
self.library = None
|
||||||
@@ -50,7 +53,7 @@ class LibraryScreen():
|
|||||||
if clicked == 0:
|
if clicked == 0:
|
||||||
self.go_up_directory()
|
self.go_up_directory()
|
||||||
else:
|
else:
|
||||||
self.play_uri(self.library[clicked-1].uri, False)
|
self.play_uri(self.library[clicked - 1].uri, False)
|
||||||
else:
|
else:
|
||||||
self.play_uri(self.library[clicked].uri, False)
|
self.play_uri(self.library[clicked].uri, False)
|
||||||
else:
|
else:
|
||||||
@@ -58,10 +61,10 @@ class LibraryScreen():
|
|||||||
if clicked == 0:
|
if clicked == 0:
|
||||||
self.go_up_directory()
|
self.go_up_directory()
|
||||||
else:
|
else:
|
||||||
if self.library[clicked-1].type == mopidy.models.Ref.TRACK:
|
if self.library[clicked - 1].type == mopidy.models.Ref.TRACK:
|
||||||
self.play_uri(self.library[clicked-1].uri, True)
|
self.play_uri(self.library[clicked - 1].uri, True)
|
||||||
else:
|
else:
|
||||||
self.go_inside_directory(self.library[clicked-1].uri)
|
self.go_inside_directory(self.library[clicked - 1].uri)
|
||||||
else:
|
else:
|
||||||
if self.library[clicked].type == mopidy.models.Track:
|
if self.library[clicked].type == mopidy.models.Track:
|
||||||
self.play_uri(self.library[clicked].uri, True)
|
self.play_uri(self.library[clicked].uri, True)
|
||||||
@@ -72,7 +75,8 @@ class LibraryScreen():
|
|||||||
self.manager.core.tracklist.clear()
|
self.manager.core.tracklist.clear()
|
||||||
if track:
|
if track:
|
||||||
self.manager.core.tracklist.add(uri=uri)
|
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()
|
self.manager.core.playback.play()
|
||||||
|
else:
|
||||||
|
#TODO: add folder to tracks to play
|
||||||
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -1,40 +1,38 @@
|
|||||||
from .screen_objects import ScreenObjectsManager
|
|
||||||
import logging
|
|
||||||
import pygame
|
|
||||||
from .touch_manager import TouchManager
|
from .touch_manager import TouchManager
|
||||||
from .touch_manager import TouchEvent
|
|
||||||
from .screen_objects import *
|
from .screen_objects import *
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class ListView():
|
class ListView():
|
||||||
|
def __init__(self, pos, size, base_size, font):
|
||||||
def __init__(self, pos, size, base_size, fonts):
|
|
||||||
self.size = size
|
self.size = size
|
||||||
self.pos = pos
|
self.pos = pos
|
||||||
self.base_size = base_size
|
self.base_size = base_size
|
||||||
self.screen_objects = ScreenObjectsManager()
|
self.screen_objects = ScreenObjectsManager()
|
||||||
self.max_rows = self.size[1] / self.base_size
|
self.max_rows = self.size[1] / self.base_size
|
||||||
self.current_item = 0
|
self.current_item = 0
|
||||||
self.fonts = fonts
|
self.font = font
|
||||||
self.list_size = 0
|
self.list_size = 0
|
||||||
self.list = []
|
self.list = []
|
||||||
self.scrollbar = False
|
self.scrollbar = False
|
||||||
self.set_list([])
|
self.set_list([])
|
||||||
self.selected = []
|
self.selected = []
|
||||||
|
|
||||||
|
#Sets the list for the lisview. It should be an iterable of strings
|
||||||
def set_list(self, item_list):
|
def set_list(self, item_list):
|
||||||
self.list = item_list
|
self.list = item_list
|
||||||
self.list_size = len(item_list)
|
self.list_size = len(item_list)
|
||||||
if self.max_rows < self.list_size:
|
if self.max_rows < self.list_size:
|
||||||
self.scrollbar = True
|
self.scrollbar = True
|
||||||
scroll_bar = ScrollBar((self.pos[0]+self.size[0]-self.base_size,self.pos[1]), (self.base_size, self.size[1]),self.list_size,self.max_rows)
|
scroll_bar = ScrollBar((self.pos[0] + self.size[0] - self.base_size, self.pos[1]),
|
||||||
|
(self.base_size, self.size[1]), self.list_size, self.max_rows)
|
||||||
self.screen_objects.set_touch_object("scrollbar", scroll_bar)
|
self.screen_objects.set_touch_object("scrollbar", scroll_bar)
|
||||||
else:
|
else:
|
||||||
self.scrollbar = False
|
self.scrollbar = False
|
||||||
self.load_new_item_position(0)
|
self.load_new_item_position(0)
|
||||||
|
|
||||||
|
#Will load items currently displaying in item_pos
|
||||||
def load_new_item_position(self, item_pos):
|
def load_new_item_position(self, item_pos):
|
||||||
self.current_item = item_pos
|
self.current_item = item_pos
|
||||||
if self.scrollbar:
|
if self.scrollbar:
|
||||||
@@ -48,7 +46,8 @@ class ListView():
|
|||||||
else:
|
else:
|
||||||
width = self.size[0]
|
width = self.size[0]
|
||||||
while i < self.list_size and z < self.max_rows:
|
while i < self.list_size and z < self.max_rows:
|
||||||
item = TouchAndTextItem(self.fonts['base'], self.list[i], (self.pos[0], self.pos[1]+self.base_size*z), (width, -1))
|
item = TouchAndTextItem(self.font, self.list[i], (self.pos[0], self.pos[1] + self.base_size * z),
|
||||||
|
(width, -1))
|
||||||
self.screen_objects.set_touch_object(str(i), item)
|
self.screen_objects.set_touch_object(str(i), item)
|
||||||
i += 1
|
i += 1
|
||||||
z += 1
|
z += 1
|
||||||
@@ -73,6 +72,9 @@ class ListView():
|
|||||||
elif touch_event.direction == TouchManager.down:
|
elif touch_event.direction == TouchManager.down:
|
||||||
self.move_to(1)
|
self.move_to(1)
|
||||||
|
|
||||||
|
#Scroll to direction
|
||||||
|
#direction == 1 will scroll down
|
||||||
|
#direction == -1 will scroll up
|
||||||
def move_to(self, direction):
|
def move_to(self, direction):
|
||||||
if self.scrollbar:
|
if self.scrollbar:
|
||||||
if direction == 1:
|
if direction == 1:
|
||||||
@@ -89,6 +91,7 @@ class ListView():
|
|||||||
self.screen_objects.get_touch_object("scrollbar").set_item(self.current_item)
|
self.screen_objects.get_touch_object("scrollbar").set_item(self.current_item)
|
||||||
self.set_selected(self.selected)
|
self.set_selected(self.selected)
|
||||||
|
|
||||||
|
#Set selected items
|
||||||
def set_selected(self, selected):
|
def set_selected(self, selected):
|
||||||
for number in self.selected:
|
for number in self.selected:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ from threading import Thread
|
|||||||
import urllib
|
import urllib
|
||||||
import urllib2
|
import urllib2
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from .touch_manager import TouchManager
|
from .touch_manager import TouchManager
|
||||||
from .screen_objects import *
|
from .screen_objects import *
|
||||||
|
|
||||||
@@ -34,8 +35,11 @@ class MainScreen():
|
|||||||
if self.track is not None:
|
if self.track is not None:
|
||||||
if self.image is not None:
|
if self.image is not None:
|
||||||
screen.blit(self.image, (self.base_size / 2, self.base_size + self.base_size / 2))
|
screen.blit(self.image, (self.base_size / 2, self.base_size + self.base_size / 2))
|
||||||
self.touch_text_manager.get_touch_object("time_progress").set_value(self.core.playback.time_position.get() / 1000)
|
self.touch_text_manager.get_touch_object("time_progress").set_value(
|
||||||
self.touch_text_manager.get_touch_object("time_progress").set_text(time.strftime('%M:%S', time.gmtime(self.core.playback.time_position.get() / 1000)) + "/" + time.strftime('%M:%S', time.gmtime(self.track.length / 1000)))
|
self.core.playback.time_position.get() / 1000)
|
||||||
|
self.touch_text_manager.get_touch_object("time_progress").set_text(time.strftime('%M:%S', time.gmtime(
|
||||||
|
self.core.playback.time_position.get() / 1000)) + "/" + time.strftime('%M:%S', time.gmtime(
|
||||||
|
self.track.length / 1000)))
|
||||||
self.touch_text_manager.render(screen)
|
self.touch_text_manager.render(screen)
|
||||||
return screen
|
return screen
|
||||||
|
|
||||||
@@ -49,12 +53,14 @@ class MainScreen():
|
|||||||
for artist in track.artists:
|
for artist in track.artists:
|
||||||
self.artists.append(artist)
|
self.artists.append(artist)
|
||||||
|
|
||||||
#Track name
|
# Track name
|
||||||
label = TextItem(self.fonts['base'], MainScreen.get_track_name(track), (x, self.base_size * 2), (width, self.size[1]))
|
label = TextItem(self.fonts['base'], MainScreen.get_track_name(track), (x, self.base_size * 2),
|
||||||
|
(width, self.size[1]))
|
||||||
self.touch_text_manager.set_object("track_name", label)
|
self.touch_text_manager.set_object("track_name", label)
|
||||||
|
|
||||||
#Album name
|
#Album name
|
||||||
label = TextItem(self.fonts['base'], MainScreen.get_track_album_name(track), (x, self.base_size * 3), (width, self.size[1]))
|
label = TextItem(self.fonts['base'], MainScreen.get_track_album_name(track), (x, self.base_size * 3),
|
||||||
|
(width, self.size[1]))
|
||||||
self.touch_text_manager.set_object("album_name", label)
|
self.touch_text_manager.set_object("album_name", label)
|
||||||
|
|
||||||
#Artist
|
#Artist
|
||||||
@@ -129,11 +135,13 @@ class MainScreen():
|
|||||||
# There is no cover so it will use all the screen size for the text
|
# There is no cover so it will use all the screen size for the text
|
||||||
width = self.size[0] - self.base_size
|
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),
|
current = TextItem(self.fonts['base'], MainScreen.get_track_name(self.track),
|
||||||
|
(self.base_size / 2, self.base_size * 2),
|
||||||
(width, -1))
|
(width, -1))
|
||||||
self.touch_text_manager.set_object("track_name", current)
|
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),
|
current = TextItem(self.fonts['base'], MainScreen.get_track_album_name(self.track),
|
||||||
|
(self.base_size / 2, self.base_size * 3),
|
||||||
(width, -1))
|
(width, -1))
|
||||||
self.touch_text_manager.set_object("album_name", current)
|
self.touch_text_manager.set_object("album_name", current)
|
||||||
|
|
||||||
@@ -204,7 +212,7 @@ class MainScreen():
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_track_album_name(track):
|
def get_track_album_name(track):
|
||||||
if track.album is not None and track.album.name is not None and len(track.album.name)>0:
|
if track.album is not None and track.album.name is not None and len(track.album.name) > 0:
|
||||||
return track.album.name
|
return track.album.name
|
||||||
else:
|
else:
|
||||||
return "Unknow Album"
|
return "Unknow Album"
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
from .list_view import ListView
|
|
||||||
from .screen_objects import *
|
|
||||||
import mopidy
|
|
||||||
import os
|
import os
|
||||||
import socket
|
import socket
|
||||||
|
|
||||||
|
import mopidy
|
||||||
|
|
||||||
|
from .screen_objects import *
|
||||||
|
|
||||||
|
|
||||||
class MenuScreen():
|
class MenuScreen():
|
||||||
|
|
||||||
def __init__(self, size, base_size, manager):
|
def __init__(self, size, base_size, manager):
|
||||||
self.size = size
|
self.size = size
|
||||||
self.base_size = base_size
|
self.base_size = base_size
|
||||||
@@ -14,22 +14,25 @@ class MenuScreen():
|
|||||||
self.ip = None
|
self.ip = None
|
||||||
self.screen_objects = ScreenObjectsManager()
|
self.screen_objects = ScreenObjectsManager()
|
||||||
|
|
||||||
#Exit mopidy button
|
# Exit mopidy button
|
||||||
button = TouchAndTextItem(self.manager.fonts['icon'], u"\ue611", (0, self.base_size), None)
|
button = TouchAndTextItem(self.manager.fonts['icon'], u"\ue611", (0, self.base_size), None)
|
||||||
self.screen_objects.set_touch_object("exit_icon", button)
|
self.screen_objects.set_touch_object("exit_icon", button)
|
||||||
button = TouchAndTextItem(self.manager.fonts['base'], "Exit Mopidy", (button.get_right_pos(), self.base_size), None)
|
button = TouchAndTextItem(self.manager.fonts['base'], "Exit Mopidy", (button.get_right_pos(), self.base_size),
|
||||||
|
None)
|
||||||
self.screen_objects.set_touch_object("exit", button)
|
self.screen_objects.set_touch_object("exit", button)
|
||||||
|
|
||||||
#Shutdown button
|
#Shutdown button
|
||||||
button = TouchAndTextItem(self.manager.fonts['icon'], u"\ue60b", (0, self.base_size * 2), None)
|
button = TouchAndTextItem(self.manager.fonts['icon'], u"\ue60b", (0, self.base_size * 2), None)
|
||||||
self.screen_objects.set_touch_object("shutdown_icon", button)
|
self.screen_objects.set_touch_object("shutdown_icon", button)
|
||||||
button = TouchAndTextItem(self.manager.fonts['base'], "Shutdown", (button.get_right_pos(), self.base_size * 2), None)
|
button = TouchAndTextItem(self.manager.fonts['base'], "Shutdown", (button.get_right_pos(), self.base_size * 2),
|
||||||
|
None)
|
||||||
self.screen_objects.set_touch_object("shutdown", button)
|
self.screen_objects.set_touch_object("shutdown", button)
|
||||||
|
|
||||||
#Restart button
|
#Restart button
|
||||||
button = TouchAndTextItem(self.manager.fonts['icon'], u"\ue609", (0, self.base_size * 3), None)
|
button = TouchAndTextItem(self.manager.fonts['icon'], u"\ue609", (0, self.base_size * 3), None)
|
||||||
self.screen_objects.set_touch_object("restart_icon", button)
|
self.screen_objects.set_touch_object("restart_icon", button)
|
||||||
button = TouchAndTextItem(self.manager.fonts['base'], "Restart", (button.get_right_pos(), self.base_size * 3), None)
|
button = TouchAndTextItem(self.manager.fonts['base'], "Restart", (button.get_right_pos(), self.base_size * 3),
|
||||||
|
None)
|
||||||
self.screen_objects.set_touch_object("restart", button)
|
self.screen_objects.set_touch_object("restart", button)
|
||||||
|
|
||||||
#IP addres
|
#IP addres
|
||||||
@@ -40,22 +43,26 @@ class MenuScreen():
|
|||||||
#self.list_view.set_list(["Exit mopidy", "Shutdown", "Restart"])
|
#self.list_view.set_list(["Exit mopidy", "Shutdown", "Restart"])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def update(self, screen):
|
def update(self, screen):
|
||||||
self.screen_objects.render(screen)
|
self.screen_objects.render(screen)
|
||||||
#self.list_view.render(screen)
|
# self.list_view.render(screen)
|
||||||
|
|
||||||
def touch_event(self, touch_event):
|
def touch_event(self, touch_event):
|
||||||
#clicked = self.list_view.touch_event(touch_event)
|
# clicked = self.list_view.touch_event(touch_event)
|
||||||
clicked = self.screen_objects.get_touch_objects_in_pos(touch_event.current_pos)
|
clicked = self.screen_objects.get_touch_objects_in_pos(touch_event.current_pos)
|
||||||
for key in clicked:
|
for key in clicked:
|
||||||
if key == "exit_icon" or key == "exit":
|
if key == "exit_icon" or key == "exit":
|
||||||
mopidy.utils.process.exit_process()
|
mopidy.utils.process.exit_process()
|
||||||
elif key == "shutdown_icon" or key == "shutdown":
|
elif key == "shutdown_icon" or key == "shutdown":
|
||||||
|
if os.system("gksu -- shutdown now -h") != 0:
|
||||||
os.system("shutdown now -h")
|
os.system("shutdown now -h")
|
||||||
|
elif key == "restart_icon" or key == "restart":
|
||||||
|
if os.system("gksu -- shutdown -r now") != 0:
|
||||||
|
os.system("shutdown -r now")
|
||||||
elif key == "ip":
|
elif key == "ip":
|
||||||
self.check_connection()
|
self.check_connection()
|
||||||
|
|
||||||
|
#Will check internet connection
|
||||||
def check_connection(self):
|
def check_connection(self):
|
||||||
try:
|
try:
|
||||||
self.manager.set_connection(False, True)
|
self.manager.set_connection(False, True)
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ from .list_view import ListView
|
|||||||
|
|
||||||
|
|
||||||
class PlaylistScreen():
|
class PlaylistScreen():
|
||||||
|
|
||||||
def __init__(self, size, base_size, manager):
|
def __init__(self, size, base_size, manager):
|
||||||
self.size = size
|
self.size = size
|
||||||
self.base_size = base_size
|
self.base_size = base_size
|
||||||
self.manager = manager
|
self.manager = manager
|
||||||
self.list_view = ListView((0,self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
|
self.list_view = ListView((0, self.base_size), (self.size[0], self.size[1] - 2 * self.base_size),
|
||||||
|
self.base_size, manager.fonts['base'])
|
||||||
self.playlists_strings = []
|
self.playlists_strings = []
|
||||||
self.playlists = []
|
self.playlists = []
|
||||||
self.playlists_loaded()
|
self.playlists_loaded()
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
import logging
|
||||||
|
import traceback
|
||||||
|
import os
|
||||||
|
import pygame
|
||||||
|
|
||||||
|
import mopidy
|
||||||
|
|
||||||
from .main_screen import MainScreen
|
from .main_screen import MainScreen
|
||||||
from .touch_manager import TouchManager
|
from .touch_manager import TouchManager
|
||||||
from .screen_objects import *
|
from .screen_objects import *
|
||||||
@@ -5,12 +12,8 @@ from .tracklist import Tracklist
|
|||||||
from .playlist_screen import PlaylistScreen
|
from .playlist_screen import PlaylistScreen
|
||||||
from .dynamic_background import DynamicBackground
|
from .dynamic_background import DynamicBackground
|
||||||
from .library_screen import LibraryScreen
|
from .library_screen import LibraryScreen
|
||||||
import logging
|
|
||||||
import mopidy
|
|
||||||
import traceback
|
|
||||||
import os
|
|
||||||
from .menu_screen import MenuScreen
|
from .menu_screen import MenuScreen
|
||||||
import pygame
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -24,7 +27,7 @@ class ScreenManager():
|
|||||||
self.background = DynamicBackground()
|
self.background = DynamicBackground()
|
||||||
self.current_screen = 0
|
self.current_screen = 0
|
||||||
self.base_size = self.size[1] / 8
|
self.base_size = self.size[1] / 8
|
||||||
font = os.path.join(os.path.dirname(os.path.realpath(__file__)),"fonts","icomoon","fonts", "icomoon.ttf")
|
font = os.path.join(os.path.dirname(os.path.realpath(__file__)), "fonts", "icomoon", "fonts", "icomoon.ttf")
|
||||||
self.fonts['base'] = pygame.font.SysFont("verdana", self.base_size)
|
self.fonts['base'] = pygame.font.SysFont("verdana", self.base_size)
|
||||||
self.fonts['icon'] = pygame.font.Font(font, self.base_size)
|
self.fonts['icon'] = pygame.font.Font(font, self.base_size)
|
||||||
try:
|
try:
|
||||||
@@ -43,7 +46,7 @@ class ScreenManager():
|
|||||||
self.top_bar = pygame.Surface((self.size[0], self.base_size), pygame.SRCALPHA)
|
self.top_bar = pygame.Surface((self.size[0], self.base_size), pygame.SRCALPHA)
|
||||||
self.top_bar.fill((0, 0, 0, 128))
|
self.top_bar.fill((0, 0, 0, 128))
|
||||||
|
|
||||||
#Play/pause
|
# Play/pause
|
||||||
button = TouchAndTextItem(self.fonts['icon'], u"\ue615 ", (0, 0), None)
|
button = TouchAndTextItem(self.fonts['icon'], u"\ue615 ", (0, 0), None)
|
||||||
self.screen_objects_manager.set_touch_object("pause_play", button)
|
self.screen_objects_manager.set_touch_object("pause_play", button)
|
||||||
x = button.get_right_pos()
|
x = button.get_right_pos()
|
||||||
@@ -80,7 +83,7 @@ class ScreenManager():
|
|||||||
|
|
||||||
#Menu buttons
|
#Menu buttons
|
||||||
|
|
||||||
button_size = (self.size[0]/5, self.base_size)
|
button_size = (self.size[0] / 5, self.base_size)
|
||||||
|
|
||||||
#Main button
|
#Main button
|
||||||
button = TouchAndTextItem(self.fonts['icon'], u" \ue600", (0, self.base_size * 7), button_size)
|
button = TouchAndTextItem(self.fonts['icon'], u" \ue600", (0, self.base_size * 7), button_size)
|
||||||
@@ -206,9 +209,9 @@ class ScreenManager():
|
|||||||
self.screen_objects_manager.get_touch_object("single").set_active(self.core.tracklist.single.get())
|
self.screen_objects_manager.get_touch_object("single").set_active(self.core.tracklist.single.get())
|
||||||
|
|
||||||
def change_screen(self, new_screen):
|
def change_screen(self, new_screen):
|
||||||
self.screen_objects_manager.get_touch_object("menu_"+str(self.current_screen)).set_active(False)
|
self.screen_objects_manager.get_touch_object("menu_" + str(self.current_screen)).set_active(False)
|
||||||
self.current_screen = new_screen
|
self.current_screen = new_screen
|
||||||
self.screen_objects_manager.get_touch_object("menu_"+str(new_screen)).set_active(True)
|
self.screen_objects_manager.get_touch_object("menu_" + str(new_screen)).set_active(True)
|
||||||
|
|
||||||
def playlists_loaded(self):
|
def playlists_loaded(self):
|
||||||
self.screens[3].playlists_loaded()
|
self.screens[3].playlists_loaded()
|
||||||
@@ -216,10 +219,10 @@ class ScreenManager():
|
|||||||
def set_connection(self, connection, loading):
|
def set_connection(self, connection, loading):
|
||||||
internet = self.screen_objects_manager.get_touch_object("internet")
|
internet = self.screen_objects_manager.get_touch_object("internet")
|
||||||
if loading:
|
if loading:
|
||||||
internet.set_text(u"\ue627",None)
|
internet.set_text(u"\ue627", None)
|
||||||
internet.set_active(False)
|
internet.set_active(False)
|
||||||
else:
|
else:
|
||||||
internet.set_text(u"\ue602",None)
|
internet.set_text(u"\ue602", None)
|
||||||
internet.set_active(connection)
|
internet.set_active(connection)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
class ScreenObjectsManager():
|
class ScreenObjectsManager():
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.touch_objects = {}
|
self.touch_objects = {}
|
||||||
self.text_objects = {}
|
self.text_objects = {}
|
||||||
@@ -49,7 +48,6 @@ class ScreenObjectsManager():
|
|||||||
|
|
||||||
|
|
||||||
class BaseItem():
|
class BaseItem():
|
||||||
|
|
||||||
def __init__(self, pos, size):
|
def __init__(self, pos, size):
|
||||||
self.pos = pos
|
self.pos = pos
|
||||||
self.size = size
|
self.size = size
|
||||||
@@ -64,7 +62,6 @@ class BaseItem():
|
|||||||
|
|
||||||
|
|
||||||
class TextItem(BaseItem):
|
class TextItem(BaseItem):
|
||||||
|
|
||||||
def __init__(self, font, text, pos, size):
|
def __init__(self, font, text, pos, size):
|
||||||
self.font = font
|
self.font = font
|
||||||
self.text = text
|
self.text = text
|
||||||
@@ -126,7 +123,6 @@ class TextItem(BaseItem):
|
|||||||
|
|
||||||
|
|
||||||
class TouchObject(BaseItem):
|
class TouchObject(BaseItem):
|
||||||
|
|
||||||
def __init__(self, pos, size):
|
def __init__(self, pos, size):
|
||||||
BaseItem.__init__(self, pos, size)
|
BaseItem.__init__(self, pos, size)
|
||||||
self.active = False
|
self.active = False
|
||||||
@@ -139,7 +135,6 @@ class TouchObject(BaseItem):
|
|||||||
|
|
||||||
|
|
||||||
class TouchAndTextItem(TouchObject, TextItem):
|
class TouchAndTextItem(TouchObject, TextItem):
|
||||||
|
|
||||||
def __init__(self, font, text, pos, size):
|
def __init__(self, font, text, pos, size):
|
||||||
TextItem.__init__(self, font, text, pos, size)
|
TextItem.__init__(self, font, text, pos, size)
|
||||||
TouchObject.__init__(self, pos, self.size)
|
TouchObject.__init__(self, pos, self.size)
|
||||||
@@ -162,14 +157,13 @@ class TouchAndTextItem(TouchObject, TextItem):
|
|||||||
else:
|
else:
|
||||||
self.box = self.font.render(self.text, True, self.color)
|
self.box = self.font.render(self.text, True, self.color)
|
||||||
if self.active:
|
if self.active:
|
||||||
#Area h*2 to render letters like g, j, y...
|
# Area h*2 to render letters like g, j, y...
|
||||||
surface.blit(self.active_box, self.pos, area=self.rect)
|
surface.blit(self.active_box, self.pos, area=self.rect)
|
||||||
else:
|
else:
|
||||||
surface.blit(self.box, self.pos, area=self.rect)
|
surface.blit(self.box, self.pos, area=self.rect)
|
||||||
|
|
||||||
|
|
||||||
class Progressbar(TouchObject):
|
class Progressbar(TouchObject):
|
||||||
|
|
||||||
def __init__(self, font, text, pos, size, max_value, value_text):
|
def __init__(self, font, text, pos, size, max_value, value_text):
|
||||||
BaseItem.__init__(self, pos, size)
|
BaseItem.__init__(self, pos, size)
|
||||||
self.value = 0
|
self.value = 0
|
||||||
@@ -212,9 +206,8 @@ class Progressbar(TouchObject):
|
|||||||
|
|
||||||
|
|
||||||
class ScrollBar(TouchObject):
|
class ScrollBar(TouchObject):
|
||||||
|
|
||||||
def __init__(self, pos, size, max_value, items_on_screen):
|
def __init__(self, pos, size, max_value, items_on_screen):
|
||||||
BaseItem.__init__(self, pos, (pos[0]+size[0], pos[1]+size[1]))
|
BaseItem.__init__(self, pos, (pos[0] + size[0], pos[1] + size[1]))
|
||||||
self.pos = pos
|
self.pos = pos
|
||||||
self.size = size
|
self.size = size
|
||||||
self.max = max_value
|
self.max = max_value
|
||||||
@@ -226,16 +219,16 @@ class ScrollBar(TouchObject):
|
|||||||
if self.max < 1:
|
if self.max < 1:
|
||||||
self.bar_size = self.size[1]
|
self.bar_size = self.size[1]
|
||||||
else:
|
else:
|
||||||
self.bar_size = math.ceil(float(self.items_on_screen)/float(self.max) * float(self.size[1]))
|
self.bar_size = math.ceil(float(self.items_on_screen) / float(self.max) * float(self.size[1]))
|
||||||
self.bar = pygame.Surface((self.size[0], self.bar_size))
|
self.bar = pygame.Surface((self.size[0], self.bar_size))
|
||||||
self.bar.fill((255, 255, 255))
|
self.bar.fill((255, 255, 255))
|
||||||
|
|
||||||
def render(self, surface):
|
def render(self, surface):
|
||||||
surface.blit(self.back_bar, self.pos)
|
surface.blit(self.back_bar, self.pos)
|
||||||
surface.blit(self.bar, (self.pos[0], self.pos[1]+self.bar_pos))
|
surface.blit(self.bar, (self.pos[0], self.pos[1] + self.bar_pos))
|
||||||
|
|
||||||
def touch(self, pos):
|
def touch(self, pos):
|
||||||
if pos[1] < self.pos[1]+self.bar_pos:
|
if pos[1] < self.pos[1] + self.bar_pos:
|
||||||
return -1
|
return -1
|
||||||
elif pos[1] > self.pos[1] + self.bar_pos + self.bar_size:
|
elif pos[1] > self.pos[1] + self.bar_pos + self.bar_size:
|
||||||
return 1
|
return 1
|
||||||
@@ -244,4 +237,4 @@ class ScrollBar(TouchObject):
|
|||||||
|
|
||||||
def set_item(self, current_item):
|
def set_item(self, current_item):
|
||||||
self.current_item = current_item
|
self.current_item = current_item
|
||||||
self.bar_pos = float(self.current_item)/float(self.max) * float(self.size[1])
|
self.bar_pos = float(self.current_item) / float(self.max) * float(self.size[1])
|
||||||
@@ -6,7 +6,6 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
class TouchManager():
|
class TouchManager():
|
||||||
|
|
||||||
click = 1
|
click = 1
|
||||||
swipe = 2
|
swipe = 2
|
||||||
long_click = 3
|
long_click = 3
|
||||||
@@ -56,7 +55,6 @@ class TouchManager():
|
|||||||
self.down_time = time.time()
|
self.down_time = time.time()
|
||||||
|
|
||||||
def mouse_up(self, event):
|
def mouse_up(self, event):
|
||||||
logger.error(event.button)
|
|
||||||
self.up_pos = event.pos
|
self.up_pos = event.pos
|
||||||
if abs(self.down_pos[0] - self.up_pos[0]) < self.max_move_margin:
|
if abs(self.down_pos[0] - self.up_pos[0]) < self.max_move_margin:
|
||||||
if abs(self.down_pos[1] - self.up_pos[1]) < self.max_move_margin:
|
if abs(self.down_pos[1] - self.up_pos[1]) < self.max_move_margin:
|
||||||
@@ -72,7 +70,6 @@ class TouchManager():
|
|||||||
|
|
||||||
|
|
||||||
class TouchEvent():
|
class TouchEvent():
|
||||||
|
|
||||||
def __init__(self, event_type, down_pos, current_pos, vertical):
|
def __init__(self, event_type, down_pos, current_pos, vertical):
|
||||||
self.type = event_type
|
self.type = event_type
|
||||||
self.down_pos = down_pos
|
self.down_pos = down_pos
|
||||||
|
|||||||
@@ -3,20 +3,19 @@ import traceback
|
|||||||
import logging
|
import logging
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
import pygame
|
import pygame
|
||||||
from .screen_manager import ScreenManager
|
|
||||||
|
|
||||||
from mopidy import core
|
from mopidy import core
|
||||||
|
|
||||||
|
from .screen_manager import ScreenManager
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class TouchScreen(pykka.ThreadingActor, core.CoreListener):
|
class TouchScreen(pykka.ThreadingActor, core.CoreListener):
|
||||||
|
|
||||||
def __init__(self, config, core):
|
def __init__(self, config, core):
|
||||||
super(TouchScreen, self).__init__()
|
super(TouchScreen, self).__init__()
|
||||||
self.backend = pykka.ActorRegistry.get_by_class_name("TouchScreenBackend")[0]
|
self.backend = pykka.ActorRegistry.get_by_class_name("TouchScreenBackend")[0]
|
||||||
logger.error(self.backend)
|
|
||||||
self.core = core
|
self.core = core
|
||||||
self.running = False
|
self.running = False
|
||||||
self.screen_size = (config['touchscreen']['screen_width'], config['touchscreen']['screen_height'])
|
self.screen_size = (config['touchscreen']['screen_width'], config['touchscreen']['screen_height'])
|
||||||
@@ -24,7 +23,7 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
|
|||||||
self.fullscreen = config['touchscreen']['fullscreen']
|
self.fullscreen = config['touchscreen']['fullscreen']
|
||||||
pygame.init()
|
pygame.init()
|
||||||
pygame.mouse.set_visible(config['touchscreen']['cursor'])
|
pygame.mouse.set_visible(config['touchscreen']['cursor'])
|
||||||
self.screen_manager = ScreenManager(self.screen_size,self.core, self.backend, self.cache_dir)
|
self.screen_manager = ScreenManager(self.screen_size, self.core, self.backend, self.cache_dir)
|
||||||
|
|
||||||
def start_thread(self):
|
def start_thread(self):
|
||||||
clock = pygame.time.Clock()
|
clock = pygame.time.Clock()
|
||||||
@@ -65,7 +64,7 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
|
|||||||
def volume_changed(self, volume):
|
def volume_changed(self, volume):
|
||||||
self.screen_manager.volume_changed(volume)
|
self.screen_manager.volume_changed(volume)
|
||||||
|
|
||||||
def playback_state_changed(self,old_state, new_state):
|
def playback_state_changed(self, old_state, new_state):
|
||||||
self.screen_manager.playback_state_changed(old_state, new_state)
|
self.screen_manager.playback_state_changed(old_state, new_state)
|
||||||
|
|
||||||
def tracklist_changed(self):
|
def tracklist_changed(self):
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
import pykka
|
import pykka
|
||||||
from mopidy import backend
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from mopidy import backend
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
class TouchScreenBackend(pykka.ThreadingActor, backend.Backend):
|
|
||||||
|
|
||||||
|
class TouchScreenBackend(pykka.ThreadingActor, backend.Backend):
|
||||||
def __init__(self, config, audio):
|
def __init__(self, config, audio):
|
||||||
super(TouchScreenBackend, self).__init__()
|
super(TouchScreenBackend, self).__init__()
|
||||||
self.audio = audio
|
self.audio = audio
|
||||||
logger.error("backend funciona")
|
|
||||||
|
|
||||||
def on_receive(self, message):
|
def on_receive(self, message):
|
||||||
action = message['action']
|
action = message['action']
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
from .list_view import ListView
|
from .list_view import ListView
|
||||||
from .main_screen import MainScreen
|
from .main_screen import MainScreen
|
||||||
|
|
||||||
class Tracklist():
|
|
||||||
|
|
||||||
|
class Tracklist():
|
||||||
def __init__(self, size, base_size, manager):
|
def __init__(self, size, base_size, manager):
|
||||||
self.size = size
|
self.size = size
|
||||||
self.base_size = base_size
|
self.base_size = base_size
|
||||||
self.manager = manager
|
self.manager = manager
|
||||||
self.list_view = ListView((0, self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
|
self.list_view = ListView((0, self.base_size), (self.size[0], self.size[1] - 2 * self.base_size),
|
||||||
|
self.base_size, manager.fonts['base'])
|
||||||
self.tracks = []
|
self.tracks = []
|
||||||
self.tracks_strings = []
|
self.tracks_strings = []
|
||||||
self.update_list()
|
self.update_list()
|
||||||
|
|||||||
Reference in New Issue
Block a user