summaryrefslogtreecommitdiff
path: root/cscore/top.xml
blob: e83c13990ac988bfe116f70f3b2c93f7925bf566 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<chapter id="CscoreTop">
  <title>Cscore</title>

  <para>
    <indexterm id="IndexCscore"><primary>Cscore</primary></indexterm>
    <emphasis>Cscore</emphasis> is an API (application programming interface) for generating and manipulating numeric score files. It is a part of the larger Csound API and includes a number of functions that can be called by a user-designed program written in the C language. <emphasis>Cscore</emphasis> can be invoked either as a standalone score preprocessor, or as part of a Csound performance by including the <link linkend="FlagsMinusUpperC">-C flag</link> in its arguments:
  </para>

  <para>
    <cmdsynopsis>
      <command>cscore</command>
      <arg><replaceable>scorefilein</replaceable></arg>
      <arg><replaceable>&gt; scorefileout</replaceable></arg>
    </cmdsynopsis>
  </para>

  <para>(where <emphasis>cscore</emphasis> is the name of your user-written program), or</para>

  <para>
    <cmdsynopsis>
      <command>csound</command>
      <arg>-C</arg>
      <arg><option>otherflags</option></arg>
      <arg><replaceable>orchname</replaceable></arg>
      <arg><replaceable>scorename</replaceable></arg>
    </cmdsynopsis>
  </para>

  <para>
    The available API functions augment the C language library functions; they can read either standard numeric scores or pre-sorted score files, can massage and expand the data in various ways, then make it available for performance by a Csound orchestra.
  </para>

  <para>
    The user-written control program is written in C, and is compiled and linked to the Csound library (or the csound commandline program) by the user. It is not essential to know the C language well to write this program, since the function calls have a simple syntax, and are powerful enough to do most of the complicated work. Additional power can come from C later as the need arises.
  </para>

  <para>
    The following sections explain all of the steps needed to make use of <emphasis>Cscore</emphasis>:
  </para>

    <itemizedlist>
      <listitem>
        <simpara><link linkend="CscoreEvents"><citetitle>Events, Lists, and Operations </citetitle></link> - Explains the syntax of <emphasis>Cscore</emphasis> functions and data structures.</simpara>
      </listitem>
      <listitem>
      <simpara><link linkend="CscoreMain"><citetitle>Writing a Cscore Control Program</citetitle></link> - Illustrates by example how to write your own control program.</simpara>
      </listitem>
      <listitem>
      <simpara><link linkend="CscoreCompile"><citetitle>Compiling a Cscore Program</citetitle></link> - Outlines the steps for compiling and linking with the Csound library.</simpara>
      </listitem>
      <listitem>
      <simpara><link linkend="CscoreAdvancd"><citetitle>More Advanced Examples</citetitle></link> - Addresses advanced issues such as multiple input scores and the details of running <emphasis>Cscore</emphasis> inside of a Csound performance.</simpara>
      </listitem>
    </itemizedlist>

&cscoreevents;
&cscoremain;
&cscorecompile;
&cscoreadvancd;

</chapter>