Skip to content

Commit

Permalink
Docs update 0.9.2318
Browse files Browse the repository at this point in the history
  • Loading branch information
cesaref committed Feb 23, 2024
1 parent 510ae5b commit 3451f56
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 25 deletions.
2 changes: 1 addition & 1 deletion docs/PatchFormat/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ For example, the `HelloWorld.cmajorpatch` contains:
"version": "1.0",
"name": "Hello World",
"description": "The classic audio Hello World",
"manufacturer": "Sound Stacks Ltd",
"manufacturer": "Cmajor Software Ltd",
"category": "generator",
"isInstrument": false,
"source": "HelloWorld.cmajor"
Expand Down
8 changes: 4 additions & 4 deletions docs/QuckStart/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ This command will prompt you to select the name of a new `.cmajorpatch` file. It

#### `Cmajor: Find example patches`

This command will take you to the Cmajor repository where you can find our example patches. You can either clone the [whole repository](https://github.com/SoundStacks/cmajor) from github, or just download specific examples from the [examples](https://github.com/SoundStacks/cmajor/tree/main/examples/patches) folder.
This command will take you to the Cmajor repository where you can find our example patches. You can either clone the [whole repository](https://github.com/cmajor-lang/cmajor) from github, or just download specific examples from the [examples](https://github.com/cmajor-lang/cmajor/tree/main/examples/patches) folder.

#### `Cmajor: Export patch as JUCE plugin`

Expand All @@ -42,7 +42,7 @@ This will prompt you for a folder in which to create a new JUCE project containi

## Installing the Cmajor command-line tools

On the Github releases page, you'll find [downloadable binaries for Mac and Windows](https://github.com/SoundStacks/cmajor/releases). These provide:
On the Github releases page, you'll find [downloadable binaries for Mac and Windows](https://github.com/cmajor-lang/cmajor/releases). These provide:

- The command-line tool (`cmaj` or `cmaj.exe`) which provides a compiler, utilities and can load and run Cmajor patches.
- The redistributable libraries (`CmajPerformer.dll` or `libCmajPerformer.so`) which are needed if you're building your own native app which embeds the Cmajor JIT engine.
Expand All @@ -52,7 +52,7 @@ On the Github releases page, you'll find [downloadable binaries for Mac and Wind

The `cmaj` command can create, build, test and run patches, as well as perform code-generation of C++ and plugin projects, and various other tasks.

To install, just [download](https://github.com/SoundStacks/cmajor/releases) and unzip the executable into a location of your choice, and you can run it from a terminal.
To install, just [download](https://github.com/cmajor-lang/cmajor/releases) and unzip the executable into a location of your choice, and you can run it from a terminal.

For help, run:

Expand All @@ -78,7 +78,7 @@ While running a patch, the console app will detect any file changes and recompil

## Loading patches in your DAW with the Cmajor VST/AU plugin

In our [binary releases](https://github.com/SoundStacks/cmajor/releases), you'll find an installer for our plugin, which can be loaded into most DAWs like any other plugin.
In our [binary releases](https://github.com/cmajor-lang/cmajor/releases), you'll find an installer for our plugin, which can be loaded into most DAWs like any other plugin.

When you create an instance of this plugin in a DAW, you can drag-and-drop a `.cmajorpatch` file onto the plugin's GUI to make it load that patch.

Expand Down
34 changes: 17 additions & 17 deletions docs/StandardLibrary/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ <h2><span class="keyword">namespace </span>std</h2>
</div>
<div class="namespace" id="audio_data" href="#audio_data">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::audio_data<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_audio_data.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::audio_data<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_audio_data.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>These structures are useful for representing chunks of audio data with a known sample-rate. They&#39;re useful types when you&#39;re declaring an external variable which is going to hold audio file data or generated waveform data. <br>Note that duck-typing is used for the types of externals which contain audio data, so you can use your own classes as long as they contain a couple of fields which can hold the frame data and a sample rate. If you need a struct for audio data with more than 2 channels, you can just declare your own type using an appropriately-sized vector for the frames. <br></div>
Expand Down Expand Up @@ -228,7 +228,7 @@ <h2>std.envelopes</h2>
</div>
<div class="namespace" id="envelopes" href="#envelopes">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::envelopes<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_envelopes.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::envelopes<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_envelopes.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>Utilities for calculating and applying static and dynamic gain levels. <br></div>
Expand Down Expand Up @@ -312,7 +312,7 @@ <h2>std.filters</h2>
</div>
<div class="namespace" id="filters" href="#filters">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::filters<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_filters.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::filters<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_filters.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="specialisations"><span class="specialisation">
Expand Down Expand Up @@ -1943,7 +1943,7 @@ <h2>std.frequency</h2>
</div>
<div class="namespace" id="frequency7" href="#frequency7">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::frequency<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_frequency.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::frequency<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_frequency.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>Contains DFT implementations for complex and real numbers <br>The buffers can be either float32 or float64 (or complex32/complex64). Buffer sizes must be a power of 2. <br></div>
Expand Down Expand Up @@ -1986,7 +1986,7 @@ <h2>std.intrinsics</h2>
</div>
<div class="namespace" id="intrinsics" href="#intrinsics">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::intrinsics<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_intrinsics.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::intrinsics<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_intrinsics.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>This namespace contains placeholders and reference implementations of basic functions. <br>The compiler treats the <code>intrinsics</code> namespace as a special-case, allowing its functions to act as if they&#39;re in the global namespace. <br>When running code, the JIT engines are free to replace the implementation of intrinsic functions with optimised alternatives if possible, although many of the functions in here also provide reference implementations to be used as a fallback when no native version is available. <br></div>
Expand Down Expand Up @@ -2351,7 +2351,7 @@ <h2>std.levels</h2>
</div>
<div class="namespace" id="smoothing" href="#smoothing">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::smoothing<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_levels.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::smoothing<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_levels.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="specialisations"><span class="specialisation">
Expand Down Expand Up @@ -2496,7 +2496,7 @@ <h2>Functions</h2>
</div>
<div class="namespace" id="levels" href="#levels">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::levels<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_levels.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::levels<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_levels.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="functions">
Expand Down Expand Up @@ -2677,7 +2677,7 @@ <h2>Functions</h2>
</div>
<div class="namespace" id="pan_law" href="#pan_law">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::pan_law<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_levels.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::pan_law<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_levels.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="functions">
Expand Down Expand Up @@ -2705,7 +2705,7 @@ <h2>std.matrix</h2>
</div>
<div class="namespace" id="matrix" href="#matrix">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::matrix<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_matrix.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::matrix<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_matrix.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>This namespace contains various matrix manipulation functions. <br></div>
Expand Down Expand Up @@ -2763,7 +2763,7 @@ <h2>std.midi</h2>
<div class="comment">Various utilities for handling raw MIDI data.</div>
<div class="namespace" id="midi" href="#midi">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::midi<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_midi.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::midi<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_midi.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>The classes in the standard library which deal with synthesisers have been designed to avoid raw MIDI messages, and instead to work with strongly-typed event objects for note-ons/offs, pitch-bends, etc, which are vastly more usable than a 3-byte code that was designed for a 1980s serial link. <br></div>
Expand Down Expand Up @@ -3231,7 +3231,7 @@ <h2>std.mixers</h2>
</div>
<div class="namespace" id="mixers" href="#mixers">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::mixers<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_mixers.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::mixers<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_mixers.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>These processors can be used to mix various combinations of audio streams together with static or dynamic gains. <br></div>
Expand Down Expand Up @@ -3428,7 +3428,7 @@ <h2>std.noise</h2>
</div>
<div class="namespace" id="noise" href="#noise">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::noise<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_noise.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::noise<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_noise.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>These processors can be used to generate various flavours of noise. <br></div>
Expand Down Expand Up @@ -3662,7 +3662,7 @@ <h2>std.notes</h2>
</div>
<div class="namespace" id="notes" href="#notes">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::notes<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_notes.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::notes<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_notes.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>These structs are used for events that model the start/stop/control of notes that are playing in synthesisers. <br>Unlike sending raw MIDI around, these are strongly typed and use floating point data so are far nicer to work with. <br>The objects include a channel ID field, so that a multi-channel input device can indicate which events should be applied to each of the active notes that are being played. <br></div>
Expand Down Expand Up @@ -3927,7 +3927,7 @@ <h2>std.oscillators</h2>
</div>
<div class="namespace" id="oscillators" href="#oscillators">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::oscillators<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_oscillators.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::oscillators<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_oscillators.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>These utility functions and processors provide oscillators such as sine, square, triangle and sawtooth. <br></div>
Expand Down Expand Up @@ -4737,7 +4737,7 @@ <h2>std.random</h2>
</div>
<div class="namespace" id="random" href="#random">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::random<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_random.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::random<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_random.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>If you&#39;re writing code that needs to be cryptographically secure, then this is not the random number generation library that you want. The target audience for these classes are those who need quick-and-dirty RNGs for noise generation and similar non-critical tasks. <br>When seeding RNGs, the <code>processor.id</code> and <code>processor.session</code> values are very useful: <br><ul>
Expand Down Expand Up @@ -4820,7 +4820,7 @@ <h2>std.timeline</h2>
</div>
<div class="namespace" id="timeline" href="#timeline">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::timeline<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_timeline.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::timeline<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_timeline.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>This namespace contains various types and functions for dealing with tempos, positions and events that describe DAW-style timelines. <br></div>
Expand Down Expand Up @@ -5011,7 +5011,7 @@ <h2>std.voices</h2>
</div>
<div class="namespace" id="voices" href="#voices">
<div class="namespaceTitle">
<h2><span class="keyword">namespace </span>std::voices<a href="https://github.com/SoundStacks/cmajor/blob/main/standard_library/std_library_voices.cmajor" target="_blank">code</a>
<h2><span class="keyword">namespace </span>std::voices<a href="https://github.com/cmajor-lang/cmajor/blob/main/standard_library/std_library_voices.cmajor" target="_blank">code</a>
</h2>
</div>
<div class="comment"><br>This module demonstrates a simple voice-allocation algorithm. <br>The way it&#39;s structured is that you pass an incoming stream of note events to the voice allocator processor, and it redirects them to an array of destination processors which each handle a single voice. <br>The voice allocators use the channel property of the incoming events to group them together, and take care of ensuring that each target voice only receives the events from one channel at a time. <br></div>
Expand Down
4 changes: 2 additions & 2 deletions docs/TestFileFormat/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ To quickly disable a test, insert the token `disabled` in front of the test dire

## Built-in Test Functions

There's a built-in library of standard test functions, and you can have a closer look at their implementations in [cmaj_test_functions.js](https://github.com/SoundStacks/cmajor/blob/main/tests/cmaj_test_functions.js).
There's a built-in library of standard test functions, and you can have a closer look at their implementations in [cmaj_test_functions.js](https://github.com/cmajor-lang/cmajor/blob/main/tests/cmaj_test_functions.js).

The main functions include:

Expand Down Expand Up @@ -291,7 +291,7 @@ void f (XX& x) {}
You can write your own javascript test functions at the start of the test file, and invoke them on a `##` line.
If writing your own tests, it's probably helpful to look at how the standard ones are implemented, in [cmaj_test_functions.js](https://github.com/SoundStacks/cmajor/blob/main/tests/cmaj_test_functions.js).
If writing your own tests, it's probably helpful to look at how the standard ones are implemented, in [cmaj_test_functions.js](https://github.com/cmajor-lang/cmajor/blob/main/tests/cmaj_test_functions.js).
The underlying javascript API used for managing the test status looks like this:
Expand Down
2 changes: 1 addition & 1 deletion docs/Tools/CppAPI/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The two main folders to look at for this are:

(There is also a lower-level COM-based API in `include/cmajor/COM` which you can use if you like, but it's probably better to ignore them and stick to the API wrapper classes that expose the same things as idiomatic C++ classes).

There are some example projects demonstrating simple use of the C++ API: see the [examples/native_apps](https://github.com/SoundStacks/cmajor/tree/main/examples/native_apps) folder.
There are some example projects demonstrating simple use of the C++ API: see the [examples/native_apps](https://github.com/cmajor-lang/cmajor/tree/main/examples/native_apps) folder.

## Main API classes

Expand Down

0 comments on commit 3451f56

Please sign in to comment.