TFLCL
1 year ago
commit
289a70e01d
20 changed files with 26406 additions and 0 deletions
@ -0,0 +1,79 @@
|
||||
<?xml version='1.0' encoding='utf-8' standalone='yes'?> |
||||
|
||||
|
||||
<!-- DO NOT EDIT THIS FILE ... YOU WILL LOSE YOUR WORK --> |
||||
|
||||
|
||||
<c74object name='agn.convert' category='again, loop, video'> |
||||
|
||||
<digest> |
||||
Converts agn.host exports to gif or webm |
||||
</digest> |
||||
<description> |
||||
Converts agn.host exported png frames to gif or webm, using ffmpeg executed via the shell object |
||||
</description> |
||||
|
||||
|
||||
<!--METADATA--> |
||||
|
||||
<metadatalist> |
||||
<metadata name='author'>Théophile Clet</metadata> |
||||
<metadata name='tag'>again</metadata> |
||||
<metadata name='tag'>loop</metadata> |
||||
</metadatalist> |
||||
|
||||
|
||||
<!--MESSAGES--> |
||||
|
||||
<methodlist> |
||||
<method name="gif"> |
||||
<digest>Converts agn.host export to an animated gif</digest> |
||||
<description>Converts agn.host export to an animated gif file.</description> |
||||
</method> |
||||
</methodlist> |
||||
<methodlist> |
||||
<method name="webm"> |
||||
<digest>Converts agn.host export to an animated gif</digest> |
||||
<description>Converts agn.host export to a webm file.</description> |
||||
</method> |
||||
</methodlist> |
||||
<methodlist> |
||||
<method name="loglevel"> |
||||
<digest>Sets the ffmpeg logging level</digest> |
||||
<description>When followed by one of these words: quiet, fatal, error, warning, info, verbose, sets the ffmpeg logging level</description> |
||||
</method> |
||||
</methodlist> |
||||
<methodlist> |
||||
<method name="filename"> |
||||
<digest>Sets the name of the output file</digest> |
||||
<description>Sets the name of the converted file (which will be followed by a timestamp)</description> |
||||
</method> |
||||
</methodlist> |
||||
|
||||
|
||||
<!--ATTRIBUTES--> |
||||
|
||||
<attributelist> |
||||
|
||||
<attribute name='loglevel' get='0' set='1' type='symbol' size='1' > |
||||
<digest>ffmpeg logging level</digest> |
||||
<description>ffmpeg logging level. From the less to most verbose: quiet, fatal, error, warning, info, verbose.</description> |
||||
</attribute> |
||||
<attribute name='filename' get='0' set='1' type='symbol' size='1' > |
||||
<digest>Sets the name of the output file</digest> |
||||
<description>Sets the name of the converted file (which will be followed by a timestamp)</description> |
||||
</attribute> |
||||
|
||||
</attributelist> |
||||
|
||||
|
||||
<!--RELATED--> |
||||
|
||||
<seealsolist> |
||||
<seealso name='agn.host' /> |
||||
<seealso name='agn.remote' /> |
||||
<seealso name='shell' /> |
||||
</seealsolist> |
||||
|
||||
|
||||
</c74object> |
@ -0,0 +1,110 @@
|
||||
<?xml version='1.0' encoding='utf-8' standalone='yes'?> |
||||
|
||||
<c74object name='agn.host' category='again, loop, video'> |
||||
|
||||
<digest> |
||||
Create and export animated loops |
||||
</digest> |
||||
<description> |
||||
Generates synchronized bangs and phase for creating looping animations and export them as files. To be used in tandem with agn.remote to access current phase, rendered frame number and various other information. Send the texture to be exported to the rightmost inlet. |
||||
Only one agn.host object can be present per patcher hierarchy. |
||||
</description> |
||||
|
||||
|
||||
<!--METADATA--> |
||||
|
||||
<metadatalist> |
||||
<metadata name='author'>Théophile Clet</metadata> |
||||
<metadata name='tag'>again</metadata> |
||||
<metadata name='tag'>loop</metadata> |
||||
</metadatalist> |
||||
|
||||
|
||||
<!--ARGUMENTS--> |
||||
|
||||
<objarglist> |
||||
|
||||
<objarg name='name' optional='0' type='symbol'> |
||||
<digest>Name of the agn.host instance</digest> |
||||
<description>Name of the agn.host instance</description> |
||||
</objarg> |
||||
|
||||
</objarglist> |
||||
|
||||
|
||||
<!--MESSAGES--> |
||||
|
||||
<!-- <methodlist> |
||||
<method name="int"> |
||||
<digest>Function depends on inlet</digest> |
||||
<description>Function depends on inlet</description> |
||||
</method> |
||||
<method name="float"> |
||||
<digest>Function depends on inlet</digest> |
||||
<description>Function depends on inlet</description> |
||||
</method> |
||||
<method name="bang"> |
||||
<digest>Function depends on inlet</digest> |
||||
<description>Function depends on inlet</description> |
||||
</method> |
||||
<method name="list"> |
||||
<digest>Function depends on inlet</digest> |
||||
<description>Function depends on inlet</description> |
||||
</method> |
||||
</methodlist> --> |
||||
|
||||
|
||||
<!--ATTRIBUTES--> |
||||
|
||||
<attributelist> |
||||
|
||||
<attribute name='duration' get='0' set='1' type='float' size='1' > |
||||
<digest>Duration of the loop (in seconds)</digest> |
||||
<description>Sets the total duration of the loop (in seconds).</description> |
||||
</attribute> |
||||
|
||||
<attribute name='fps_export' get='0' set='1' type='float' size='1' > |
||||
<digest>Target export FPS</digest> |
||||
<description>Number of frames per second to be exported. </description> |
||||
</attribute> |
||||
|
||||
<attribute name='pre_loop' get='0' set='1' type='int' size='1' > |
||||
<digest>Number of pre-export loops</digest> |
||||
<description>Number of loops to be rendered before exporting when an export is triggered.</description> |
||||
</attribute> |
||||
|
||||
<attribute name='inter_frames' get='0' set='1' type='int' size='1'> |
||||
<digest>Number of frames to render between two exported frames</digest> |
||||
<description>Number of frames to render between two exported frames. Increases the rendering FPS.</description> |
||||
</attribute> |
||||
|
||||
<attribute name='texture' get='0' set='1' type='symbol' size='1'> |
||||
<digest>Name of the texture to be exported</digest> |
||||
<description>Name of the texture to be exported</description> |
||||
</attribute> |
||||
|
||||
<attribute name='export_folder' get='0' set='1' type='symbol' size='1'> |
||||
<digest>Path of the folder to export frames</digest> |
||||
<description>Path of the folder to export frames.</description> |
||||
</attribute> |
||||
|
||||
<attribute name='auto_delete' get='0' set='1' type='int' size='1'> |
||||
<digest>When set to 1, deletes exported frames from previous export</digest> |
||||
<description>When set to 1, automatically deletes all frame_*.png found in the export_folder folder when a new export is triggered (0 by default). Requires the shell external to work.</description> |
||||
</attribute> |
||||
|
||||
</attributelist> |
||||
|
||||
|
||||
<!--RELATED--> |
||||
|
||||
<seealsolist> |
||||
<seealso name='agn.remote' /> |
||||
<seealso name='agn.convert' /> |
||||
<seealso name='jit.world' /> |
||||
<seealso name='jit.gl.render' /> |
||||
<seealso name='shell' /> |
||||
</seealsolist> |
||||
|
||||
|
||||
</c74object> |
@ -0,0 +1,72 @@
|
||||
<?xml version='1.0' encoding='utf-8' standalone='yes'?> |
||||
|
||||
<c74object name='agn.remote' category='again, loop, video'> |
||||
|
||||
<digest> |
||||
Retrieve data from a named agn.host |
||||
</digest> |
||||
<description> |
||||
Receives data comming from the agn.host object, if any, found in the patcher hierarchy. |
||||
Outlets are defined by optionnal parameter name arguments. If no extra argument is given, an outlet is provided for each parameter. |
||||
</description> |
||||
|
||||
|
||||
<!--METADATA--> |
||||
|
||||
<metadatalist> |
||||
<metadata name='author'>Théophile Clet</metadata> |
||||
<metadata name='tag'>again</metadata> |
||||
<metadata name='tag'>loop</metadata> |
||||
</metadatalist> |
||||
|
||||
|
||||
<!--ARGUMENTS--> |
||||
|
||||
<objarglist> |
||||
|
||||
<!-- <objarg name='name' optional='0' type='symbol'> |
||||
<digest>Name of the agn.host instance to refer to</digest> |
||||
<description>Name of the agn.host instance to refer to</description> |
||||
</objarg> --> |
||||
|
||||
<objarg name='list' optional='1' type='list'> |
||||
<digest>List of parameters to retrieve</digest> |
||||
<description>List of parameters to retrieve from agn.host. If nothing is set, the object will output all parameters.</description> |
||||
</objarg> |
||||
|
||||
</objarglist> |
||||
|
||||
|
||||
<!--MESSAGES--> |
||||
|
||||
<methodlist> |
||||
<method name="offset"> |
||||
<digest>Offsets the phase output</digest> |
||||
<description>Offset value applied to the phase output</description> |
||||
</method> |
||||
</methodlist> |
||||
|
||||
|
||||
<!--ATTRIBUTES--> |
||||
|
||||
<attributelist> |
||||
|
||||
<attribute name='offset' get='0' set='1' type='float' size='1' > |
||||
<digest>Offsets the phase output</digest> |
||||
<description>Offset value applied to the phase output</description> |
||||
</attribute> |
||||
|
||||
</attributelist> |
||||
|
||||
|
||||
<!--RELATED--> |
||||
|
||||
<seealsolist> |
||||
<seealso name='agn.host' /> |
||||
<seealso name='agn.convert' /> |
||||
<seealso name='jit.world' /> |
||||
<seealso name='jit.gl.render' /> |
||||
</seealsolist> |
||||
|
||||
|
||||
</c74object> |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,677 @@
|
||||
{ |
||||
"patcher" : { |
||||
"fileversion" : 1, |
||||
"appversion" : { |
||||
"major" : 8, |
||||
"minor" : 5, |
||||
"revision" : 7, |
||||
"architecture" : "x64", |
||||
"modernui" : 1 |
||||
} |
||||
, |
||||
"classnamespace" : "box", |
||||
"rect" : [ 677.0, 240.0, 639.0, 404.0 ], |
||||
"bglocked" : 0, |
||||
"openinpresentation" : 0, |
||||
"default_fontsize" : 12.0, |
||||
"default_fontface" : 0, |
||||
"default_fontname" : "Arial", |
||||
"gridonopen" : 1, |
||||
"gridsize" : [ 15.0, 15.0 ], |
||||
"gridsnaponopen" : 1, |
||||
"objectsnaponopen" : 1, |
||||
"statusbarvisible" : 2, |
||||
"toolbarvisible" : 1, |
||||
"lefttoolbarpinned" : 0, |
||||
"toptoolbarpinned" : 0, |
||||
"righttoolbarpinned" : 0, |
||||
"bottomtoolbarpinned" : 0, |
||||
"toolbars_unpinned_last_save" : 0, |
||||
"tallnewobj" : 0, |
||||
"boxanimatetime" : 200, |
||||
"enablehscroll" : 1, |
||||
"enablevscroll" : 1, |
||||
"devicewidth" : 0.0, |
||||
"description" : "", |
||||
"digest" : "", |
||||
"tags" : "", |
||||
"style" : "", |
||||
"subpatcher_template" : "", |
||||
"assistshowspatchername" : 0, |
||||
"boxes" : [ { |
||||
"box" : { |
||||
"id" : "obj-26", |
||||
"linecount" : 2, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 438.375, 231.0, 167.75, 34.0 ], |
||||
"text" : "Convert exported animations to GIF or WEBM", |
||||
"textjustification" : 1 |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-19", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 249.25, 231.0, 125.0, 20.0 ], |
||||
"text" : "Drive your animations", |
||||
"textjustification" : 1 |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-23", |
||||
"linecount" : 2, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 47.5, 231.0, 119.0, 34.0 ], |
||||
"text" : "Generate bangs\nand export PNG", |
||||
"textjustification" : 1 |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"fontsize" : 14.0, |
||||
"id" : "obj-18", |
||||
"linecount" : 3, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 213.0, 72.0, 198.0, 55.0 ], |
||||
"text" : "3 abstractions to help you create and export seamlessly looping videos", |
||||
"textjustification" : 1 |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"button" : 1, |
||||
"id" : "obj-25", |
||||
"maxclass" : "tab", |
||||
"multiline" : 0, |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "int", "", "" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 145.5, 348.0, 333.0, 36.0 ], |
||||
"tabs" : [ "Starter", "Looped noise", "Starfield" ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"fontface" : 1, |
||||
"fontsize" : 14.0, |
||||
"id" : "obj-24", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 248.0, 318.0, 128.0, 23.0 ], |
||||
"text" : "Example patchers" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"handoff" : "", |
||||
"id" : "obj-15", |
||||
"maxclass" : "ubutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 4, |
||||
"outlettype" : [ "bang", "bang", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 471.75, 190.0, 101.0, 42.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"handoff" : "", |
||||
"id" : "obj-9", |
||||
"maxclass" : "ubutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 4, |
||||
"outlettype" : [ "bang", "bang", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 234.75, 190.0, 154.0, 42.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"handoff" : "", |
||||
"id" : "obj-2", |
||||
"maxclass" : "ubutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 4, |
||||
"outlettype" : [ "bang", "bang", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 56.5, 190.0, 101.0, 42.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-22", |
||||
"linecount" : 2, |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 437.0, 91.0, 191.0, 36.0 ], |
||||
"text" : ";\r\nmax launchbrowser https://tflcl.xyz" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"fontsize" : 12.0, |
||||
"id" : "obj-17", |
||||
"linecount" : 3, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 437.0, 14.0, 190.0, 48.0 ], |
||||
"text" : "Created by Théophile Clet © 2023\nunder MIT License\ntflcl.xyz", |
||||
"textcolor" : [ 0.352941176470588, 0.352941176470588, 0.352941176470588, 1.0 ], |
||||
"textjustification" : 2 |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-10", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 471.75, 284.0, 120.0, 22.0 ], |
||||
"text" : "agn.convert.maxhelp" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-5", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 235.0, 284.0, 118.0, 22.0 ], |
||||
"text" : "agn.remote.maxhelp" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-8", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 56.5, 284.0, 103.0, 22.0 ], |
||||
"text" : "agn.host.maxhelp" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-12", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 0, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "jit_matrix" ], |
||||
"patcher" : { |
||||
"fileversion" : 1, |
||||
"appversion" : { |
||||
"major" : 8, |
||||
"minor" : 5, |
||||
"revision" : 7, |
||||
"architecture" : "x64", |
||||
"modernui" : 1 |
||||
} |
||||
, |
||||
"classnamespace" : "box", |
||||
"rect" : [ 59.0, 107.0, 640.0, 480.0 ], |
||||
"bglocked" : 0, |
||||
"openinpresentation" : 0, |
||||
"default_fontsize" : 12.0, |
||||
"default_fontface" : 0, |
||||
"default_fontname" : "Arial", |
||||
"gridonopen" : 1, |
||||
"gridsize" : [ 15.0, 15.0 ], |
||||
"gridsnaponopen" : 1, |
||||
"objectsnaponopen" : 1, |
||||
"statusbarvisible" : 2, |
||||
"toolbarvisible" : 1, |
||||
"lefttoolbarpinned" : 0, |
||||
"toptoolbarpinned" : 0, |
||||
"righttoolbarpinned" : 0, |
||||
"bottomtoolbarpinned" : 0, |
||||
"toolbars_unpinned_last_save" : 0, |
||||
"tallnewobj" : 0, |
||||
"boxanimatetime" : 200, |
||||
"enablehscroll" : 1, |
||||
"enablevscroll" : 1, |
||||
"devicewidth" : 0.0, |
||||
"description" : "", |
||||
"digest" : "", |
||||
"tags" : "", |
||||
"style" : "", |
||||
"subpatcher_template" : "", |
||||
"assistshowspatchername" : 0, |
||||
"boxes" : [ { |
||||
"box" : { |
||||
"id" : "obj-9", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "start" ], |
||||
"patching_rect" : [ 420.0, 215.0, 39.0, 22.0 ], |
||||
"text" : "t start" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-2", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "" ], |
||||
"patching_rect" : [ 420.0, 188.0, 83.0, 22.0 ], |
||||
"text" : "route loadram" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-8", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "bang" ], |
||||
"patching_rect" : [ 50.0, 100.0, 58.0, 22.0 ], |
||||
"text" : "loadbang" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-17", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 50.0, 128.0, 76.0, 22.0 ], |
||||
"text" : "loadram -0.2" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-15", |
||||
"maxclass" : "playbar", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "int" ], |
||||
"patching_rect" : [ 205.0, 145.0, 133.5, 12.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-5", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "jit_matrix", "" ], |
||||
"patching_rect" : [ 50.0, 159.0, 389.0, 22.0 ], |
||||
"text" : "jit.movie @loop 1 @engine viddll @moviefile tunnel.webm @autostart 0" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"comment" : "", |
||||
"id" : "obj-10", |
||||
"index" : 1, |
||||
"maxclass" : "outlet", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 50.0, 304.660767000000021, 30.0, 30.0 ] |
||||
} |
||||
|
||||
} |
||||
], |
||||
"lines" : [ { |
||||
"patchline" : { |
||||
"destination" : [ "obj-5", 0 ], |
||||
"source" : [ "obj-15", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-5", 0 ], |
||||
"source" : [ "obj-17", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-9", 0 ], |
||||
"source" : [ "obj-2", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-10", 0 ], |
||||
"source" : [ "obj-5", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-2", 0 ], |
||||
"source" : [ "obj-5", 1 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-17", 0 ], |
||||
"source" : [ "obj-8", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-5", 0 ], |
||||
"source" : [ "obj-9", 0 ] |
||||
} |
||||
|
||||
} |
||||
] |
||||
} |
||||
, |
||||
"patching_rect" : [ 145.5, 14.0, 51.0, 22.0 ], |
||||
"saved_object_attributes" : { |
||||
"description" : "", |
||||
"digest" : "", |
||||
"globalpatchername" : "", |
||||
"tags" : "" |
||||
} |
||||
, |
||||
"text" : "p player" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-7", |
||||
"maxclass" : "jit.pwindow", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "jit_matrix", "" ], |
||||
"patching_rect" : [ 11.5, 14.0, 132.0, 130.0 ], |
||||
"sync" : 1 |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-1", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 11, |
||||
"outlettype" : [ "", "int", "", "", "", "", "", "", "", "", "" ], |
||||
"patching_rect" : [ 249.75, 200.0, 124.0, 22.0 ], |
||||
"text" : "agn.remote" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-14", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 11.5, 475.0, 51.0, 22.0 ], |
||||
"text" : "pcontrol" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-13", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 11.5, 449.0, 84.0, 22.0 ], |
||||
"text" : "loadunique $1" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-11", |
||||
"items" : [ "agn_starter", ",", "looped_noise_examples", ",", "space_travel_example" ], |
||||
"maxclass" : "umenu", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "int", "", "" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 145.5, 396.0, 171.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-6", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 486.5, 200.0, 71.0, 22.0 ], |
||||
"text" : "agn.convert" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-4", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 6, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "bang", "", "bang" ], |
||||
"patching_rect" : [ 71.25, 200.0, 71.5, 22.0 ], |
||||
"text" : "agn.host" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"fontface" : 1, |
||||
"fontsize" : 36.0, |
||||
"id" : "obj-3", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 255.5, 14.0, 113.0, 48.0 ], |
||||
"text" : "again." |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"handoff" : "", |
||||
"id" : "obj-20", |
||||
"maxclass" : "ubutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 4, |
||||
"outlettype" : [ "bang", "bang", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 437.0, 14.0, 191.0, 61.0 ] |
||||
} |
||||
|
||||
} |
||||
], |
||||
"lines" : [ { |
||||
"patchline" : { |
||||
"destination" : [ "obj-13", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-10", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-13", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-11", 1 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-7", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-12", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-14", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-13", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-10", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-15", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-8", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-2", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-22", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-20", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-11", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-25", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-13", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-5", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-13", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-8", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-5", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-9", 0 ] |
||||
} |
||||
|
||||
} |
||||
], |
||||
"dependency_cache" : [ { |
||||
"name" : "again_utils.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.convert.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.host.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.remote.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn_host.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn_remote.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "shell.mxe64", |
||||
"type" : "mx64" |
||||
} |
||||
], |
||||
"autosave" : 0 |
||||
} |
||||
|
||||
} |
@ -0,0 +1,692 @@
|
||||
{ |
||||
"patcher" : { |
||||
"fileversion" : 1, |
||||
"appversion" : { |
||||
"major" : 8, |
||||
"minor" : 5, |
||||
"revision" : 6, |
||||
"architecture" : "x64", |
||||
"modernui" : 1 |
||||
} |
||||
, |
||||
"classnamespace" : "box", |
||||
"rect" : [ 457.0, 205.0, 741.0, 528.0 ], |
||||
"bglocked" : 0, |
||||
"openinpresentation" : 0, |
||||
"default_fontsize" : 12.0, |
||||
"default_fontface" : 0, |
||||
"default_fontname" : "Arial", |
||||
"gridonopen" : 1, |
||||
"gridsize" : [ 15.0, 15.0 ], |
||||
"gridsnaponopen" : 1, |
||||
"objectsnaponopen" : 1, |
||||
"statusbarvisible" : 2, |
||||
"toolbarvisible" : 1, |
||||
"lefttoolbarpinned" : 0, |
||||
"toptoolbarpinned" : 0, |
||||
"righttoolbarpinned" : 0, |
||||
"bottomtoolbarpinned" : 0, |
||||
"toolbars_unpinned_last_save" : 0, |
||||
"tallnewobj" : 0, |
||||
"boxanimatetime" : 200, |
||||
"enablehscroll" : 1, |
||||
"enablevscroll" : 1, |
||||
"devicewidth" : 0.0, |
||||
"description" : "", |
||||
"digest" : "", |
||||
"tags" : "", |
||||
"style" : "", |
||||
"subpatcher_template" : "", |
||||
"assistshowspatchername" : 0, |
||||
"boxes" : [ { |
||||
"box" : { |
||||
"id" : "obj-29", |
||||
"linecount" : 3, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 454.5, 343.0, 178.0, 48.0 ], |
||||
"text" : "Download the package or executable file for your operating system, and install it." |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-23", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "bang" ], |
||||
"patching_rect" : [ 767.0, 347.0, 22.0, 22.0 ], |
||||
"text" : "t b" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-24", |
||||
"linecount" : 2, |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 709.0, 447.0, 290.0, 36.0 ], |
||||
"presentation_linecount" : 3, |
||||
"text" : ";\r\nmax launchbrowser https://ffmpeg.org/download.html" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-21", |
||||
"maxclass" : "textbutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 498.0, 313.0, 91.0, 23.0 ], |
||||
"text" : "ffmpeg" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"fontface" : 1, |
||||
"id" : "obj-17", |
||||
"linecount" : 2, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 394.0, 167.0, 299.0, 34.0 ], |
||||
"text" : "agn.convert requires the shell external and ffmpeg installed on your computer to work properly." |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-15", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "bang" ], |
||||
"patching_rect" : [ 767.0, 208.0, 22.0, 22.0 ], |
||||
"text" : "t b" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-13", |
||||
"maxclass" : "textbutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 498.0, 208.0, 91.0, 23.0 ], |
||||
"text" : "shell external" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-8", |
||||
"linecount" : 2, |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 767.0, 237.0, 465.0, 36.0 ], |
||||
"text" : ";\r\nmax launchbrowser https://github.com/jeremybernstein/shell/releases/" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-4", |
||||
"linecount" : 3, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 452.5, 237.0, 182.0, 48.0 ], |
||||
"text" : "Download latest release (.zip), and unzip the folder inside of your Max packages folder." |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-18", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "jit_gl_texture" ], |
||||
"patcher" : { |
||||
"fileversion" : 1, |
||||
"appversion" : { |
||||
"major" : 8, |
||||
"minor" : 5, |
||||
"revision" : 6, |
||||
"architecture" : "x64", |
||||
"modernui" : 1 |
||||
} |
||||
, |
||||
"classnamespace" : "box", |
||||
"rect" : [ 588.0, 150.0, 640.0, 480.0 ], |
||||
"bglocked" : 0, |
||||
"openinpresentation" : 0, |
||||
"default_fontsize" : 12.0, |
||||
"default_fontface" : 0, |
||||
"default_fontname" : "Arial", |
||||
"gridonopen" : 1, |
||||
"gridsize" : [ 15.0, 15.0 ], |
||||
"gridsnaponopen" : 1, |
||||
"objectsnaponopen" : 1, |
||||
"statusbarvisible" : 2, |
||||
"toolbarvisible" : 1, |
||||
"lefttoolbarpinned" : 0, |
||||
"toptoolbarpinned" : 0, |
||||
"righttoolbarpinned" : 0, |
||||
"bottomtoolbarpinned" : 0, |
||||
"toolbars_unpinned_last_save" : 0, |
||||
"tallnewobj" : 0, |
||||
"boxanimatetime" : 200, |
||||
"enablehscroll" : 1, |
||||
"enablevscroll" : 1, |
||||
"devicewidth" : 0.0, |
||||
"description" : "", |
||||
"digest" : "", |
||||
"tags" : "", |
||||
"style" : "", |
||||
"subpatcher_template" : "", |
||||
"assistshowspatchername" : 0, |
||||
"boxes" : [ { |
||||
"box" : { |
||||
"id" : "obj-15", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 159.0, 231.0, 75.0, 22.0 ], |
||||
"text" : "prepend text" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-14", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 159.0, 192.0, 143.0, 22.0 ], |
||||
"text" : "agn.remote frame_export" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-13", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "jit_matrix", "" ], |
||||
"patching_rect" : [ 159.0, 269.0, 359.0, 22.0 ], |
||||
"text" : "jit.gl.text @align 1 @fontsize 80 @position 0 -0.3 0 @color 1 0 1 1" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-3", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "jit_gl_texture", "bang", "" ], |
||||
"patching_rect" : [ 50.0, 100.0, 490.0, 22.0 ], |
||||
"text" : "jit.world @name agn.convert @size 150 150 @capture 1 @enable 1 @erase_color 0 0 0 0" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"comment" : "", |
||||
"id" : "obj-16", |
||||
"index" : 1, |
||||
"maxclass" : "inlet", |
||||
"numinlets" : 0, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "bang" ], |
||||
"patching_rect" : [ 50.0, 40.0, 30.0, 30.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"comment" : "", |
||||
"id" : "obj-17", |
||||
"index" : 1, |
||||
"maxclass" : "outlet", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 50.0, 297.0, 30.0, 30.0 ] |
||||
} |
||||
|
||||
} |
||||
], |
||||
"lines" : [ { |
||||
"patchline" : { |
||||
"destination" : [ "obj-15", 0 ], |
||||
"source" : [ "obj-14", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-13", 0 ], |
||||
"source" : [ "obj-15", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-3", 0 ], |
||||
"source" : [ "obj-16", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-17", 0 ], |
||||
"source" : [ "obj-3", 0 ] |
||||
} |
||||
|
||||
} |
||||
] |
||||
} |
||||
, |
||||
"patching_rect" : [ 10.0, 367.0, 51.0, 22.0 ], |
||||
"saved_object_attributes" : { |
||||
"description" : "", |
||||
"digest" : "", |
||||
"globalpatchername" : "", |
||||
"tags" : "" |
||||
} |
||||
, |
||||
"text" : "p scene" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-12", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 62.5, 484.0, 91.0, 22.0 ], |
||||
"text" : "print @popup 1" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-11", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 62.5, 451.0, 71.0, 22.0 ], |
||||
"text" : "agn.convert" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-7", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 108.0, 417.0, 41.0, 22.0 ], |
||||
"text" : "webm" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-5", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 62.5, 417.0, 29.5, 22.0 ], |
||||
"text" : "gif" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-2", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 10.0, 263.0, 70.0, 22.0 ], |
||||
"text" : "loadmess 1" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-30", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 123.0, 160.0, 164.0, 24.0 ], |
||||
"text" : "Choose your export folder" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-28", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 97.0, 219.0, 126.0, 22.0 ], |
||||
"text" : "prepend export_folder" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-27", |
||||
"maxclass" : "button", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 97.0, 160.0, 24.0, 24.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-25", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"patching_rect" : [ 97.0, 191.0, 90.0, 22.0 ], |
||||
"text" : "opendialog fold" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-20", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 180.0, 262.0, 105.0, 24.0 ], |
||||
"text" : "Trigger export" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-10", |
||||
"maxclass" : "button", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 154.0, 262.0, 24.0, 24.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-1", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 6, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "bang", "", "bang" ], |
||||
"patching_rect" : [ 10.0, 334.0, 71.5, 22.0 ], |
||||
"text" : "agn.host", |
||||
"varname" : "agn.host" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"border" : 0, |
||||
"filename" : "helpdetails.js", |
||||
"id" : "obj-22", |
||||
"ignoreclick" : 1, |
||||
"jsarguments" : [ "agn.convert" ], |
||||
"maxclass" : "jsui", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 10.0, 10.0, 690.0, 136.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"background" : 1, |
||||
"bgcolor" : [ 1.0, 0.658824, 0.14902, 1.0 ], |
||||
"fontname" : "Arial Bold", |
||||
"hint" : "", |
||||
"id" : "obj-19", |
||||
"ignoreclick" : 1, |
||||
"legacytextcolor" : 1, |
||||
"maxclass" : "textbutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 132.0, 264.0, 20.0, 20.0 ], |
||||
"rounded" : 60.0, |
||||
"text" : "2", |
||||
"textcolor" : [ 0.2, 0.2, 0.2, 1.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"background" : 1, |
||||
"bgcolor" : [ 1.0, 0.658824, 0.14902, 1.0 ], |
||||
"fontname" : "Arial Bold", |
||||
"hint" : "", |
||||
"id" : "obj-31", |
||||
"ignoreclick" : 1, |
||||
"legacytextcolor" : 1, |
||||
"maxclass" : "textbutton", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "", "", "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 72.0, 162.0, 20.0, 20.0 ], |
||||
"rounded" : 60.0, |
||||
"text" : "1", |
||||
"textcolor" : [ 0.2, 0.2, 0.2, 1.0 ] |
||||
} |
||||
|
||||
} |
||||
], |
||||
"lines" : [ { |
||||
"patchline" : { |
||||
"destination" : [ "obj-18", 0 ], |
||||
"source" : [ "obj-1", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-5", 0 ], |
||||
"source" : [ "obj-1", 2 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-1", 0 ], |
||||
"source" : [ "obj-10", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-12", 0 ], |
||||
"source" : [ "obj-11", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-15", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-13", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-8", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-15", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-1", 5 ], |
||||
"midpoints" : [ 19.5, 396.0, 90.75, 396.0, 90.75, 323.0, 72.0, 323.0 ], |
||||
"source" : [ "obj-18", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-1", 0 ], |
||||
"source" : [ "obj-2", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-23", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-21", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-24", 0 ], |
||||
"hidden" : 1, |
||||
"source" : [ "obj-23", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-28", 0 ], |
||||
"source" : [ "obj-25", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-25", 0 ], |
||||
"source" : [ "obj-27", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-1", 0 ], |
||||
"source" : [ "obj-28", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-11", 0 ], |
||||
"source" : [ "obj-5", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-11", 0 ], |
||||
"source" : [ "obj-7", 0 ] |
||||
} |
||||
|
||||
} |
||||
], |
||||
"dependency_cache" : [ { |
||||
"name" : "again_utils.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.convert.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.host.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.remote.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn_host.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn_remote.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "helpdetails.js", |
||||
"bootpath" : "C74:/help/resources", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "shell.mxe64", |
||||
"type" : "mx64" |
||||
} |
||||
], |
||||
"autosave" : 0 |
||||
} |
||||
|
||||
} |
@ -0,0 +1,902 @@
|
||||
{ |
||||
"patcher" : { |
||||
"fileversion" : 1, |
||||
"appversion" : { |
||||
"major" : 8, |
||||
"minor" : 5, |
||||
"revision" : 6, |
||||
"architecture" : "x64", |
||||
"modernui" : 1 |
||||
} |
||||
, |
||||
"classnamespace" : "box", |
||||
"rect" : [ 100.0, 100.0, 635.0, 564.0 ], |
||||
"bglocked" : 0, |
||||
"openinpresentation" : 0, |
||||
"default_fontsize" : 12.0, |
||||
"default_fontface" : 0, |
||||
"default_fontname" : "Arial", |
||||
"gridonopen" : 1, |
||||
"gridsize" : [ 15.0, 15.0 ], |
||||
"gridsnaponopen" : 1, |
||||
"objectsnaponopen" : 1, |
||||
"statusbarvisible" : 2, |
||||
"toolbarvisible" : 1, |
||||
"lefttoolbarpinned" : 0, |
||||
"toptoolbarpinned" : 0, |
||||
"righttoolbarpinned" : 0, |
||||
"bottomtoolbarpinned" : 0, |
||||
"toolbars_unpinned_last_save" : 0, |
||||
"tallnewobj" : 0, |
||||
"boxanimatetime" : 200, |
||||
"enablehscroll" : 1, |
||||
"enablevscroll" : 1, |
||||
"devicewidth" : 0.0, |
||||
"description" : "", |
||||
"digest" : "", |
||||
"tags" : "", |
||||
"style" : "", |
||||
"subpatcher_template" : "", |
||||
"showontab" : 1, |
||||
"assistshowspatchername" : 0, |
||||
"title" : "agn.remote", |
||||
"boxes" : [ { |
||||
"box" : { |
||||
"border" : 0, |
||||
"filename" : "helpdetails.js", |
||||
"id" : "obj-22", |
||||
"ignoreclick" : 1, |
||||
"jsarguments" : [ "agn.remote" ], |
||||
"maxclass" : "jsui", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 10.0, 10.0, 578.0, 125.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"hidden" : 1, |
||||
"id" : "obj-31", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 0, |
||||
"numoutlets" : 0, |
||||
"patcher" : { |
||||
"fileversion" : 1, |
||||
"appversion" : { |
||||
"major" : 8, |
||||
"minor" : 5, |
||||
"revision" : 6, |
||||
"architecture" : "x64", |
||||
"modernui" : 1 |
||||
} |
||||
, |
||||
"classnamespace" : "box", |
||||
"rect" : [ 0.0, 26.0, 635.0, 538.0 ], |
||||
"bglocked" : 0, |
||||
"openinpresentation" : 0, |
||||
"default_fontsize" : 12.0, |
||||
"default_fontface" : 0, |
||||
"default_fontname" : "Arial", |
||||
"gridonopen" : 1, |
||||
"gridsize" : [ 15.0, 15.0 ], |
||||
"gridsnaponopen" : 1, |
||||
"objectsnaponopen" : 1, |
||||
"statusbarvisible" : 2, |
||||
"toolbarvisible" : 1, |
||||
"lefttoolbarpinned" : 0, |
||||
"toptoolbarpinned" : 0, |
||||
"righttoolbarpinned" : 0, |
||||
"bottomtoolbarpinned" : 0, |
||||
"toolbars_unpinned_last_save" : 0, |
||||
"tallnewobj" : 0, |
||||
"boxanimatetime" : 200, |
||||
"enablehscroll" : 1, |
||||
"enablevscroll" : 1, |
||||
"devicewidth" : 0.0, |
||||
"description" : "", |
||||
"digest" : "", |
||||
"tags" : "", |
||||
"style" : "", |
||||
"subpatcher_template" : "", |
||||
"showontab" : 1, |
||||
"assistshowspatchername" : 0, |
||||
"boxes" : [ { |
||||
"box" : { |
||||
"id" : "obj-5", |
||||
"maxclass" : "toggle", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 168.0, 365.60000000000008, 24.0, 24.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"border" : 0, |
||||
"filename" : "helpname.js", |
||||
"id" : "obj-13", |
||||
"ignoreclick" : 1, |
||||
"jsarguments" : [ "agn.remote" ], |
||||
"maxclass" : "jsui", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 10.0, 10.0, 243.99200439453125, 57.600002288818359 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"fontname" : "Lato Regular", |
||||
"fontsize" : 13.0, |
||||
"id" : "obj-36", |
||||
"linecount" : 2, |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 10.0, 81.600002288818359, 313.0, 38.0 ], |
||||
"text" : "Outlet presence and order can be defined with arguments. The @offset attribute offsets the phase.", |
||||
"textcolor" : [ 0.32549, 0.345098, 0.372549, 1.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"fontname" : "Lato Regular", |
||||
"fontsize" : 13.0, |
||||
"id" : "obj-37", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 10.0, 63.600002288818359, 274.0, 22.0 ], |
||||
"text" : "Extra arguments and offset." |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-7", |
||||
"maxclass" : "slider", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 268.0, 451.60000000000008, 155.0, 13.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-8", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 6, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 268.0, 415.60000000000008, 97.0, 22.0 ], |
||||
"text" : "scale 0. 1. 0 127" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-10", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "int" ], |
||||
"patching_rect" : [ 268.0, 328.0, 170.0, 22.0 ], |
||||
"text" : "agn.remote phase @offset 0.5" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-2", |
||||
"maxclass" : "slider", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 89.0, 451.60000000000008, 155.0, 13.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-1", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 6, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 89.0, 415.60000000000008, 97.0, 22.0 ], |
||||
"text" : "scale 0. 1. 0 127" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"format" : 6, |
||||
"id" : "obj-25", |
||||
"maxclass" : "flonum", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 10.0, 259.0, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-20", |
||||
"maxclass" : "message", |
||||
"numinlets" : 2, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 10.0, 292.0, 54.0, 22.0 ], |
||||
"text" : "offset $1" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-16", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 66.0, 258.0, 117.0, 24.0 ], |
||||
"text" : "Offset the phase!" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-12", |
||||
"maxclass" : "number", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 10.0, 365.60000000000008, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-4", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "", "int", "" ], |
||||
"patching_rect" : [ 10.0, 328.0, 177.0, 22.0 ], |
||||
"text" : "agn.remote frame phase render" |
||||
} |
||||
|
||||
} |
||||
], |
||||
"lines" : [ { |
||||
"patchline" : { |
||||
"destination" : [ "obj-2", 0 ], |
||||
"source" : [ "obj-1", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-8", 0 ], |
||||
"source" : [ "obj-10", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-4", 0 ], |
||||
"source" : [ "obj-20", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-20", 0 ], |
||||
"source" : [ "obj-25", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-1", 0 ], |
||||
"source" : [ "obj-4", 1 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-12", 0 ], |
||||
"source" : [ "obj-4", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-5", 0 ], |
||||
"source" : [ "obj-4", 2 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-7", 0 ], |
||||
"source" : [ "obj-8", 0 ] |
||||
} |
||||
|
||||
} |
||||
] |
||||
} |
||||
, |
||||
"patching_rect" : [ 483.999999999999886, 141.0, 170.0, 22.0 ], |
||||
"saved_object_attributes" : { |
||||
"description" : "", |
||||
"digest" : "", |
||||
"globalpatchername" : "", |
||||
"tags" : "" |
||||
} |
||||
, |
||||
"text" : "p \"extra arguments and offset\"" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-29", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 180.399999999999977, 416.799999999999955, 129.0, 24.0 ], |
||||
"text" : "Change inter-frame" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-27", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 121.200000000000045, 382.0, 114.0, 24.0 ], |
||||
"text" : "Change duration" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-23", |
||||
"maxclass" : "number", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 128.399999999999977, 416.799999999999955, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"format" : 6, |
||||
"id" : "obj-8", |
||||
"maxclass" : "flonum", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 69.200000000000045, 382.0, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-48", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 509.0, 492.999999999999943, 92.0, 24.0 ], |
||||
"text" : "Export FPS" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-47", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 464.299999999999955, 461.800000000000011, 92.0, 24.0 ], |
||||
"text" : "Render FPS" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-46", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 421.000000000000057, 430.599999999999966, 102.0, 24.0 ], |
||||
"text" : "Loop duration " |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-45", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 372.000000000000057, 399.400000000000034, 220.0, 24.0 ], |
||||
"text" : "Number of frames to export per loop" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-44", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 327.300000000000011, 369.200000000000045, 220.0, 24.0 ], |
||||
"text" : "Number of frames to render per loop" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-43", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 257.5, 336.000000000000057, 88.0, 24.0 ], |
||||
"text" : "Render flag" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-42", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 212.0, 302.800000000000068, 83.0, 24.0 ], |
||||
"text" : "Export flag" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-41", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 196.100000000000023, 270.60000000000008, 264.0, 24.0 ], |
||||
"text" : "Current exported frame number (if exporting)" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-40", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 151.400000000000006, 239.400000000000034, 195.0, 24.0 ], |
||||
"text" : "Current rendered frame number" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-39", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 106.100000000000023, 208.200000000000045, 88.0, 24.0 ], |
||||
"text" : "Loop phase" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"bubble" : 1, |
||||
"id" : "obj-38", |
||||
"maxclass" : "comment", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 0, |
||||
"patching_rect" : [ 36.0, 178.0, 117.0, 24.0 ], |
||||
"text" : "Rendering bangs" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-36", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "jit_matrix", "bang", "" ], |
||||
"patching_rect" : [ 10.0, 494.0, 111.0, 22.0 ], |
||||
"text" : "jit.world @enable 1" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-34", |
||||
"maxclass" : "toggle", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 10.0, 382.0, 24.0, 24.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"format" : 6, |
||||
"id" : "obj-32", |
||||
"maxclass" : "flonum", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 457.0, 494.0, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"format" : 6, |
||||
"id" : "obj-30", |
||||
"maxclass" : "flonum", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 412.299999999999955, 462.800000000000011, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"format" : 6, |
||||
"id" : "obj-26", |
||||
"maxclass" : "flonum", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 367.600000000000023, 431.600000000000023, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-24", |
||||
"maxclass" : "number", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 322.899999999999977, 400.400000000000034, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-21", |
||||
"maxclass" : "number", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 278.199999999999989, 369.200000000000045, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-19", |
||||
"maxclass" : "toggle", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 233.5, 336.000000000000057, 24.0, 24.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-17", |
||||
"maxclass" : "toggle", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "int" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 189.0, 302.800000000000068, 24.0, 24.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-15", |
||||
"maxclass" : "number", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 144.100000000000023, 271.600000000000023, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-13", |
||||
"maxclass" : "number", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 99.400000000000006, 240.400000000000034, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"format" : 6, |
||||
"id" : "obj-11", |
||||
"maxclass" : "flonum", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 2, |
||||
"outlettype" : [ "", "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 54.699999999999989, 209.200000000000017, 50.0, 22.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-5", |
||||
"maxclass" : "button", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "bang" ], |
||||
"parameter_enable" : 0, |
||||
"patching_rect" : [ 10.0, 176.0, 24.0, 24.0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-3", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 1, |
||||
"outlettype" : [ "" ], |
||||
"patching_rect" : [ 10.0, 351.0, 70.0, 22.0 ], |
||||
"text" : "loadmess 1" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-2", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 6, |
||||
"numoutlets" : 3, |
||||
"outlettype" : [ "bang", "", "bang" ], |
||||
"patching_rect" : [ 10.0, 457.0, 71.5, 22.0 ], |
||||
"text" : "agn.host", |
||||
"varname" : "agn.host" |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"box" : { |
||||
"id" : "obj-1", |
||||
"maxclass" : "newobj", |
||||
"numinlets" : 1, |
||||
"numoutlets" : 11, |
||||
"outlettype" : [ "", "int", "", "", "", "", "", "", "", "", "" ], |
||||
"patching_rect" : [ 10.0, 141.0, 465.999999999999943, 22.0 ], |
||||
"text" : "agn.remote" |
||||
} |
||||
|
||||
} |
||||
], |
||||
"lines" : [ { |
||||
"patchline" : { |
||||
"destination" : [ "obj-11", 0 ], |
||||
"source" : [ "obj-1", 1 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-13", 0 ], |
||||
"source" : [ "obj-1", 2 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-15", 0 ], |
||||
"source" : [ "obj-1", 3 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-17", 0 ], |
||||
"source" : [ "obj-1", 4 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-19", 0 ], |
||||
"source" : [ "obj-1", 5 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-21", 0 ], |
||||
"source" : [ "obj-1", 6 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-24", 0 ], |
||||
"source" : [ "obj-1", 7 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-26", 0 ], |
||||
"source" : [ "obj-1", 8 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-30", 0 ], |
||||
"source" : [ "obj-1", 9 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-32", 0 ], |
||||
"source" : [ "obj-1", 10 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-5", 0 ], |
||||
"source" : [ "obj-1", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-36", 0 ], |
||||
"source" : [ "obj-2", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-2", 4 ], |
||||
"source" : [ "obj-23", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-34", 0 ], |
||||
"source" : [ "obj-3", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-2", 0 ], |
||||
"source" : [ "obj-34", 0 ] |
||||
} |
||||
|
||||
} |
||||
, { |
||||
"patchline" : { |
||||
"destination" : [ "obj-2", 2 ], |
||||
"source" : [ "obj-8", 0 ] |
||||
} |
||||
|
||||
} |
||||
], |
||||
"dependency_cache" : [ { |
||||
"name" : "again_utils.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.host.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn.remote.maxpat", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/patchers", |
||||
"patcherrelativepath" : "../patchers", |
||||
"type" : "JSON", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn_host.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "agn_remote.js", |
||||
"bootpath" : "~/Documents/Max 8/Packages/again/javascript", |
||||
"patcherrelativepath" : "../javascript", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "helpdetails.js", |
||||
"bootpath" : "C74:/help/resources", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "helpname.js", |
||||
"bootpath" : "C74:/help/resources", |
||||
"type" : "TEXT", |
||||
"implicit" : 1 |
||||
} |
||||
, { |
||||
"name" : "shell.mxe64", |
||||
"type" : "mx64" |
||||
} |
||||
], |
||||
"autosave" : 0 |
||||
} |
||||
|
||||
} |
@ -0,0 +1,19 @@
|
||||
function get_top_level_patcher() |
||||
{ |
||||
var p = this.patcher; |
||||
while (p.parentpatcher) // If I have a parent, keep going up
|
||||
{ |
||||
p = p.parentpatcher; |
||||
} |
||||
return p; |
||||
|
||||
// var prev = 0;
|
||||
// var owner = this.patcher.box;
|
||||
// while (owner) {
|
||||
// prev = owner;
|
||||
// owner = owner.patcher.box;
|
||||
// }
|
||||
// if (prev)
|
||||
// // post("top patcher is",prev.patcher.name);
|
||||
// return prev.patcher;
|
||||
} |
@ -0,0 +1,65 @@
|
||||
// One day this might handle most of the [agn.host] mechanism.
|
||||
include("again_utils.js") |
||||
autowatch = 1; |
||||
|
||||
inlets = 1; |
||||
outlets = 1; |
||||
|
||||
var host_name = null; |
||||
var top_level_patcher = null; |
||||
|
||||
function loadbang() { |
||||
|
||||
top_level_patcher = get_top_level_patcher(); |
||||
host_name = jsarguments[1]; |
||||
|
||||
if (top_level_patcher) { |
||||
// post("toplevel patcher: " + top_level_patcher.name); post();
|
||||
// outlet(0, host_name);
|
||||
|
||||
// check_for_other_host();
|
||||
|
||||
set_all_agn_host_name(); |
||||
} |
||||
} |
||||
|
||||
|
||||
function set_all_agn_host_name() { |
||||
if (top_level_patcher) { |
||||
top_level_patcher.applydeep(send_agn_host_name); |
||||
} |
||||
} |
||||
// set_all_agn_host_name.local = 0;
|
||||
|
||||
function send_agn_host_name (obj) { |
||||
if (obj.maxclass === "js") { |
||||
// post("js obj:" + obj.maxclass); post();
|
||||
var patcher_name = obj.patcher.getattr("name"); |
||||
if (["agn.remote","agn.convert"].indexOf(patcher_name) > -1) { |
||||
// post(obj.varname); post();
|
||||
obj.message("set_agn_host_name", host_name); |
||||
} |
||||
} |
||||
} |
||||
// send_agn_host_name.local = 0;
|
||||
|
||||
function request_host_name() { |
||||
set_all_agn_host_name(); |
||||
} |
||||
// request_host_name.local = 0;
|
||||
|
||||
|
||||
function check_for_other_host() { |
||||
top_level_patcher.applydeep(check_is_agn_host); |
||||
} |
||||
|
||||
|
||||
// Need some logic to detect if the currently check agn.host is this agn.host
|
||||
function check_is_agn_host (obj) { |
||||
if (obj.maxclass === "js") { |
||||
var patcher_name = obj.patcher.getattr("name"); |
||||
if (patcher_name === "agn.host") { |
||||
error("An agn.host object already exist in the patcher hierarchy. Please delete one."); post(); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,60 @@
|
||||
include("again_utils.js") |
||||
outlets = 2; |
||||
|
||||
|
||||
var top_level_patcher = null; |
||||
// var agn_host_js = null;
|
||||
var host_name = null; |
||||
|
||||
var remote_args = []; |
||||
// var patcherargs = null;
|
||||
|
||||
|
||||
function loadbang() { |
||||
// post("this: " + this.box.maxclass);
|
||||
// patcherargs = this.patcher.newdefault(400, 25, "patcherargs", "test");
|
||||
// this.patcher.connect(patcherargs, 0, this.box, 0);
|
||||
// patcherargs.bang();
|
||||
|
||||
top_level_patcher = get_top_level_patcher(); |
||||
|
||||
top_level_patcher.applydeep(get_host_name); |
||||
|
||||
} |
||||
|
||||
// function anything() {
|
||||
// remote_args = arrayfromargs(messagename,arguments);
|
||||
// post("number of args: " + remote_args.length);
|
||||
// if (remote_args.length == 0) {
|
||||
// outlet(1, "dump");
|
||||
// } else {
|
||||
// outlet(1, remote_args);
|
||||
// }
|
||||
// }
|
||||
|
||||
function get_host_name(obj) { |
||||
if (obj.maxclass === "js") { |
||||
// post(obj.varname); post();
|
||||
if (obj.patcher.getattr("name") === "agn.host") { |
||||
// post("troué !! " + obj.value); post();
|
||||
obj.message("request_host_name"); |
||||
|
||||
} |
||||
} |
||||
} |
||||
|
||||
function set_agn_host_name(param) { |
||||
// post("set host name: " + param); post();
|
||||
if (host_name !== param) { |
||||
host_name = param; |
||||
outlet(0, param); |
||||
|
||||
// if (remote_args.length == 0) {
|
||||
// outlet(1, "dump");
|
||||
// } else {
|
||||
// outlet(1, remote_args);
|
||||
// }
|
||||
|
||||
} |
||||
|
||||
} |
@ -0,0 +1,24 @@
|
||||
MIT License |
||||
|
||||
Copyright (c) 2023 Théophile Clet |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
SOFTWARE. |
||||
|
||||
Additionnal licensing: |
||||
shell object: MIT License - Copyright (c) 2013-2018 Jeremy Bernstein and Bill Orcutt |
Binary file not shown.
@ -0,0 +1,28 @@
|
||||
{ |
||||
"name" : "Again", |
||||
"displayname" : "", |
||||
"version" : "0.0.1", |
||||
"author" : "Théophile Clet", |
||||
"authors" : [ ], |
||||
"description" : "Create and export seamlessly looping videos", |
||||
"tags" : ["animation", "loop", "noise", "video", "gif"], |
||||
"website" : "", |
||||
"extends" : "", |
||||
"extensible" : 0, |
||||
"max_version_min" : "8.5.6", |
||||
"max_version_max" : "none", |
||||
"os" : { |
||||
"macintosh" : { |
||||
"min_version" : "10.11.x", |
||||
"platform" : [ "x64", "aarch64" ] |
||||
} |
||||
, |
||||
"windows" : { |
||||
"min_version" : "10", |
||||
"platform" : [ "x64" ] |
||||
} |
||||
|
||||
} |
||||
, |
||||
"homepatcher" : "NOTHEREYET.maxpat" |
||||
} |
Loading…
Reference in new issue