[][src]Crate csound

Csound

This crate contains safe Csound bindings for the csound's C API. The supported csound's version is >= 6.12

What is Csound?

Csound is a sound and music computing system. If you want to known more visit:

Hello World

A simple Hello world example which reproduces a simple sine wave signal. The call to the csound's perform() method will block the application until the end of the score have been reached. There are another alternatives for non blocking calls to perform csound's scores or csd files. see the examples in the project's source directory or go to csound's examples repository for more advanced examples and use cases.

extern crate csound;
use csound::*;

static score: &str = "<CsoundSynthesizer>
<CsOptions>
-odac
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

kamp = .6
kcps = 440
ifn  = p4

asig oscil kamp, kcps, ifn
     outs asig,asig

endin
</CsInstruments>
<CsScore>
f1 0 16384 10 1
i 1 0 2 1
e
</CsScore>
</CsoundSynthesizer>";

fn main() {
    let mut cs = Csound::new();

   /* a message callback*/
   let func = |_, message:&str| {
       print!("{}", message);
   };
   cs.message_string_callback(|_, msg: &str| {
        print!("{}", msg) );
   cs.compile_csd_text(csd).unwrap();
   cs.start().unwrap();

   cs.perform();
}

Structs

BufferPtr

Csound buffer pointer representation. This struct is build up to manipulate directly csound's buffers.

ChannelHints

Holds the channel HINTS information.

ChannelInfo

Holds all relevant information about a csound bus channel.

ChannelPtr

Struct represents a csound channel object.

CircularBuffer

Csound's Circular Buffer object. This struct wraps a *mut T pointer to a circular buffer allocated by csound. This Circular buffer won't outlive the csound instance that allocated the buffer.

ControlChannelPtr

Rust representation for a raw csound channel pointer

ControlChannelType

Defines the types of csound bus cahnnels

CsAudioDevice

Struct with specific audio device information.

CsMidiDevice

Struct with specific MIDI device information.

Csound

Opaque struct representing an csound object

FileInfo

Struct containing the relevant info of files are opened by csound.

OpcodeListEntry

Struct with information about a csound opcode.

PvsDataExt

Holds pvs data info of a pvs channel.

RtAudioParams

Real time audio params for a specific audio Device.

Table

Csound table representation. This struct is build up to manipulate directly a csound's table.

Enums

AudioChannel

An audio channel identifier

ChannelData

Enum variant which represent channel's types in callbacks.

ControlChannel

A control channel identifier

FileTypes

Describes the differents file types which are supported are by csound

Language

The languages supported by csound

MessageType

Define the type of csound messages

Status

Csound error codes

StrChannel

A string channel identifier

Traits

GetChannel
InputChannelPtr

Tait with the write function which is implemented by control, audio and string channels

OutputChannelPtr

Trait with the read function which is implemented by like control, audio and string channels

Type Definitions

RTCLOCK