initial commit

This commit is contained in:
2023-12-22 14:25:03 +01:00
commit 289a70e01d
20 changed files with 26406 additions and 0 deletions

View File

@@ -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>

110
docs/agn.host.maxref.xml Normal file
View File

@@ -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>

View File

@@ -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>