ocarina/trunk/src/ocarina.py

90 lines
2.1 KiB
Python

import gobject
import os
import sys
import thread
import pygtk
pygtk.require('2.0')
import gtk
from options import Options
from saveddata import SavedData
from song import Song
from duration import Duration
from library import Library
from operations import Operations
from playlist import Playlist
from songInfo import SongInfo
from window import Window
#gtk.gdk.threads_init()
gobject.threads_init()
class main:
def __init__(self,argv):
# Parse options
self.options = Options()
if ("-v" in argv) == True:
self.options.verbose = True
# Load saved data (or create new data)
self.data = SavedData(self.options)
self.window = Window(self.quit,self.options,self.data)
gtk.main()
'''
self.ops = Operations(self.quit)
self.library = Library()
self.plist = Playlist()
self.plist.insert(self.library.nonBanned())
self.plist.translate = self.library.translate
self.plist.opsNext = self.ops.next
self.ops.plist = self.plist
self.ops.library = self.library
window = Window(self.quit,self.ops)
self.ops.setInfo = window.changeInfo
self.ops.resetInfo = window.resetInfo
self.ops.scrollSong = window.gotoCurSong
song = None
# If we were given a song as input, check that it exists and begin playback
if len(argv) > 0:
split = argv[0].split(self.library.data.path)
if len(split) > 0:
index = self.library.has(split[len(split)-1])
#if index != -1:
#info = self.library.data.files[index]
self.plist.queueSong(index)
if index==-1:
file = os.path.expanduser(argv[0])
if os.path.exists(file):
info = SongInfo()
info.filename = file
song = Song(info,self.next)#,self.commands.printLines)
self.ops.song = song
self.ops.next("","")
window.song = self.ops.song
# Call gtk main
gtk.main()
'''
# Eventually replace "delete_event" with this
def quit(self,widgit,data):
if self.options.verbose == True:
print "Quitting..."
#print self.window.get_size()
self.data.size = self.window.get_size()
self.data.divider = self.window.divider.get_position()
self.data.dump()
#self.library.dump()
gtk.main_quit()
return False
if __name__=='__main__':main(sys.argv[1:])