Can list all librarys, gstreamer.py draws a progress bar on the bottom
of the CLI
This commit is contained in:
parent
ad2264440e
commit
2d78ea8fc9
|
@ -42,3 +42,4 @@ def run(args=None):
|
||||||
|
|
||||||
for lib in result:
|
for lib in result:
|
||||||
write(lib[1]+"\t"+lib[2])
|
write(lib[1]+"\t"+lib[2])
|
||||||
|
return result
|
||||||
|
|
|
@ -36,7 +36,7 @@ def next():
|
||||||
def open():
|
def open():
|
||||||
if settings.has("current") == False:
|
if settings.has("current") == False:
|
||||||
settings.set("current",0)
|
settings.set("current",0)
|
||||||
settings.set("next",next)
|
settings.init("next",next)
|
||||||
|
|
||||||
|
|
||||||
# Called every time the plugin is stopped
|
# Called every time the plugin is stopped
|
||||||
|
@ -55,7 +55,17 @@ def run(args=None):
|
||||||
database.open()
|
database.open()
|
||||||
a = database.select("path","library","id="+curlib).fetchone()[0]
|
a = database.select("path","library","id="+curlib).fetchone()[0]
|
||||||
b = database.select("path","track","id="+str(id)).fetchone()[0]
|
b = database.select("path","track","id="+str(id)).fetchone()[0]
|
||||||
|
|
||||||
|
info = database.select("track.name, artist.name, album.name",
|
||||||
|
"track, album, artist",
|
||||||
|
"track.id="+str(id)+" and track.artist=artist.id and track.album=album.id").fetchone()
|
||||||
|
|
||||||
database.close()
|
database.close()
|
||||||
settings.set("current",curtrk)
|
settings.set("current",curtrk)
|
||||||
manager.run("load",([a+b]))
|
manager.run("load",([a+b]))
|
||||||
|
|
||||||
|
write(info[0])
|
||||||
|
write("By: "+info[1])
|
||||||
|
write("From: "+info[2])
|
||||||
|
|
||||||
manager.run("play")
|
manager.run("play")
|
||||||
|
|
|
@ -25,7 +25,7 @@ from tools import gstreamer
|
||||||
|
|
||||||
settings.set("user", join(settings.get("user"),".ocarina2"))
|
settings.set("user", join(settings.get("user"),".ocarina2"))
|
||||||
mkdir(settings.get("user"))
|
mkdir(settings.get("user"))
|
||||||
manager.restoresession()
|
#manager.restoresession()
|
||||||
bt.proc.setname("Ocarina2")
|
bt.proc.setname("Ocarina2")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,22 +4,11 @@ __author__="bjschuma"
|
||||||
__date__ ="$Dec 27, 2009 9:58:50 PM$"
|
__date__ ="$Dec 27, 2009 9:58:50 PM$"
|
||||||
|
|
||||||
|
|
||||||
global name, app, type, path, opt
|
|
||||||
name = "database"
|
|
||||||
app = "ocarina"
|
|
||||||
type = "core"
|
|
||||||
path = ""
|
|
||||||
opt = []
|
|
||||||
|
|
||||||
|
|
||||||
import settings
|
import settings
|
||||||
from bt.file import *
|
from bt.file import *
|
||||||
|
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
||||||
#global conn, c
|
|
||||||
#conn = None
|
|
||||||
#c = None
|
|
||||||
global db
|
global db
|
||||||
global conn
|
global conn
|
||||||
global vals
|
global vals
|
||||||
|
|
|
@ -8,9 +8,14 @@ from bt.file import *
|
||||||
import gst
|
import gst
|
||||||
|
|
||||||
import settings
|
import settings
|
||||||
|
from manager import manager
|
||||||
|
from cline import message
|
||||||
global pipeline
|
global pipeline
|
||||||
pipeline = None
|
pipeline = None
|
||||||
|
|
||||||
|
global time
|
||||||
|
time = gst.Format(gst.FORMAT_TIME)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def load(filename):
|
def load(filename):
|
||||||
|
@ -18,7 +23,7 @@ def load(filename):
|
||||||
if checkPath(filename) == False:
|
if checkPath(filename) == False:
|
||||||
return
|
return
|
||||||
|
|
||||||
write("loading file: "+filename)
|
write("loading file: "+filename,True)
|
||||||
bin = gst.element_factory_make("playbin", None)
|
bin = gst.element_factory_make("playbin", None)
|
||||||
bin.set_property("uri", "file://"+filename)
|
bin.set_property("uri", "file://"+filename)
|
||||||
bin.set_state(gst.STATE_PAUSED)
|
bin.set_state(gst.STATE_PAUSED)
|
||||||
|
@ -39,6 +44,37 @@ def pause():
|
||||||
pipeline.set_state(gst.STATE_PAUSED)
|
pipeline.set_state(gst.STATE_PAUSED)
|
||||||
|
|
||||||
|
|
||||||
|
def progress():
|
||||||
|
global pipeline
|
||||||
|
global time
|
||||||
|
|
||||||
|
# Don't bother to go on if the pipeline isn't playing
|
||||||
|
if not pipeline.get_state()[1] == gst.STATE_PLAYING:
|
||||||
|
return -1
|
||||||
|
|
||||||
|
position = pipeline.query_position(time)[0]
|
||||||
|
total = pipeline.query_duration(time)[0]
|
||||||
|
return float(position) / float(total)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# If the song is done, play the next song
|
||||||
|
def done():
|
||||||
|
p = progress()
|
||||||
|
|
||||||
|
if p == -1:
|
||||||
|
return
|
||||||
|
|
||||||
|
max = int(settings.get("maxyx")[1] * p)
|
||||||
|
bar = "="
|
||||||
|
message.disp(bar*max, settings.get("maxyx")[0]-1)
|
||||||
|
|
||||||
|
|
||||||
|
if p == 1.0:
|
||||||
|
#if position == total:
|
||||||
|
manager.run("next")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Called every time the plugin is enabled
|
# Called every time the plugin is enabled
|
||||||
|
@ -47,6 +83,9 @@ def init():
|
||||||
pipeline = gst.Pipeline()
|
pipeline = gst.Pipeline()
|
||||||
pipeline.set_state(gst.STATE_NULL)
|
pipeline.set_state(gst.STATE_NULL)
|
||||||
songs = settings.get("args")
|
songs = settings.get("args")
|
||||||
|
|
||||||
|
settings.set("everyloop",done)
|
||||||
|
|
||||||
if len(songs) > 0:
|
if len(songs) > 0:
|
||||||
load(songs[0])
|
load(songs[0])
|
||||||
settings.replace("args", [])
|
settings.replace("args", [])
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
__author__="bjschuma"
|
||||||
|
__date__ ="$Jan 9, 2010 8:07:29 PM$"
|
|
@ -7,7 +7,7 @@ __date__ ="$Jan 2, 2010 1:14:04 PM$"
|
||||||
global name, app, type, path, opt
|
global name, app, type, path, opt
|
||||||
name = "rand"
|
name = "rand"
|
||||||
app = "ocarina"
|
app = "ocarina"
|
||||||
type = "core"
|
type = "extra"
|
||||||
path = ""
|
path = ""
|
||||||
opt = []
|
opt = []
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import random
|
||||||
import settings
|
import settings
|
||||||
|
|
||||||
|
|
||||||
def next():
|
def randnext():
|
||||||
cur = str(settings.get("curlib"))
|
cur = str(settings.get("curlib"))
|
||||||
count = database.select("count(*)","libtrack","library="+cur).fetchone()[0]
|
count = database.select("count(*)","libtrack","library="+cur).fetchone()[0]
|
||||||
id = random.randint(0,count)
|
id = random.randint(0,count)
|
||||||
|
@ -28,10 +28,9 @@ def next():
|
||||||
|
|
||||||
# Called every time the plugin is enabled
|
# Called every time the plugin is enabled
|
||||||
def open():
|
def open():
|
||||||
if settings.has("random") == False:
|
settings.init("random",False)
|
||||||
settings.set("random",False)
|
if settings.get("random") == True:
|
||||||
else:
|
settings.set("next",randnext)
|
||||||
settings.set("next",next)
|
|
||||||
|
|
||||||
|
|
||||||
# Called every time the plugin is stopped
|
# Called every time the plugin is stopped
|
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
PLUG=`pwd`/`dirname $0`"/core"
|
CORE=`pwd`/`dirname $0`"/core"
|
||||||
cd && `which scion` "-p $PLUG" $*
|
EXTRA=`pwd`/`dirname $0`"/extra"
|
||||||
|
cd && `which scion` "-p $CORE -p $EXTRA" $*
|
Loading…
Reference in New Issue