Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 5fcfcb7517038d1f44ab4e478e6e61fa > files > 2358

csound-doc-6.10.0-1.mga7.noarch.rpm

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>link_metro</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <link rel="stylesheet" type="text/css" href="syntax-highlighting.css" />
    <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="link_is_enabled.html" title="link_is_enabled" />
    <link rel="next" href="link_peers.html" title="link_peers" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">link_metro</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="link_is_enabled.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="link_peers.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="link_metro"></a>
      <div class="titlepage"></div>
      <a id="IndexLinkMetro" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">link_metro</span>
        </h2>
        <p>link_metro — 
      Returns a trigger that is 1 on the beat and 0 otherwise along with beat, phase, and time for this session of Ableton Link.
    </p>
      </div>
      <div class="refsect1">
        <a id="idm281472920362488"></a>
        <h2>Description</h2>
        <p>
       Returns a trigger that is 1 on the beat and 0 otherwise along with the beat, phase, and current time of Ableton Link for this session for a given quantum.
    </p>
      </div>
      <div class="refsect1">
        <a id="idm281472920361128"></a>
        <h2>Syntax</h2>
        <pre class="synopsis">k_trigger, k_beat, k_phase, k_current_time_seconds <span class="command"><strong>link_metro</strong></span> i_peer [, k_quantum]</pre>
      </div>
      <div class="refsect1">
        <a id="idm281472920296232"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em>i_peer</em></span> -- The Ableton Link peer object.
    </p>
      </div>
      <div class="refsect1">
        <a id="idm281472920294104"></a>
        <h2>Performance</h2>
        <p>
      <span class="emphasis"><em>k_trigger</em></span> -- Trigger, 1 at the instant of the first beat in each local quantum of the beat, and 0 otherwise.
    </p>
        <p>
      <span class="emphasis"><em>k_beat</em></span> -- The number of the beat, counting from when this peer is enabled.
    </p>
        <p>
      <span class="emphasis"><em>k_phase</em></span> -- The phase of the beat with respect to the quantum.
    </p>
        <p>
      <span class="emphasis"><em>k_current_time_seconds</em></span> -- The time of the beat, counting from when this peer is enabled.
    </p>
        <p>
      <span class="emphasis"><em>k_quantum</em></span> -- The local quantum of the beat, which may be a multiple or fraction of a beat. The default value is 1.
    </p>
        <p>
     This opcode permits the use of an Ableton Link session beat to trigger events in Csound. It also can be used to obtain the session time and beat, as well as the phase with respect to the local quantum of the beat. For example, a quantum of 4 can imply 4/4 time, or a quantum of 0.25 will subdivide the beat by 4.
   </p>
      </div>
      <div class="refsect1">
        <a id="idm281472920288248"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the link_metro opcode. It uses the file <a class="ulink" href="examples/ableton_link.csd" target="_top"><em class="citetitle">ableton_link.csd</em></a>.
      </p>
        <div class="example">
          <a id="idm281472920285128"></a>
          <p class="title">
            <strong>Example 465. Example of the link_metro opcode.</strong>
          </p>
          <div class="example-contents">
            <div class="refsect1">
              <a id="idm281472747268616"></a>
              <pre class="programlisting">
<span class="nt">&lt;CsoundSynthesizer&gt;</span>
<span class="nt">&lt;CsLicense&gt;</span>
Run the Ableton Link "LinkHut" example application, or some other 
Ableton Link peer, while you run this CSD to see what happens.
<span class="nt">&lt;/CsLicense&gt;</span>
<span class="nt">&lt;CsOptions&gt;</span>
-m0 -d -odac 
<span class="nt">&lt;/CsOptions&gt;</span>
<span class="nt">&lt;CsInstruments&gt;</span>
<span class="vg">sr</span> <span class="o">=</span> <span class="mi">44100</span>
<span class="vg">ksmps</span> <span class="o">=</span> <span class="mi">10</span>
<span class="vg">nchnls</span> <span class="o">=</span> <span class="mi">2</span>

<span class="nb">alwayson</span> <span class="s">"LinkMonitor"</span>

gi<span class="n">_peer</span> <span class="n">link_create</span> <span class="mi">72</span>
gk<span class="n">_beat</span> <span class="nb">init</span> <span class="mi">0</span>

<span class="kd">instr</span> <span class="nf">Beep</span>
a<span class="n">signal</span> <span class="nb">oscils</span> <span class="mi">20000</span><span class="p">,</span> <span class="nb">p4</span><span class="p">,</span> <span class="mi">0</span>
<span class="nb">outs</span> a<span class="n">signal</span><span class="p">,</span> a<span class="n">signal</span>
<span class="kd">endin</span>

<span class="kd">instr</span> <span class="nf">TempoChange</span>
<span class="n">link_tempo_set</span> gi<span class="n">_peer</span><span class="p">,</span> <span class="mi">80</span>
<span class="kd">endin</span>

<span class="kd">instr</span> <span class="nf">LinkEnable</span>
i<span class="n">_enabled</span> <span class="o">=</span> <span class="nb">p4</span>
<span class="n">link_enable</span> gi<span class="n">_peer</span><span class="p">,</span> i<span class="n">_enabled</span>
<span class="kd">endin</span>

<span class="kd">instr</span> <span class="nf">LinkMonitor</span>
i<span class="n">_kperiod_seconds</span> <span class="o">=</span> <span class="vg">ksmps</span> <span class="o">/</span> <span class="vg">sr</span>
<span class="nb">printf_i</span> <span class="s">"kperiod: %9.6f seconds.</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> i<span class="n">_kperiod_seconds</span>
<span class="nb">printf_i</span> <span class="s">"gi_peer: %g</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> gi<span class="n">_peer</span>
<span class="n">link_enable</span> gi<span class="n">_peer</span><span class="p">,</span> <span class="mi">1</span>
k<span class="n">_trigger</span><span class="p">,</span> gk<span class="n">_beat</span><span class="p">,</span> k<span class="n">_phase</span><span class="p">,</span> k<span class="n">_time</span> <span class="n">link_metro</span> gi<span class="n">_peer</span><span class="p">,</span> <span class="mi">1</span>
k<span class="n">_peers</span> <span class="n">link_peers</span> gi<span class="n">_peer</span>
k<span class="n">_tempo</span> <span class="n">link_tempo_get</span> gi<span class="n">_peer</span>
k<span class="n">_enabled</span> <span class="n">link_is_enabled</span> gi<span class="n">_peer</span>
k<span class="n">_hz</span> <span class="o">=</span> <span class="mi">1000</span>
<span class="k">if</span> <span class="nb">floor</span><span class="p">(</span>gk<span class="n">_beat</span> <span class="o">%</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="k">then</span>
k<span class="n">_hz</span> <span class="o">=</span> <span class="mi">3000</span>
<span class="k">else</span>
k<span class="n">_hz</span> <span class="o">=</span> <span class="mi">2000</span>
<span class="k">endif</span>
<span class="nb">schedkwhen</span> k<span class="n">_trigger</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s">"Beep"</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">,</span> k<span class="n">_hz</span>
<span class="nb">printf</span> <span class="s">"LinkMonitor: gi_peer: %g k_enabled: %9.4f k_trigger: %9.4f beat: %9.4f k_phase: %9.4f time: %9.4f tempo: %9.4f peers: </span><span class="si">%3d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> k<span class="n">_trigger</span><span class="p">,</span> gi<span class="n">_peer</span><span class="p">,</span> k<span class="n">_enabled</span><span class="p">,</span> k<span class="n">_trigger</span><span class="p">,</span> gk<span class="n">_beat</span><span class="p">,</span> k<span class="n">_phase</span><span class="p">,</span> k<span class="n">_time</span><span class="p">,</span> k<span class="n">_tempo</span><span class="p">,</span> k<span class="n">_peers</span>
<span class="kd">endin</span>
<span class="nt">&lt;/CsInstruments&gt;</span>
<span class="nt">&lt;CsScore&gt;</span>
<span class="nb">f</span> <span class="mi">0</span> <span class="mi">360</span>
<span class="nb">i</span> <span class="s">"TempoChange"</span> <span class="mi">10</span> <span class="mi">80</span>
<span class="nb">i</span> <span class="s">"LinkEnable"</span>  <span class="mi">20</span> <span class="mi">1</span> <span class="mi">0</span>
<span class="nb">i</span> <span class="s">"LinkEnable"</span>  <span class="mi">30</span> <span class="mi">1</span> <span class="mi">1</span>
<span class="nt">&lt;/CsScore&gt;</span>
<span class="nt">&lt;/CsoundSynthesizer&gt;</span>
</pre>
            </div>
          </div>
        </div>
        <p><br class="example-break" />
    </p>
      </div>
      <div class="refsect1">
        <a id="idm281472920283368"></a>
        <h2>See Also</h2>
        <p>
        </p>
        <p>See the section <a class="link" href="OSCNetwork.html#AbletonLink" title="Ableton Link Opcodes"><em class="citetitle">Ableton Link Opcodes</em></a> for more information.</p>
        <p>
    </p>
      </div>
      <div class="refsect1">
        <a id="idm281472920280456"></a>
        <h2>Credits</h2>
        <p>By: Michael Gogins 2017</p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="link_is_enabled.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="link_peers.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">link_is_enabled </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> link_peers</td>
        </tr>
      </table>
    </div>
  </body>
</html>