Compare commits
6 Commits
next
...
Ocarina-4.
Author | SHA1 | Date |
---|---|---|
Bryan Schumaker | a84bd85a04 | |
Bryan Schumaker | 798134b910 | |
Bryan Schumaker | f8ed8c4483 | |
Bryan Schumaker | 128415f009 | |
Bryan Schumaker | 0017c04bbf | |
Bryan Schumaker | fd198294ee |
11
Makefile
11
Makefile
|
@ -1,6 +1,13 @@
|
||||||
|
|
||||||
all: ocarina.py
|
PY = python2 -c
|
||||||
./ocarina.py
|
all: libsaria ocarina ocarina.py
|
||||||
|
.PHONY: libsaria ocarina
|
||||||
|
|
||||||
|
libsaria:
|
||||||
|
$(PY) "import compileall; compileall.compile_dir('libsaria', force=1)"
|
||||||
|
|
||||||
|
ocarina:
|
||||||
|
$(PY) "import compileall; compileall.compile_dir('ocarina', force=1)"
|
||||||
|
|
||||||
ocarina.py:
|
ocarina.py:
|
||||||
sh scripts/makebin.sh
|
sh scripts/makebin.sh
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
function set_playing()
|
function set_playing()
|
||||||
{
|
{
|
||||||
var button = document.getElementById("button");
|
var button = document.getElementById("button");
|
||||||
button.src = "images/pause.png";
|
button.src = "pause.png";
|
||||||
button.onclick = pause2;
|
button.onclick = pause2;
|
||||||
}
|
}
|
||||||
|
|
||||||
function set_paused()
|
function set_paused()
|
||||||
{
|
{
|
||||||
var button = document.getElementById("button");
|
var button = document.getElementById("button");
|
||||||
button.src = "images/play.png";
|
button.src = "play.png";
|
||||||
button.onclick = play2;
|
button.onclick = play2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ function set_play_button()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
req.open('GET', "controls.py?a=playing", true);
|
req.open('GET', "RPC/playing", true);
|
||||||
req.send();
|
req.send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,12 +72,12 @@ function stop2()
|
||||||
<tr><td id="album"></td></tr>
|
<tr><td id="album"></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table><tr>
|
<table><tr>
|
||||||
<td><img id="button" src="images/play.png" onclick="play2();" /></td>
|
<td><img id="button" src="play.png" onclick="play2();" /></td>
|
||||||
<td><img src="images/stop.png" onclick="stop2();" /></td>
|
<td><img src="stop.png" onclick="stop();" /></td>
|
||||||
<td><img src="images/next.png" onclick="next();" /></td>
|
<td><img src="next.png" onclick="next();" /></td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
<td><img src="images/rewind.png" onclick="rewind();" /></td>
|
<td><img src="rewind.png" onclick="rewind();" /></td>
|
||||||
<td><img src="images/forward.png" onclick="forward();" /></td>
|
<td><img src="forward.png" onclick="forward();" /></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
<body>
|
<body>
|
||||||
<table>
|
<table>
|
||||||
<tr><td><a href="library.html">Library Browser</a></td></tr>
|
<tr><td><a href="library.html">Library Browser</a></td></tr>
|
||||||
|
<tr><td><a href="controls.html">Remote Controls</a></td></tr>
|
||||||
<!--<tr><td><a href="library2.py">Library Browser 2</a></td></tr>
|
<!--<tr><td><a href="library2.py">Library Browser 2</a></td></tr>
|
||||||
<tr><td><a href="controls.html">Remote Controls</a></td></tr>
|
<tr><td><a href="controls.html">Remote Controls</a></td></tr>
|
||||||
<tr><td id="vers"></td><td id="up"></td></tr>-->
|
<tr><td id="vers"></td><td id="up"></td></tr>-->
|
||||||
|
|
|
@ -11,7 +11,7 @@ function set_attr(attr, id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
req.open('GET', "controls.py?a=" + attr, true);
|
req.open('GET', "RPC/" + attr, true);
|
||||||
req.send();
|
req.send();
|
||||||
setTimeout("set_attr(\"" + attr + "\", \"" + id + "\")", 3000)
|
setTimeout("set_attr(\"" + attr + "\", \"" + id + "\")", 3000)
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ function set_attr_once(attr, id)
|
||||||
document.getElementById(id).innerHTML = req.responseText;
|
document.getElementById(id).innerHTML = req.responseText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
req.open('GET', "controls.py?a=" + attr, true);
|
req.open('GET', "RPC/" + attr, true);
|
||||||
req.send();
|
req.send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ docs.update(rpc.docs)
|
||||||
types = {
|
types = {
|
||||||
"html":"text/html",
|
"html":"text/html",
|
||||||
"js":"text/javascript",
|
"js":"text/javascript",
|
||||||
|
"png":"image/png",
|
||||||
}
|
}
|
||||||
|
|
||||||
def lookup(file):
|
def lookup(file):
|
||||||
|
|
|
@ -30,6 +30,27 @@ def library(write):
|
||||||
color = "white"
|
color = "white"
|
||||||
write("</table></body></html>")
|
write("</table></body></html>")
|
||||||
|
|
||||||
|
def controls_page(write):
|
||||||
|
write_file(write, "html/controls.html")
|
||||||
|
|
||||||
|
def play_button(write):
|
||||||
|
write_file(write, "html/images/play.png")
|
||||||
|
|
||||||
|
def pause_button(write):
|
||||||
|
write_file(write, "html/images/pause.png")
|
||||||
|
|
||||||
|
def stop_button(write):
|
||||||
|
write_file(write, "html/images/stop.png")
|
||||||
|
|
||||||
|
def next_button(write):
|
||||||
|
write_file(write, "html/images/next.png")
|
||||||
|
|
||||||
|
def rewind_button(write):
|
||||||
|
write_file(write, "html/images/rewind.png")
|
||||||
|
|
||||||
|
def forward_button(write):
|
||||||
|
write_file(write, "html/images/forward.png")
|
||||||
|
|
||||||
def controls(write):
|
def controls(write):
|
||||||
write_file(write, "html/controls.js")
|
write_file(write, "html/controls.js")
|
||||||
|
|
||||||
|
@ -39,6 +60,13 @@ def utils(write):
|
||||||
docs = {
|
docs = {
|
||||||
"index.html":(index, "html"),
|
"index.html":(index, "html"),
|
||||||
"library.html":(library, "html"),
|
"library.html":(library, "html"),
|
||||||
|
"controls.html":(controls_page, "html"),
|
||||||
"controls.js":(controls, "js"),
|
"controls.js":(controls, "js"),
|
||||||
"utils.js":(utils, "js"),
|
"utils.js":(utils, "js"),
|
||||||
|
"play.png":(play_button, "png"),
|
||||||
|
"pause.png":(pause_button, "png"),
|
||||||
|
"stop.png":(stop_button, "png"),
|
||||||
|
"next.png":(next_button, "png"),
|
||||||
|
"forward.png":(rewind_button, "png"),
|
||||||
|
"rewind.png":(forward_button, "png"),
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,12 +9,44 @@ def play(write):
|
||||||
def pause(write):
|
def pause(write):
|
||||||
controls.pause()
|
controls.pause()
|
||||||
|
|
||||||
|
def next(write):
|
||||||
|
controls.next()
|
||||||
|
|
||||||
|
def stop(write):
|
||||||
|
controls.stop()
|
||||||
|
|
||||||
|
def forward(write):
|
||||||
|
controls.seek_forward()
|
||||||
|
|
||||||
|
def rewind(write):
|
||||||
|
controls.seek_backward()
|
||||||
|
|
||||||
def play_id(write, id):
|
def play_id(write, id):
|
||||||
sources.play_id(long(id[0]))
|
sources.play_id(long(id[0]))
|
||||||
|
|
||||||
|
def title(write):
|
||||||
|
write(sources.get_attrs("title")[0])
|
||||||
|
|
||||||
|
def artist(write):
|
||||||
|
write(sources.get_attrs("artist")[0])
|
||||||
|
|
||||||
|
def album(write):
|
||||||
|
write(sources.get_attrs("album")[0])
|
||||||
|
|
||||||
|
def playing(write):
|
||||||
|
write(controls.playing())
|
||||||
|
|
||||||
rpc = {
|
rpc = {
|
||||||
"play.html":(play, "html"),
|
"play":(play, "html"),
|
||||||
"pause.html":(pause, "html"),
|
"pause":(pause, "html"),
|
||||||
|
"stop":(stop, "html"),
|
||||||
|
"next":(next, "html"),
|
||||||
|
"forward":(forward, "html"),
|
||||||
|
"rewind":(rewind, "html"),
|
||||||
|
"title":(title, "html"),
|
||||||
|
"artist":(artist, "html"),
|
||||||
|
"album":(album, "html"),
|
||||||
|
"playing":(playing, "html"),
|
||||||
"play_id":(play_id, "html"),
|
"play_id":(play_id, "html"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
# Bryan Schumaker (5 / 6 / 2011)
|
# Bryan Schumaker (5 / 6 / 2011)
|
||||||
|
|
||||||
__major__ = 4
|
__major__ = 4
|
||||||
__minor__ = 9
|
__minor__ = 10
|
||||||
__bug__ = 0
|
__bug__ = 0
|
||||||
__dev__ = False
|
__dev__ = True
|
||||||
|
|
||||||
__vstr__ = "%s.%s" % (__major__, __minor__)
|
__vstr__ = "%s.%s" % (__major__, __minor__)
|
||||||
if __bug__ > 0:
|
if __bug__ > 0:
|
||||||
|
|
|
@ -18,6 +18,9 @@ def stock_image(stock_item):
|
||||||
img = gtk.image_new_from_stock(stock_item, SIZE)
|
img = gtk.image_new_from_stock(stock_item, SIZE)
|
||||||
return img
|
return img
|
||||||
|
|
||||||
|
def big_image(stock_item):
|
||||||
|
return gtk.image_new_from_stock(stock_item, gtk.ICON_SIZE_DND)
|
||||||
|
|
||||||
def file_image(file):
|
def file_image(file):
|
||||||
img = gtk.image_new_from_file(file)
|
img = gtk.image_new_from_file(file)
|
||||||
return img
|
return img
|
||||||
|
@ -43,6 +46,12 @@ def make_button(stock_item, func, tooltip, show):
|
||||||
default_button_attrs(b, stock_image(stock_item), tooltip, show)
|
default_button_attrs(b, stock_image(stock_item), tooltip, show)
|
||||||
return b
|
return b
|
||||||
|
|
||||||
|
def make_big_button(stock_item, func, tooltip, show):
|
||||||
|
b = gtk.Button()
|
||||||
|
b.connect("clicked", on_click, func)
|
||||||
|
default_button_attrs(b, big_image(stock_item), tooltip, show)
|
||||||
|
return b
|
||||||
|
|
||||||
def toggle_connect(button, func):
|
def toggle_connect(button, func):
|
||||||
button.t_id = button.connect("toggled", on_toggle, func)
|
button.t_id = button.connect("toggled", on_toggle, func)
|
||||||
button.t_func = func
|
button.t_func = func
|
||||||
|
@ -61,22 +70,22 @@ def make_toggle(img_file, func, tooltip, is_active, show):
|
||||||
|
|
||||||
|
|
||||||
def rewind_button(show):
|
def rewind_button(show):
|
||||||
return make_button(gtk.STOCK_MEDIA_REWIND, controls.seek_backward, "Rewind", show)
|
return make_big_button(gtk.STOCK_MEDIA_REWIND, controls.seek_backward, "Rewind", show)
|
||||||
|
|
||||||
def forward_button(show):
|
def forward_button(show):
|
||||||
return make_button(gtk.STOCK_MEDIA_FORWARD, controls.seek_forward, "Fast Forward", show)
|
return make_big_button(gtk.STOCK_MEDIA_FORWARD, controls.seek_forward, "Fast Forward", show)
|
||||||
|
|
||||||
def play_button(show):
|
def play_button(show):
|
||||||
return make_button(gtk.STOCK_MEDIA_PLAY, controls.play, "Play", show)
|
return make_big_button(gtk.STOCK_MEDIA_PLAY, controls.play, "Play", show)
|
||||||
|
|
||||||
def pause_button(show):
|
def pause_button(show):
|
||||||
return make_button(gtk.STOCK_MEDIA_PAUSE, controls.pause, "Pause", show)
|
return make_big_button(gtk.STOCK_MEDIA_PAUSE, controls.pause, "Pause", show)
|
||||||
|
|
||||||
def stop_button(show):
|
def stop_button(show):
|
||||||
return make_button(gtk.STOCK_MEDIA_STOP, controls.stop, "Stop", show)
|
return make_big_button(gtk.STOCK_MEDIA_STOP, controls.stop, "Stop", show)
|
||||||
|
|
||||||
def next_button(show):
|
def next_button(show):
|
||||||
return make_button(gtk.STOCK_MEDIA_NEXT, controls.next, "Next", show)
|
return make_big_button(gtk.STOCK_MEDIA_NEXT, controls.next, "Next", show)
|
||||||
|
|
||||||
def update_button(show):
|
def update_button(show):
|
||||||
return make_button(gtk.STOCK_REFRESH, sources.library.update_lib, "Update Library", show)
|
return make_button(gtk.STOCK_REFRESH, sources.library.update_lib, "Update Library", show)
|
||||||
|
|
|
@ -32,7 +32,7 @@ def slider_tooltip(slider, event):
|
||||||
slider.set_tooltip_text(audio.get_time_at(prcnt))
|
slider.set_tooltip_text(audio.get_time_at(prcnt))
|
||||||
|
|
||||||
slider = gtk.HScale( gtk.Adjustment(0.0, 0.0, 100.0, 0.1, 1.0, 1.0) )
|
slider = gtk.HScale( gtk.Adjustment(0.0, 0.0, 100.0, 0.1, 1.0, 1.0) )
|
||||||
slider.set_size_request(150, 20)
|
slider.set_size_request(800, 20)
|
||||||
slider.set_draw_value(False)
|
slider.set_draw_value(False)
|
||||||
slider.set_range(0, 101)
|
slider.set_range(0, 101)
|
||||||
slider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
|
slider.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
|
||||||
|
@ -51,7 +51,6 @@ add_button( "PLAY", button.play_button)
|
||||||
add_button( "PAUSE", button.pause_button, False)
|
add_button( "PAUSE", button.pause_button, False)
|
||||||
add_button( "STOP", button.stop_button)
|
add_button( "STOP", button.stop_button)
|
||||||
add_button( "NEXT", button.next_button)
|
add_button( "NEXT", button.next_button)
|
||||||
add_button( "DOWN", button.down_button)
|
|
||||||
action.show()
|
action.show()
|
||||||
|
|
||||||
detailed.set_action_widget(action, gtk.PACK_END)
|
detailed.set_action_widget(action, gtk.PACK_END)
|
||||||
|
@ -62,7 +61,7 @@ def set_art(path):
|
||||||
|
|
||||||
def update_pos(time):
|
def update_pos(time):
|
||||||
slider_update(slider)
|
slider_update(slider)
|
||||||
cur_pos.set_text(time)
|
cur_pos.set_markup("<span size='x-large'>%s</span>" % time)
|
||||||
|
|
||||||
def on_play():
|
def on_play():
|
||||||
PLAY.hide()
|
PLAY.hide()
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
# Bryan Schumaker (4 / 21 / 2011)
|
# Bryan Schumaker (4 / 21 / 2011)
|
||||||
|
|
||||||
import gtk
|
import gtk
|
||||||
|
import gobject
|
||||||
from libsaria import controls
|
from libsaria import controls
|
||||||
from ocarina.body import button
|
from ocarina.body import button
|
||||||
from ocarina.body import image
|
from ocarina.body import image
|
||||||
|
|
||||||
page = gtk.HBox(False, 5)
|
page = gtk.HBox(False, 5)
|
||||||
label = gtk.Label("Now Playing")
|
label = gtk.Label("Now Playing")
|
||||||
|
label.set_markup("<span size='x-large'>Now Playing</span>")
|
||||||
|
|
||||||
ARTWORK = image.Image()
|
ARTWORK = image.Image()
|
||||||
page.pack_start(ARTWORK, False, False)
|
page.pack_start(ARTWORK, False, False)
|
||||||
|
@ -42,10 +44,6 @@ page.pack_start(attr_box)
|
||||||
|
|
||||||
LIKE = button.like_button(True)
|
LIKE = button.like_button(True)
|
||||||
DISLIKE = button.dislike_button(True)
|
DISLIKE = button.dislike_button(True)
|
||||||
buttons = gtk.HBox(True)
|
|
||||||
buttons.pack_start( LIKE, False, False)
|
|
||||||
buttons.pack_start(DISLIKE, False, False)
|
|
||||||
page.pack_start(buttons, False, False)
|
|
||||||
|
|
||||||
page.show_all()
|
page.show_all()
|
||||||
label.show()
|
label.show()
|
||||||
|
@ -57,7 +55,7 @@ def resize_art(*args):
|
||||||
sa_id = page.connect("size-allocate", resize_art)
|
sa_id = page.connect("size-allocate", resize_art)
|
||||||
|
|
||||||
def set_art(path):
|
def set_art(path):
|
||||||
ARTWORK.set_image(path, 64)
|
ARTWORK.set_image(path, 128)
|
||||||
|
|
||||||
def on_like(like):
|
def on_like(like):
|
||||||
def _on_like1(like):
|
def _on_like1(like):
|
||||||
|
@ -67,12 +65,16 @@ def on_like(like):
|
||||||
button.toggle_call_unconnected(DISLIKE, _on_like1, like)
|
button.toggle_call_unconnected(DISLIKE, _on_like1, like)
|
||||||
button.toggle_call_unconnected(LIKE, _on_like0, like)
|
button.toggle_call_unconnected(LIKE, _on_like0, like)
|
||||||
|
|
||||||
|
def set_tag(label, text):
|
||||||
|
markup = gobject.markup_escape_text(text)
|
||||||
|
label.set_markup("<span size='xx-large'>%s</span>" % markup)
|
||||||
|
|
||||||
def on_load(attrs):
|
def on_load(attrs):
|
||||||
TITLE.set_text(attrs["title"])
|
set_tag(TITLE, attrs["title"])
|
||||||
ARTIST.set_text("by %s" % attrs["artist"])
|
set_tag(ARTIST, attrs["artist"])
|
||||||
ALBUM.set_text("from %s" % attrs["album"])
|
set_tag(ALBUM, attrs["album"])
|
||||||
YEAR.set_text("Year: %s" % attrs["year"])
|
set_tag(YEAR, "Year: %s" % attrs["year"])
|
||||||
LENGTH.set_text("Length: %s" % attrs["lenstr"])
|
set_tag(LENGTH, "Length: %s" % attrs["lenstr"])
|
||||||
COUNT.set_text("Play count: %s" % attrs["count"])
|
set_tag(COUNT, "Count: %s" % attrs["count"])
|
||||||
set_art(attrs["art"])
|
set_art(attrs["art"])
|
||||||
on_like(attrs["like"])
|
on_like(attrs["like"])
|
||||||
|
|
|
@ -18,16 +18,16 @@ def add_button(name, button):
|
||||||
header_body.pack_start(button, False, False)
|
header_body.pack_start(button, False, False)
|
||||||
|
|
||||||
header_body.pack_start(entry.entry)
|
header_body.pack_start(entry.entry)
|
||||||
add_button( "OPEN", button.open_button(True))
|
#add_button( "OPEN", button.open_button(True))
|
||||||
add_button( "SAVE", button.save_button(True))
|
#add_button( "SAVE", button.save_button(True))
|
||||||
add_button( "PREFS", button.prefs_button(True))
|
add_button( "PREFS", button.prefs_button(True))
|
||||||
|
|
||||||
sep = gtk.VSeparator()
|
sep = gtk.VSeparator()
|
||||||
sep.show()
|
sep.show()
|
||||||
header_body.pack_start(sep, False, False)
|
header_body.pack_start(sep, False, False)
|
||||||
|
|
||||||
add_button("UPDATE", button.update_button(True))
|
#add_button("UPDATE", button.update_button(True))
|
||||||
add_button( "CLEAR", button.clear_button(True))
|
#add_button( "CLEAR", button.clear_button(True))
|
||||||
add_button( "GOTO", button.goto_button(True))
|
add_button( "GOTO", button.goto_button(True))
|
||||||
add_button("RANDOM", button.random_button(prefs.get("libsaria.random"), True))
|
add_button("RANDOM", button.random_button(prefs.get("libsaria.random"), True))
|
||||||
add_button("VOLUME", button.volume_button(prefs.get("libsaria.audio.volume"), True))
|
add_button("VOLUME", button.volume_button(prefs.get("libsaria.audio.volume"), True))
|
||||||
|
|
|
@ -9,6 +9,7 @@ from ocarina import body
|
||||||
from ocarina import settings
|
from ocarina import settings
|
||||||
from ocarina.body import footer
|
from ocarina.body import footer
|
||||||
from libsaria import callbacks
|
from libsaria import callbacks
|
||||||
|
import window
|
||||||
import playlist
|
import playlist
|
||||||
import library
|
import library
|
||||||
|
|
||||||
|
@ -24,6 +25,7 @@ def on_load(file, attrs):
|
||||||
footer.on_load(attrs)
|
footer.on_load(attrs)
|
||||||
queue.refresh()
|
queue.refresh()
|
||||||
body.cur_page_goto()
|
body.cur_page_goto()
|
||||||
|
window.set_icon(attrs["art"])
|
||||||
callbacks.on_load = on_load
|
callbacks.on_load = on_load
|
||||||
|
|
||||||
def on_like(like):
|
def on_like(like):
|
||||||
|
@ -40,7 +42,9 @@ gobject.signal_new("get_art", gobject.GObject, gobject.SIGNAL_RUN_LAST,
|
||||||
|
|
||||||
def on_get_art_helper(obj, id, path):
|
def on_get_art_helper(obj, id, path):
|
||||||
if id == libsaria.sources.get_cur_id():
|
if id == libsaria.sources.get_cur_id():
|
||||||
footer.set_art(path)
|
#footer.set_art(path)
|
||||||
|
#window.set_icon(path)
|
||||||
|
pass
|
||||||
|
|
||||||
on_get_art_obj = gobject.GObject()
|
on_get_art_obj = gobject.GObject()
|
||||||
on_get_art_obj.connect("get_art", on_get_art_helper)
|
on_get_art_obj.connect("get_art", on_get_art_helper)
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
import gtk
|
import gtk
|
||||||
import libsaria
|
import libsaria
|
||||||
|
from ocarina import window
|
||||||
|
|
||||||
page = gtk.VBox()
|
page = gtk.VBox()
|
||||||
text = "Experimental"
|
text = "Experimental"
|
||||||
|
@ -16,6 +17,8 @@ def make_check_button(text, func, active):
|
||||||
return button
|
return button
|
||||||
|
|
||||||
SERVER = make_check_button("Enable web server", libsaria.server.toggle_state, libsaria.server.get_state())
|
SERVER = make_check_button("Enable web server", libsaria.server.toggle_state, libsaria.server.get_state())
|
||||||
|
WINDOW_ART = make_check_button("Use album art as window icon", window.toggle_art_icon, window.get_art_icon_state())
|
||||||
|
|
||||||
page.pack_start(SERVER, False, False)
|
page.pack_start(SERVER, False, False)
|
||||||
|
page.pack_start(WINDOW_ART, False, False)
|
||||||
page.show_all()
|
page.show_all()
|
||||||
|
|
|
@ -4,10 +4,11 @@ import gtk
|
||||||
|
|
||||||
attrs = ("id", "track", "title", "lenstr", "artist", "album", "year")
|
attrs = ("id", "track", "title", "lenstr", "artist", "album", "year")
|
||||||
columns = ["Id", "#", "Title", "Length", "Artist", "Album", "Year"]
|
columns = ["Id", "#", "Title", "Length", "Artist", "Album", "Year"]
|
||||||
col_width = [ 2, 20, 300, 60, 125, 125, 50]
|
col_width = [ 2, 30, 500, 75, 325, 310, 30]
|
||||||
|
|
||||||
cell = gtk.CellRendererText()
|
cell = gtk.CellRendererText()
|
||||||
cell.set_fixed_height_from_font(1)
|
cell.set_fixed_height_from_font(1)
|
||||||
|
cell.set_property("size-points", 12)
|
||||||
|
|
||||||
class Column(gtk.TreeViewColumn):
|
class Column(gtk.TreeViewColumn):
|
||||||
def __init__(self, index, label):
|
def __init__(self, index, label):
|
||||||
|
|
|
@ -31,7 +31,20 @@ def set_title(new_title = None):
|
||||||
window.set_title(new_title)
|
window.set_title(new_title)
|
||||||
set_title()
|
set_title()
|
||||||
|
|
||||||
|
def get_art_icon_state():
|
||||||
|
return libsaria.prefs.get("ocarina.window.articon")
|
||||||
|
|
||||||
|
def toggle_art_icon(newval):
|
||||||
|
libsaria.prefs.set("ocarina.window.articon", newval)
|
||||||
|
icon = "images/ocarina.png"
|
||||||
|
if newval == True:
|
||||||
|
icon = libsaria.sources.all_attrs()["art"]
|
||||||
|
set_icon(icon)
|
||||||
|
libsaria.prefs.init("ocarina.window.articon", False)
|
||||||
|
|
||||||
def set_icon(icon = "images/ocarina.png"):
|
def set_icon(icon = "images/ocarina.png"):
|
||||||
|
if (icon != "images/ocarina.png") and (get_art_icon_state() == False):
|
||||||
|
icon = "images/ocarina.png"
|
||||||
window.set_icon_from_file(icon)
|
window.set_icon_from_file(icon)
|
||||||
set_icon()
|
set_icon()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue