[Gridflow-cvs] [svn] commit: r3530 - in /trunk: ChangeLog TODO

gridflow-cvs at artengine.ca gridflow-cvs at artengine.ca
Tue Apr 15 21:35:28 EDT 2008


Author: matju
Date: Tue Apr 15 21:35:28 2008
New Revision: 3530

Log:
...

Modified:
    trunk/ChangeLog
    trunk/TODO

Modified: trunk/ChangeLog
==============================================================================
--- trunk/ChangeLog (original)
+++ trunk/ChangeLog Tue Apr 15 21:35:28 2008
@@ -13,7 +13,15 @@
    (apt-get install libnetpbm10-dev)
  * removed broken Targa support
  * removed timelog feature in [#in]/[#out] (redundant)
- * added [gf.error]
+ * removed [joystick_port], [SoundMixer], [pd_netsocket], [rubyarray],
+   [system], [exec], [regsub], [memstat]
+   and some other very seldom used object classes
+   (!@#$ INSERT A LIST OF THEM HERE)
+   (contact me if you need them)
+ * added [gf.error], [usertime], [systemtime]
+ * added method to_ascii in [#import]
+ * [display] word-wrap
+ * [#import] defaults to per_message mode
 
 version 0.9.0 (2007.11.20):
 

Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Tue Apr 15 21:35:28 2008
@@ -6,7 +6,7 @@
 [ ] bugs roman
 [ ] add claude's fixes
 [ ] ...
-[ ] fix re-broken [#import] list (cast)
+[ ] [fps]: translate into pd: "publish if fps>0.001" (to remove outliers)
 soon:
  * removed reference.*ml
  * videodev.c should be upgraded to V4L2 asap.
@@ -432,5 +432,64 @@
 
 
 
-
-
+FObject.subclass("rubyarray",2,2) {
+  def initialize() @a=[]; @i=0; end
+  def _0_get(s=nil)
+    case s
+    when :size; send_out 1,:size, at a.size
+    when nil; _0_get :size
+    end
+  end
+  def _0_clear; @a.clear end
+  def _0_float i; @i=i; send_out 0, *@a[@i] if @a[@i]!=nil; end
+  def _1_list(*l) @a[@i]=l; end
+  def _0_save(filename,format=nil)
+    f=File.open(filename.to_s,"w")
+    if format then @a.each {|x| f.puts(format.to_s % x) }
+    else           @a.each {|x| f.puts(x.join(",")) }
+    end
+    f.close
+  end
+  def _0_load(filename)
+    f=File.open(filename.to_s,"r")
+    @a.clear
+    f.each {|x| @a.push x.split(",").map {|y| Float(y) rescue y.intern }}
+    f.close
+  end
+}
+
+
+
+FObject.subclass("regsub",3,1) {
+  def initialize(from,to) _1_symbol(from); _2_symbol(to) end
+  def _0_symbol(s) send_out 0, :symbol, s.to_s.gsub(@from, @to).intern end
+  def _1_symbol(from) @from = Regexp.new(from.to_s.gsub(/`/,"\\")) end
+  def _2_symbol(to)   @to = to.to_s.gsub(/`/,"\\") end
+  #doc:_0_symbol,"a string to transform"
+  #doc:_1_symbol,"a regexp pattern to be found inside of the string"
+  #doc:_2_symbol,"a replacement for the found pattern"
+  #doc_out:_0_symbol,"the transformed string"
+}
+
+FObject.subclass("memstat",1,1) {
+  def _0_bang
+    f = File.open("/proc/#{$$}/stat")
+    send_out 0, Float(f.gets.split(" ")[22]) / 1024.0
+    f.close
+  end
+  #doc:_0_bang,"lookup process stats for the currently running pd+ruby and figure out how much RAM it uses."
+  #doc_out:_0_float,"virtual size of RAM in kilobytes (includes swapped out and shared memory)"
+}
+
+FObject.subclass("rubysprintf",2,1) {
+  def initialize(*format) _1_list(format) end
+  def _0_list(*a) send_out 0, :symbol, (sprintf @format, *a).intern end
+  alias _0_float _0_list
+  alias _0_symbol _0_list
+  def _1_list(*format) @format = format.join(" ") end
+  alias _1_symbol _1_list
+}
+
+
+
+there are bugs with abstractions that use [route]->[list] instead of [route2] because they fail when $1="list".



More information about the Gridflow-cvs mailing list