changeset 947:f7ffd7aeb7f0

fix KC save-everything form Ignore-this: c8cd6e041a063daebf33523172fe19b1
author drewp@bigasterisk.com
date Thu, 13 Jun 2013 08:25:24 +0000
parents 7e991dba05f4
children 8bdd2d35ea61
files bin/keyboardcomposer light9/Submaster.py
diffstat 2 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/bin/keyboardcomposer	Thu Jun 13 07:22:54 2013 +0000
+++ b/bin/keyboardcomposer	Thu Jun 13 08:25:24 2013 +0000
@@ -14,7 +14,8 @@
 import pickle
 
 from light9.Fadable import Fadable
-from light9.Submaster import Submasters, sub_maxes
+from light9.Submaster import Submasters, sub_maxes, PersistentSubmaster
+from light9.Patch import get_channel_uri
 from light9.subclient import SubClient
 from light9 import dmxclient, showconfig, networking, prof
 from light9.uihelpers import toplevelat, bindkeys
@@ -448,9 +449,16 @@
     def save_current_stage(self, subname):
         log.info("saving current levels as %s", subname)
         sub = self.get_levels_as_sub()
-        sub.name = subname
-        sub.temporary = 0
-        sub.save()
+
+        newUri = showconfig.showUri() + "/sub/%s" % subname
+        ps = PersistentSubmaster(self.graph, newUri)
+        ps.changeName(subname)
+        for chanName, v in sub.get_levels().items():
+            chan = get_channel_uri(str(chanName))
+            ps.editLevel(chan, v)
+            
+        self.sub_name.delete(0, tk.END)
+
 
     def send_frequent_updates(self):
         """called when we get a fade -- send events as quickly as possible"""
--- a/light9/Submaster.py	Thu Jun 13 07:22:54 2013 +0000
+++ b/light9/Submaster.py	Thu Jun 13 08:25:24 2013 +0000
@@ -143,6 +143,9 @@
     def _editedLevels(self):
         self.save()
 
+    def changeName(self, newName):
+        self.graph.patchObject(self.uri, self.uri, RDFS.label, Literal(newName))
+        
     def setName(self):
         log.info("sub update name %s %s", self.uri, self.graph.label(self.uri))
         self.name = self.graph.label(self.uri)