<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://ftm2.ircam.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beller</id>
		<title>ftm - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://ftm2.ircam.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beller"/>
		<link rel="alternate" type="text/html" href="https://ftm2.ircam.fr/index.php/Special:Contributions/Beller"/>
		<updated>2026-05-16T05:35:11Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>https://ftm2.ircam.fr/index.php?title=If_method&amp;diff=2612</id>
		<title>If method</title>
		<link rel="alternate" type="text/html" href="https://ftm2.ircam.fr/index.php?title=If_method&amp;diff=2612"/>
				<updated>2009-05-05T08:45:53Z</updated>
		
		<summary type="html">&lt;p&gt;Beller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;if &amp;lt;num: condition&amp;gt; &amp;lt;any: true value&amp;gt; &amp;lt;any: false value&amp;gt; &lt;br /&gt;
&lt;br /&gt;
- choose between two values (both conditional values are evaluated)&lt;br /&gt;
&lt;br /&gt;
The 'if' function (not method) should be pretty clear if you keep in mind the&lt;br /&gt;
two drawbacks:&lt;br /&gt;
&lt;br /&gt;
1. it is a function, i.e. all arguments are evaluated before the 'if' gets to&lt;br /&gt;
decide which one to output, i.e. something like&lt;br /&gt;
    &lt;br /&gt;
    (if ($1 != 1) ($myfmat mul 2) ($myfmat zero))&lt;br /&gt;
&lt;br /&gt;
always multiplies and then zeros the myfmat!&lt;br /&gt;
&lt;br /&gt;
2. The result of 'if' can only be one atom, not a list.  If you want to output&lt;br /&gt;
one list or another, use tuples, with a subsequent ftm.list, or the&lt;br /&gt;
soon-to-be-official #untup feature of ftm.mess.  This can be used with a 'route'&lt;br /&gt;
to send a list out to one or another connection.&lt;br /&gt;
&lt;br /&gt;
    (if ($mydict exists $1) {1 $mydict[$1]} {2 $1 42})&lt;br /&gt;
    |&lt;br /&gt;
    ftm.list&lt;br /&gt;
    |&lt;br /&gt;
    route 1 2&lt;/div&gt;</summary>
		<author><name>Beller</name></author>	</entry>

	<entry>
		<id>https://ftm2.ircam.fr/index.php?title=Find_method&amp;diff=2611</id>
		<title>Find method</title>
		<link rel="alternate" type="text/html" href="https://ftm2.ircam.fr/index.php?title=Find_method&amp;diff=2611"/>
				<updated>2009-05-05T08:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Beller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;find &amp;lt;expr: expression&amp;gt; &amp;lt;any: arguments to expression...&amp;gt; &lt;br /&gt;
&lt;br /&gt;
- leave indices where expression is true (use $x, $i and $self)&lt;br /&gt;
&lt;br /&gt;
The find method of fmat replaces an fmat with the (unwrapped) indices of the&lt;br /&gt;
elements for which the given expression returned non-zero.  The expression can&lt;br /&gt;
use the arguments to the find method following the expression as $1, $2, etc.,&lt;br /&gt;
and the predefined super-local variables $x (the value of the element being&lt;br /&gt;
tested), $i (its index), and $self (the reference to the fmat itself).&lt;br /&gt;
Otherwise, only global definitions are visible within the expression.  (The&lt;br /&gt;
latter holds for any expression evaluation.)&lt;br /&gt;
&lt;br /&gt;
Example: ($myfmat find $myexpr 1 20) with myexpr = '(($x &amp;gt;= $1) &amp;amp;&amp;amp; ($i &amp;lt; $2))'&lt;br /&gt;
finds values greater than 1 in the first 20 indices and replaces $myfmat with&lt;br /&gt;
their indices.&lt;/div&gt;</summary>
		<author><name>Beller</name></author>	</entry>

	<entry>
		<id>https://ftm2.ircam.fr/index.php?title=Find_method&amp;diff=2610</id>
		<title>Find method</title>
		<link rel="alternate" type="text/html" href="https://ftm2.ircam.fr/index.php?title=Find_method&amp;diff=2610"/>
				<updated>2009-05-05T08:42:08Z</updated>
		
		<summary type="html">&lt;p&gt;Beller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  find &amp;lt;expr: expression&amp;gt; &amp;lt;any: arguments to expression...&amp;gt; - leave indices&lt;br /&gt;
where expression is true (use $x, $i and $self)&lt;br /&gt;
&lt;br /&gt;
The find method of fmat replaces an fmat with the (unwrapped) indices of the&lt;br /&gt;
elements for which the given expression returned non-zero.  The expression can&lt;br /&gt;
use the arguments to the find method following the expression as $1, $2, etc.,&lt;br /&gt;
and the predefined super-local variables $x (the value of the element being&lt;br /&gt;
tested), $i (its index), and $self (the reference to the fmat itself).&lt;br /&gt;
Otherwise, only global definitions are visible within the expression.  (The&lt;br /&gt;
latter holds for any expression evaluation.)&lt;br /&gt;
&lt;br /&gt;
Example: ($myfmat find $myexpr 1 20) with myexpr = '(($x &amp;gt;= $1) &amp;amp;&amp;amp; ($i &amp;lt; $2))'&lt;br /&gt;
finds values greater than 1 in the first 20 indices and replaces $myfmat with&lt;br /&gt;
their indices.&lt;/div&gt;</summary>
		<author><name>Beller</name></author>	</entry>

	<entry>
		<id>https://ftm2.ircam.fr/index.php?title=Documentation&amp;diff=2609</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ftm2.ircam.fr/index.php?title=Documentation&amp;diff=2609"/>
				<updated>2009-05-05T08:40:42Z</updated>
		
		<summary type="html">&lt;p&gt;Beller: /* FTM Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The FTM &amp;amp; Co [[Download | releases]] come with help patches and basic tutorials. In addition, there are these:&lt;br /&gt;
&lt;br /&gt;
* [http://freesoftware.ircam.fr/wiki/index.php/FTM Old FAQ on freesoftware.ircam.fr]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
== FTM Basics ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
* [[Expressions]] ... all about expressions in FTM&lt;br /&gt;
* [[Message Box]] ... the ''ftm.mess'' external&lt;br /&gt;
* [[Object and Value Definitions]] ... the ''ftm.object'' external&lt;br /&gt;
* [[Gabor Timing]] ... might need some explantions&lt;br /&gt;
* [[find method]] ... the ''find'' method&lt;br /&gt;
* [[if method]] ... the ''if'' method&lt;br /&gt;
&lt;br /&gt;
== FTM &amp;amp; Co Reference ==&lt;br /&gt;
&lt;br /&gt;
* [[FTM Classes]] ... data structures such as fmat, dict, track, etc.&lt;br /&gt;
* [[FTM Modules]] ... set of basic FTM externals&lt;br /&gt;
* [[Gabor Modules]] ... externals of the [[Gabor]] package&lt;br /&gt;
* [[MnM Modules]] ... externals of the [[MnM]] package&lt;br /&gt;
&lt;br /&gt;
== FTM Development ==&lt;br /&gt;
&lt;br /&gt;
* The FTM header files are also included in the FTMlib framework that is part of the standard [[Download | FTM distributions]].&lt;br /&gt;
&lt;br /&gt;
* [http://recherche.ircam.fr/equipes/temps-reel/ftm/api/ FTM API reference documentation] ... Doxygen API documentation generated from the FTM sources at the [http://sourceforge.net/projects/ftm/ FTM SourceForge project]&lt;br /&gt;
&lt;br /&gt;
* [[SDK]] ... All you need to write externals using FTM&lt;br /&gt;
&lt;br /&gt;
* [[Developer's Corner]] ... Tips and tricks how to write classes and externals using FTM&lt;br /&gt;
&lt;br /&gt;
* [http://www.sourceforge.net/projects/ftm ftm-devel] ... Developer's mailing list on sourceforge&lt;/div&gt;</summary>
		<author><name>Beller</name></author>	</entry>

	</feed>