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
//! 
//! A generic, fast, audio digital signal processing library.
//!
//! There are two primary points of interest:
//!
//! 1. The [**Graph** type](./graph/struct.Graph.html) - a directed, acyclic audio DSP graph.
//!
//! 2. The [**Node** trait](./node/trait.Node.html) - to be implemented for types used within the
//!    **Graph**.
//!

#![forbid(unsafe_code)]
#![deny(missing_docs)]

pub extern crate daggy;
pub extern crate sample;

pub use daggy::Walker;
pub use graph::{
    Connection,
    Dag,
    EdgeIndex,
    Graph,
    Inputs,
    NodeIndex,
    NodesMut,
    Outputs,
    PetGraph,
    RawEdges,
    RawNodes,
    VisitOrder,
    VisitOrderReverse,
    WouldCycle,
};
pub use node::Node;
pub use sample::{
    conv,
    rate,
    slice,
    signal,
    Duplex as DuplexSample,
    Frame,
    FromSample,
    ToSample,
    Sample,
    Signal,
};

mod graph;
mod node;

/// The amplitude multiplier.
pub type Volume = f32;

/// The spacial positioning of the node. Currently only supports Stereo or Mono.
/// -1.0 = Left.
///  0.0 = Center.
///  1.0 = Right.
pub type Panning = f32;