X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=tools%2Fsession_exchange.py;h=b296e759c006fb2b2715ed973770ba2fcb6c7afe;hb=5cfeaf410212c5bc104050820d1fb255b7a471b9;hp=825476c9673ce486b42c143c35798be283cea4f7;hpb=f9f5ec85fbfd15d0008f70d4185a84eeadfd3891;p=ardour.git diff --git a/tools/session_exchange.py b/tools/session_exchange.py index 825476c967..b296e759c0 100755 --- a/tools/session_exchange.py +++ b/tools/session_exchange.py @@ -26,6 +26,8 @@ import string import sys import xml.dom.minidom +v2paths = True + def get_header_size(filename): size = 0 file = open(filename, 'r') @@ -111,6 +113,7 @@ class Data(object): sessions[session_name]['collabs'][collab_name]['sounds'] = [] sessions[session_name]['collabs'][collab_name]['ip'] = ip_address sessions[session_name]['collabs'][collab_name]['port'] = port + sessions[session_name]['collabs'][collab_name]['v2paths'] = True self._data['sessions'] = sessions client = ExchangeClientFactory(session_name, collab_name, None, self.debug_mode) @@ -129,6 +132,11 @@ class Data(object): sessions[session_name]['collabs'][self._data['user']] = {} sessions[session_name]['collabs'][self._data['user']]['snaps'] = [] sessions[session_name]['collabs'][self._data['user']]['sounds'] = [] + if os.path.isdir (os.path.join (session_path,'sounds')): + sessions[session_name]['collabs'][self._data['user']]['v2paths'] = False + v2paths = False + else: + sessions[session_name]['collabs'][self._data['user']]['v2paths'] = True self._data['sessions'] = sessions @@ -139,7 +147,7 @@ class Data(object): session_path = sessions[session_name]['path'] sessions[session_name]['collabs'][self._data['user']]['snaps'] = self._scan_snapshots(session_path) - sessions[session_name]['collabs'][self._data['user']]['sounds'] = self._scan_sounds(session_path) + sessions[session_name]['collabs'][self._data['user']]['sounds'] = self._scan_sounds(session_name) self._data['sessions'] = sessions @@ -148,16 +156,18 @@ class Data(object): print self._data['sessions'] def create_session(self, session_path): + sessions = self._data['sessions'] + + session_name = session_path[session_path.rfind('/', 0, len(session_path)-2)+1: ] try: os.mkdir(session_path) - os.mkdir(session_path+"/sounds") + os.mkdir(os.path.join (session_path,'interchange')) + os.mkdir(os.path.join (session_path,'interchange',session_name)) + os.mkdir(os.path.join (session_path,'interchange',session_name,'audiofiles')) except OSError: raise_error("Could not create session directory", g_display.window) return - sessions = self._data['sessions'] - - session_name = session_path[session_path.rfind('/', 0, len(session_path)-2)+1: ] sessions[session_name] = {} sessions[session_name]['path'] = session_path sessions[session_name]['collabs'] = {} @@ -229,8 +239,15 @@ class Data(object): return snaps def _scan_sounds(self, session): + sessions = self._data['sessions'] + sounds = [] - files = os.listdir(session+'/sounds') + if v2paths: + print session + print os.path.join (sessions[session]['path'],'interchange', session, 'audiofiles') + files = os.listdir(os.path.join (sessions[session]['path'],'interchange', session, 'audiofiles')) + else: + files = os.listdir(os.path.join (session,'sounds')) pattern = re.compile(r'\.peak$') for file in files: if not pattern.search(file): @@ -313,7 +330,7 @@ class ExchangeServer (LineReceiver): self.error("snapshot: " + data + " doesn't exist on server") elif self.state == "SOUNDFILE" or self.state == "SOUNDFILE_HEADER": if g_data.get_sounds(self.session_name, g_data.get_user()).count(data): - filename = g_data.get_session_path(self.session_name)+"/sounds/"+data + filename = g_data.get_session_path(self.session_name)+"/interchange/"+self.session_name+"/audiofiles/"+data print filename if self.state == "SOUNDFILE": self.sendLine(str(os.stat(filename).st_size)) @@ -441,7 +458,7 @@ class ExchangeClient (LineReceiver): self.received = 0 elif self.state == "SOUNDFILE" or self.state == "SOUNDFILE_HEADER": self.setRawMode() - self.filename = g_data.get_session_path(self.session_name)+'/sounds/'+self.sounds[self.sound_index] + self.filename = g_data.get_session_path(self.session_name)+"/interchange/"+self.session_name+"/audiofiles/"+self.sounds[self.sound_index] self.file = open(self.filename, 'w') self.received = 0 elif self.state == "ERROR": @@ -755,21 +772,21 @@ class ArdourShareWindow(object): #need to hold a reference to the item_factory or the menubar will disappear. self.item_factory = gtk.ItemFactory(gtk.MenuBar, '
', accel_group) self.item_factory.create_items(menu_items, self.window) - main_box.pack_start(self.item_factory.get_widget('
'), gtk.FALSE) + main_box.pack_start(self.item_factory.get_widget('
'), False) pane1 = gtk.HPaned() pane2 = gtk.HPaned() - pane1.pack2(pane2, gtk.TRUE, gtk.FALSE) + pane1.pack2(pane2, True, False) scroll1 = gtk.ScrolledWindow() scroll1.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) - pane1.pack1(scroll1, gtk.TRUE, gtk.FALSE) + pane1.pack1(scroll1, True, False) scroll2 = gtk.ScrolledWindow() scroll2.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) - pane2.pack1(scroll2, gtk.TRUE, gtk.FALSE) + pane2.pack1(scroll2, True, False) scroll3 = gtk.ScrolledWindow() scroll3.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) - pane2.pack2(scroll3, gtk.TRUE, gtk.FALSE) + pane2.pack2(scroll3, True, False) self.session_model = gtk.ListStore(gobject.TYPE_STRING) view1 = gtk.TreeView(self.session_model) @@ -797,10 +814,10 @@ class ArdourShareWindow(object): self.snap_selection.connect("changed", self.cb_snap_selection_changed) scroll3.add(view3) - main_box.pack_start(pane1, gtk.TRUE, gtk.TRUE) + main_box.pack_start(pane1, True, True) self.status_bar = gtk.Statusbar() - main_box.pack_start(self.status_bar, gtk.FALSE) + main_box.pack_start(self.status_bar, False) self._status_cid = self.status_bar.get_context_id('display') self._status_mid = ''