#!/usr/bin/env ruby require "gridflow" require "gridflow/extra/jmax_format.rb" require "gridflow/extra/puredata_format.rb" include GridFlow #GridFlow.verbose = true iname,oname = ARGV if not iname raise "usage: jmax2pd []" end if not oname oname = iname.sub(/\.jmax$/,".pd") end keep=["broken","jpatcher","button","slider","messbox"] GridFlow.instance_eval{@fclasses_set.delete_if {|k,v| not keep.include? k }} #p GridFlow.instance_eval{@fclasses_set.keys.sort} jfr = JMaxFileReader.new(File.open(iname),FObject) FObject.broken_ok = true FObject.do_loadbangs = false my_patcher = jfr.parse pfw = PureDataFileWriter.new(oname) pfw.write_patcher my_patcher pfw.close