home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.4)
-
- import dbus
- import nautilusburn
- import mastering
- SERVICE_DOMAIN = 'de.berlios.Serpentine'
- OBJECT_DOMAIN = '/de/berlios/Serpentine'
-
- class Manager(dbus.Object):
- '''Provides services for Serpentine. It launches all needed services.
- \tIt registers the de.berlios.Serpentine.Manager,
- \tde.berlios.Serpentine.Playlist and de.berlios.Serpentine.Recorder
- \tinterfaces.
- \t'''
-
- def __init__(self, service, serpentine_object):
- dbus.Object.__init__(self, OBJECT_DOMAIN + '/Manager', service, [
- self.Quit,
- self.RecordPlaylist])
- self._Manager__serp = serpentine_object
- self._Manager__playlist = Playlist(OBJECT_DOMAIN + '/Playlist', self.serpentine.masterer.source)
- self._Manager__update_drives()
-
-
- def __update_drives(self):
- self._Manager__drives = { }
- for dev in nautilusburn.get_drives_list(True):
- device = dev.get_device()
- self._Manager__drives[device] = Recorder(serpentine_object, device)
-
-
- serpentine = property((lambda self: self._Manager__serp))
- playlist = property((lambda self: self._Manager__playlist))
-
- def Quit(self, message):
- self.serpentine.quit()
-
-
- def RecordPlaylist(self, message):
- self.serpentine.burn()
-
-
-
- class Playlist(dbus.Object):
- '''Represents the serpentine storage.'''
-
- def __init__(self, domain, service, music_list):
- dbus.Object.__init__(self, domain, service, [
- self.Clear,
- self.Remove,
- self.Add])
- self._Playlist__music_list = music_list
-
- music_list = property((lambda self: self._Playlist__music_list))
-
- def Clear(self, message):
- self.music_list.clear()
-
-
- def Remove(self, message, music):
- for music in self.music_list:
- if music['location'] == music:
- music_list.remove(music)
- return None
- continue
-
-
-
- def Add(self, message, music):
- hints = {
- 'location': music }
- add_oper = mastering.AddFile(self.music_list, hints)
- add_oper.start()
-
-
-
- class AudioRecorder(dbus.Object):
- '''Represents a recorder that can write audio tracks directly.'''
-
- def __init__(self, domain, device):
- if device.startswith('/'):
- name = device[1:].replacewith('/', '.')
-
- dbus.Object.__init__(self, domain + '/' + name, 'de.berlios.Serpentine.AudioRecorder', [
- self.WriteFiles,
- self.IsRecording,
- self.GetDevice])
- self._AudioRecorder__device = device
-
- device = property((lambda self: self._AudioRecorder__device))
-
- def WriteFiles(self, message, files):
- return 'There is no multiple drives preference yet.'
-
-
- def IsRecording(self, message):
- return self.device in self.serpentine.recording
-
-
- def GetDevice(self, message):
- return self.device
-
-
-