Class: PureData::Canvas
- Inherits:
-
Object
- Object
- PureData::Canvas
- Defined in:
- lib/puredata/canvas.rb
Direct Known Subclasses
Instance Method Summary collapse
- #connect(outlet, inlet) ⇒ Object
-
#initialize(pd, name, opt = {}) ⇒ Canvas
constructor
A new instance of Canvas.
- #msg(*args) ⇒ Object
- #obj(klass, *args) ⇒ Object
- #save(path = nil) ⇒ Object
Constructor Details
#initialize(pd, name, opt = {}) ⇒ Canvas
Returns a new instance of Canvas.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/puredata/canvas.rb', line 7 def initialize(pd, name, opt={}) @pd = pd @name = name.dup unless /\.pd\Z/ =~ @name @name += ".pd" end @dir = File.(opt[:dir] || Dir.pwd) @pdobjid = 0 pos = opt[:position] || [100, 100] size = opt[:size] || [300, 300] font = opt[:font] || 10 pd.msg("pd", "filename", @name, @dir) pd.msg("#N", "canvas #{pos.join(" ")} #{size.join(" ")} #{font}") pd.msg("#X", "pop", "1") end |
Instance Method Details
#connect(outlet, inlet) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/puredata/canvas.rb', line 35 def connect(outlet, inlet) obj1, outletid = outlet.outlet_tuple obj2, inletid = inlet.inlet_tuple oid1 = obj1.pdobjid oid2 = obj2.pdobjid self.msg("connect", oid1, outletid, oid2, inletid) end |
#msg(*args) ⇒ Object
23 24 25 |
# File 'lib/puredata/canvas.rb', line 23 def msg(*args) @pd.msg("pd-#{@name}", *args) end |
#obj(klass, *args) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/puredata/canvas.rb', line 27 def obj(klass, *args) self.msg("obj", 10, 10, klass, *args) id = @pdobjid @pdobjid += 1 cls = PureData.dispatch_object_class(klass, *args) cls.new(@pd, self, id, klass, *args) end |
#save(path = nil) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/puredata/canvas.rb', line 43 def save(path=nil) if path name = File.basename(path) unless /\.pd\Z/ =~ name name += ".pd" end dir = File.(File.dirname(path)) else name = @name dir = @dir end self.msg("savetofile", name, dir) @name = name @dir = dir nil end |