PageSourceSearch

https://cmajor.dev/about-us

html cmajor.dev collected 2026-10-04 00:24:43 UTC 50,265 bytes, 208 lines download raw bytes

1
2
3<!DOCTYPE html>
4
5<html lang="en-US">
6<head>
7  <meta charset="UTF-8">
8  <meta http-equiv="X-UA-Compatible" content="IE=Edge">
9
10  
11
12  <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
13
14
15  <link rel="stylesheet" href="/assets/css/just-the-docs-default.css">
16  <link rel="preconnect" href="https://rsms.me/">
17  <link rel="stylesheet" href="https://rsms.me/inter/inter.css">
vendor: 72 bytes, lines 17-20
17
18
19  
20    <script async src="https://www.googletagmanager.com/gtag/js?id=
20UA-2709176-10
vendor: 16 bytes, lines 20-21
20"></script>
21    
21<script>
22      
vendor: 146 bytes, lines 22-26
22window.dataLayer = window.dataLayer || [];
23      function gtag(){dataLayer.push(arguments);}
24      gtag('js', new Date());
25
26      gtag('config', '
26UA-2709176-10
vendor: 34 bytes, lines 26-27
26', { 'anonymize_ip': true });
27    
27</script>
27
28
29  
30
31  
32    
32<script src="/assets/js/vendor/lunr.min.js"></script>
32
33  
34
35  
36    
36<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js"></script>
36
37  
38
39  
39<script src="/assets/js/just-the-docs.js"></script>
39
40
41  <meta name="viewport" content="width=device-width, initial-scale=1">
42
43  <!-- Begin Jekyll SEO tag v2.8.0 -->
44<title>About Us | Cmajor Documentation</title>
45<meta name="generator" content="Jekyll v3.10.0" />
46<meta property="og:title" content="About Us" />
47<meta property="og:locale" content="en_US" />
48<meta name="description" content="Documentation for the Cmajor language" />
49<meta property="og:description" content="Documentation for the Cmajor language" />
50<link rel="canonical" href="https://cmajor.dev/about-us" />
51<meta property="og:url" content="https://cmajor.dev/about-us" />
52<meta property="og:site_name" content="Cmajor Documentation" />
53<meta property="og:type" content="website" />
54<meta name="twitter:card" content="summary" />
55<meta property="twitter:title" content="About Us" />
56<script type="application/ld+json">
57{"@context":"https://schema.org","@type":"WebPage","description":"Documentation for the Cmajor language","headline":"About Us","url":"https://cmajor.dev/about-us"}</script>
57
58<!-- End Jekyll SEO tag -->
59
60
61  <link rel="shortcut icon" type="image/png" href="https://cmajor-lang.github.io/docs-dev/favicon.png"  style="margin-top:20px" style="margin-bottom: 30px;">
62
63
64</head>
65
66<body>
67  <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
68    <symbol id="svg-link" viewBox="0 0 24 24">
69      <title>Link</title>
70      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
71        <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
72      </svg>
73    </symbol>
74    <symbol id="svg-search" viewBox="0 0 24 24">
75      <title>Search</title>
76      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
77        <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
78      </svg>
79    </symbol>
80    <symbol id="svg-menu" viewBox="0 0 24 24">
81      <title>Menu</title>
82      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
83        <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
84      </svg>
85    </symbol>
86    <symbol id="svg-arrow-right" viewBox="0 0 24 24">
87      <title>Expand</title>
88      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
89        <polyline points="9 18 15 12 9 6"></polyline>
90      </svg>
91    </symbol>
92    <symbol id="svg-doc" viewBox="0 0 24 24">
93      <title>Document</title>
94      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
95        <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
96      </svg>
97    </symbol>
98  </svg>
99
100  <div class="side-bar">
101    <div class="site-header">
102      <a href="https://cmajor.dev/" class="site-title lh-tight">
103<img src="/assets/images/Cmajor-Word-Logo.png" style="margin-top:20px;max-width: 150pt;max-height: 50pt;"></a>
104      <a href="#" id="menu-button" class="site-button">
105        <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
106      </a>
107    </div>
108    <nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
109      <ul class="nav-list"><li class="nav-list-item active"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/" class="nav-list-link active">Home</a><ul class="nav-list"><li class="nav-list-item active"><a href="https://cmajor.dev/about-us" class="nav-list-link active">About Us</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Licence" class="nav-list-link">Licence</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Licence#different-cmajor-licensing-options" class="nav-list-link">Different Cmajor licensing options</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#commercial-license-terms" class="nav-list-link">Commercial License terms</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Licence#faqs" class="nav-list-link">FAQs</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#it-is-possible-to-reassign-licences-amongst-members-of-an-organisation" class="nav-list-link">It is possible to reassign licences amongst members of an organisation?</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#is-the-total-annual-revenue-or-funding-limit-determined-solely-by-sales-of-software-containing-cmajor" class="nav-list-link">Is the total annual revenue or funding limit determined solely by sales of software containing Cmajor?</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#do-i-need-a-cmajor-licence-if-i-am-not-releasing-products-containing-cmajor" class="nav-list-link">Do I need a Cmajor licence if I am not releasing products containing Cmajor?</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#how-many-licenced-developer-seats-do-i-need" class="nav-list-link">How many licenced developer seats do I need?</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#do-i-need-a-cmajor-licence-to-sell-cmajor-based-software-created-by-another-entity" class="nav-list-link">Do I need a Cmajor licence to sell Cmajor-based software created by another entity?</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#i-want-to-hire-a-contractor-to-contribute-to-software-containing-cmajor-do-i-need-a-licence-or-does-the-contractor-need-a-licence" class="nav-list-link">I want to hire a contractor to contribute to software containing cmajor. Do I need a licence or does the contractor need a licence?</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Licence#can-a-cmajor-educational-licence-be-used-by-students" class="nav-list-link">Can a Cmajor Educational licence be used by students?</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/GettingStarted" class="nav-list-link">Getting Started</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/GettingStarted#using-cmajor-in-vscode" class="nav-list-link">Using Cmajor in VScode</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/GettingStarted#installing-the-cmajor-command-line-tools" class="nav-list-link">Installing the Cmajor command-line tools</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/GettingStarted#the-cmaj-command-line-tool" class="nav-list-link">The `cmaj` command-line tool</a></li></ul></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/GettingStarted#playing-a-patch-with-the-console-app" class="nav-list-link">Playing a patch with the console app</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/GettingStarted#loading-patches-in-your-daw-with-the-cmajor-vstau-plugin" class="nav-list-link">Loading patches in your DAW with the Cmajor VST/AU plugin</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/GettingStarted#creating-a-new-empty-patch" class="nav-list-link">Creating a new empty patch</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/GettingStarted#creating-your-first-patch---hello-world" class="nav-list-link">Creating your first patch - Hello, World!</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/GettingStarted#step-1---create-a-new-patch" class="nav-list-link">Step 1 - Create a New Patch</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Examples" class="nav-list-link">Examples</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/HelloWorld/" class="nav-list-link">Hello World</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/ElectricPiano/" class="nav-list-link">Electric Piano</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/808/" class="nav-list-link">808</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/Piano/" class="nav-list-link">Piano</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/Tremolo/" class="nav-list-link">Tremolo</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/RingMod/" class="nav-list-link">Ring Modulator</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/ZitaReverb/" class="nav-list-link">Zita Reverb</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/Pro54/" class="nav-list-link">Pro-54</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/GuitarLSTM/" class="nav-list-link">GuitarLSTM</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/FilterEQ/" class="nav-list-link">FilterEQ</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/PirkleFilters/" class="nav-list-link">Pirkle Filters</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/Replicant/" class="nav-list-link">Replicant</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/STunedBar6/" class="nav-list-link">Tuned Bar</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Examples/CompuFart/" class="nav-list-link">CompuFart</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/CmajorLicenceTerms" class="nav-list-link">Cmajor Licence Terms</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/CmajorLicenceTerms#cmajor-commercial-license-agreement" class="nav-list-link">Cmajor Commercial License Agreement</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#1-grant-and-scope-of-licence" class="nav-list-link">1. Grant and scope of Licence</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#2-restrictions" class="nav-list-link">2. Restrictions</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#3-fees-and-minimum-commitments" class="nav-list-link">3. Fees and Minimum Commitments.</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#4-support" class="nav-list-link">4. Support</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#5-intellectual-property-rights" class="nav-list-link">5. Intellectual Property Rights</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#6-disclaimer-of-warranty" class="nav-list-link">6. Disclaimer of Warranty</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#7-limitation-of-liability-and-indemnification" class="nav-list-link">7. Limitation of Liability and Indemnification</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#8-term-and-termination" class="nav-list-link">8. Term and Termination</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#9-communications-between-us" class="nav-list-link">9. Communications Between Us</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#10-data-privacy-and-publicity" class="nav-list-link">10. Data, Privacy and Publicity</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#11-other-important-terms" class="nav-list-link">11. Other Important Terms</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/CmajorLicenceTerms#12-definitions" class="nav-list-link">12. Definitions</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference" class="nav-list-link">Language Reference</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#lexical-rules" class="nav-list-link">Lexical Rules</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#whitespace" class="nav-list-link">Whitespace</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#comments" class="nav-list-link">Comments</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#identifiers" class="nav-list-link">Identifiers</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#reserved-keywords" class="nav-list-link">Reserved keywords</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#literals" class="nav-list-link">Literals</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#integer-literal
109s" class="nav-list-link">Integer Literals</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#boolean-literals" class="nav-list-link">Boolean Literals</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#floating-point-literals" class="nav-list-link">Floating-point Literals</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#string-literals" class="nav-list-link">String Literals</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#aggregate-literals" class="nav-list-link">Aggregate Literals</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#null-literals" class="nav-list-link">Null Literals</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#types" class="nav-list-link">Types</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#primitive-types" class="nav-list-link">Primitive Types</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#limited-range-integer-types" class="nav-list-link">Limited-range Integer Types</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#complex-numbers" class="nav-list-link">Complex Numbers</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#arrays" class="nav-list-link">Arrays</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#multi-dimensional-arrays" class="nav-list-link">Multi-Dimensional Arrays</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#arrays-vs-slices" class="nav-list-link">Arrays vs Slices</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#scope-of-slice-data" class="nav-list-link">Scope of slice data</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#constant-vs-mutable-slices" class="nav-list-link">constant vs mutable slices</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#vectors" class="nav-list-link">Vectors</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#structures" class="nav-list-link">Structures</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#string-type" class="nav-list-link">String Type</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#enums" class="nav-list-link">Enums</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#constant-types" class="nav-list-link">Constant Types</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#reference-types" class="nav-list-link">Reference Types</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#type-aliases" class="nav-list-link">Type Aliases</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#type-metafunctions" class="nav-list-link">Type Metafunctions</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#functions" class="nav-list-link">Functions</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#member-functions" class="nav-list-link">Member Functions</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#special-functions" class="nav-list-link">Special Functions</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#recursion" class="nav-list-link">Recursion</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#generic-functions" class="nav-list-link">Generic functions</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#variables-and-constants" class="nav-list-link">Variables and Constants</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#local-variables-and-parameters" class="nav-list-link">Local Variables and Parameters</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#processor-state-variables" class="nav-list-link">Processor State Variables</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#global-constants" class="nav-list-link">Global Constants</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#control-flow-and-loops" class="nav-list-link">Control-flow and Loops</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#conditions" class="nav-list-link">Conditions</a></li></ul></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#arithmetic-operators" class="nav-list-link">Arithmetic Operators</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#casts" class="nav-list-link">Casts</a></li><li class="nav-list-item">
109<a href="https://cmajor.dev/docs/LanguageReference#namespaces-processors-and-graphs" class="nav-list-link">Namespaces, Processors and Graphs</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#namespaces" class="nav-list-link">Namespaces</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#processors" class="nav-list-link">Processors</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#processor-aliases" class="nav-list-link">Processor Aliases</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#inputoutput-endpoint-declarations" class="nav-list-link">Input/Output Endpoint Declarations</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#stream-endpoints" class="nav-list-link">Stream Endpoints</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#value-endpoints" class="nav-list-link">Value Endpoints</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#event-endpoints" class="nav-list-link">Event Endpoints</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#renaming-hoisted-endpoints" class="nav-list-link">Renaming hoisted endpoints</a></li></ul></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#writing-to-outputs" class="nav-list-link">Writing to Outputs</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#graphs" class="nav-list-link">Graphs</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#graph-nodes" class="nav-list-link">Graph Nodes</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#connections" class="nav-list-link">Connections</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#connection-functions" class="nav-list-link">Connection Functions</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#conditional-connections" class="nav-list-link">Conditional connections</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#processor-composition" class="nav-list-link">Processor composition</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#processor-composition-caveats" class="nav-list-link">Processor composition caveats</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#when-to-use-a-processor-vs-a-graph" class="nav-list-link">When to use a processor vs a graph</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#delays-and-feedback-loops" class="nav-list-link">Delays and Feedback Loops</a></li></ul></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#processor-and-namespace-specialisation-parameters" class="nav-list-link">Processor and Namespace Specialisation Parameters</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/LanguageReference#annotations" class="nav-list-link">Annotations</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#using-the--main--annotation" class="nav-list-link">Using the `[[ main ]]` Annotation</a></li></ul></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#built-in-constants" class="nav-list-link">Built-in Constants</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#intrinsic-functions" class="nav-list-link">Intrinsic Functions</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/LanguageReference#calling-native-functions-from-cmajor" class="nav-list-link">Calling native functions from Cmajor</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/PatchFormat" class="nav-list-link">Patch Format</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#the-cmajorpatch-manifest-file" class="nav-list-link">The `.cmajorpatch` manifest file</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#cmajor-source-files" class="nav-list-link">Cmajor source files</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#selection-of-the-patchs-main-processor" class="nav-list-link">Selection of the patch's main processor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#patchparameters" class="nav-list-link">Patch Parameters</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#external-variable-data" class="nav-list-link">External variable data</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/PatchFormat#patch-guis" class="nav-list-link">Patch GUIs</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#specifying-a-custom-gui-for-a-patch" class="nav-list-link">Specifying a custom GUI for a patch</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#the-patchconnection-object" class="nav-list-link">The `PatchConnection` object</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#built-in-javascript-utility-classe
109s" class="nav-list-link">Built-in javascript utility classes</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#patch-workers" class="nav-list-link">Patch Workers</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#building-a-native-clap-from-a-patch" class="nav-list-link">Building a native CLAP from a patch</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#building-a-native-juce-vst-or-audiounit-from-a-patch" class="nav-list-link">Building a native JUCE VST or AudioUnit from a patch</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/PatchFormat#exporting-a-patch-as-javascriptwebassemblyweb-audio" class="nav-list-link">Exporting a patch as Javascript/WebAssembly/Web Audio</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/TestFileFormat" class="nav-list-link">Test File Format</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/TestFileFormat#running-tests" class="nav-list-link">Running Tests</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/TestFileFormat#file-format" class="nav-list-link">File Format</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/TestFileFormat#special-section-delimiters" class="nav-list-link">Special Section Delimiters</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/TestFileFormat#built-in-test-functions" class="nav-list-link">Built-in Test Functions</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/TestFileFormat#auto-updating-expected-results" class="nav-list-link">Auto-updating Expected Results</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/TestFileFormat#creating-custom-test-functions" class="nav-list-link">Creating Custom Test Functions</a></li></ul></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/ScriptFileFormat" class="nav-list-link">Script File Format</a></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Tools" class="nav-list-link">Tools</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Tools/C++API" class="nav-list-link">C++ API</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/Tools/C++API#main-api-classes" class="nav-list-link">Main API classes</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Tools/C++API#helper-classes" class="nav-list-link">Helper classes</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Tools/MachineLearning" class="nav-list-link">Machine Learning</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Tools/MachineLearning#onnx" class="nav-list-link">ONNX</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/Tools/MachineLearning#onnx-operators" class="nav-list-link">ONNX Operators</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/Tools/MachineLearning#using-the-onnx-to-cmajor-python-script" class="nav-list-link">Using the ONNX to Cmajor Python script</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/Tools/MachineLearning#rtneural" class="nav-list-link">RTNeural</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/Tools/MachineLearning#supported-operators" class="nav-list-link">Supported Operators</a></li></ul></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary" class="nav-list-link">Standard Library</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_audio_data" class="nav-list-link">std.audio_data</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#audio_data" class="nav-list-link">audio_data</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#SamplePlayer" class="nav-list-link">SamplePlayer</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_convolution" class="nav-list-link">std.convolution</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#convolution" class="nav-list-link">convolution</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#ZeroLatencyProcessor" class="nav-list-link">ZeroLatencyProcessor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#BlockProcessor" class="nav-list-link">BlockProcessor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#TimeDomainProcessor" class="nav-list-link">TimeDomainProcessor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#FFT" class="nav-list-link">FFT</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#iFFT" class="nav-list-link">iFFT</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Convolve" class="nav-list-link">Convolve</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_envelopes" class="nav-list-link">std.envelopes</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#envelopes" class="nav-list-link">envelopes</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#FixedASR" class="nav-list-link">FixedASR</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_filters" class="nav-list-link">std.filters</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#filters" class="nav-list-link">filters</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#tpt" class="nav-list-link">tpt</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#onepole" class="nav-list-link">onepole</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Processor" class="nav-list-link">Processor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Mode" class="nav-list-link">Mode</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#svf" class="nav-list-link">svf</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Processor2" class="nav-list-link">Processor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#MultimodeProcessor" class="nav-list-link">MultimodeProcessor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Mode2" class="nav-list-link">Mode</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#dcblocker" class="nav-list-link">dcblocker</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Processor3" class="nav-list-link">Processor</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#butterworth" class="nav-list-link">butterworth</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Processor4" class="nav-list-link">Processor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Mode3" class="nav-list-link">Mode</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#crossover" class="nav-list-link">crossover</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Processor5" class="nav-list-link">Processor</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#simper" class="nav-list-link">simper</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Processor6" class="nav-list-link">Processor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Mode4" class="nav-list-link">Mode</a></li></ul></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_frequency" class="nav-list-link">std.frequency</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#frequency7" class="nav-list-link">frequency</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_intrinsics" class="nav-list-link">std.intrinsics</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#intrinsics" class="nav-list-link">intrinsics</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_levels" class="nav-list-link">std.levels</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#smoothing" class="nav-list-link">smoothing</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#SmoothedValueStream" class="nav-list-link">SmoothedValueStream</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#levels" class="nav-list-link">levels</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#ConstantGain" class="nav-list-link">ConstantGain</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#DynamicGain" class="nav-list-link">DynamicGain</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#SmoothedGain" class="nav-list-link">SmoothedGain</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#SmoothedGainParameter" class="nav-list-link">SmoothedGainParameter</a></li></ul></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#pan_law" class="nav-list-link">pan_law</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_matrix" class="nav-list-link">std.matrix</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#matrix" class="nav-list-link">matrix</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_midi" class="nav-list-link">std.midi</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#midi" class="nav-list-link">midi</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#MPEConverter" class="nav-list-link">MPEConverter</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#NoteToMIDI" class="nav-list-link">NoteToMIDI</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_mixers" class="nav-list-link">std.mixers</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#mixers" class="nav-list-link">mixers</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#StereoToMono" class="nav-list-link">StereoToMono</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#MonoToStereo" class="nav-list-link">MonoToStereo</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#DynamicSum" class="nav-list-link">DynamicSum</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#ConstantSum" class="nav-list-link">ConstantSum</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Interpolator" class="nav-list-link">Interpolator</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_noise" class="nav-list-link">std.noise</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#noise" class="nav-list-link">noise</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#White" class="nav-list-link">White</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Brown" class="nav-list-link">Brown</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLi
109brary#Pink" class="nav-list-link">Pink</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_notes" class="nav-list-link">std.notes</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#notes" class="nav-list-link">notes</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_oscillators" class="nav-list-link">std.oscillators</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#oscillators" class="nav-list-link">oscillators</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Phasor" class="nav-list-link">Phasor</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#Sine" class="nav-list-link">Sine</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#PolyblepOscillator" class="nav-list-link">PolyblepOscillator</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#LFO" class="nav-list-link">LFO</a></li><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#waveshape" class="nav-list-link">waveshape</a></li></ul></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_random" class="nav-list-link">std.random</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#random" class="nav-list-link">random</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_timeline" class="nav-list-link">std.timeline</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#timeline" class="nav-list-link">timeline</a></li></ul></li><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#std_voices" class="nav-list-link">std.voices</a><ul class="nav-list"><li class="nav-list-item"><a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a><a href="https://cmajor.dev/docs/StandardLibrary#voices" class="nav-list-link">voices</a><ul class="nav-list"><li class="nav-list-item"><a href="https://cmajor.dev/docs/StandardLibrary#VoiceAllocator" class="nav-list-link">VoiceAllocator</a></li></ul></li></ul></li></ul></li></ul>
110    </nav>
111    <footer class="site-footer">
112      &copy; 2025 <a href="https://cmajor.dev">Cmajor Software Ltd.</a>
113    </footer>
114  </div>
115  <div class="main" id="top">
116    <div id="main-header" class="main-header">
117      
118        <div class="search">
119          <div class="search-input-wrap">
120            <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search Cmajor Documentation" aria-label="Search Cmajor Documentation" autocomplete="off">
121            <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
122          </div>
123          <div id="search-results" class="search-results"></div>
124        </div>
125      
126      
127    </div>
128    <div id="main-content-wrap" class="main-content-wrap">
129      
130        <nav aria-label="Breadcrumb" class="breadcrumb-nav">
131  <ol class="breadcrumb-nav-list"><li class="breadcrumb-nav-list-item">
132      <a href="https://cmajor.dev/">Home</a>
133    </li><li class="breadcrumb-nav-list-item">
134      <span>About Us</span>
135    </li>
136  </ol>
137</nav>
138
139      
140
141      <div id="main-content" class="main-content" role="main">
142        
143          <h1 id="about-us">
144        
145        
146          <a href="#about-us" class="anchor-heading" aria-labelledby="about-us"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> About Us
147        
148        
149      </h1>
150    
151
152<p>The Cmajor project was started in 2021 by <a href="https://github.com/julianstorer">Julian Storer</a> and <a href="https://github.com/cesaref">Cesare Ferrari</a>, originally as a collaboration with Native Instruments.</p>
153
154<p><a href="https://github.com/cmajor-lang">Cmajor Software Ltd</a> is now an independent UK company.</p><hr />
155
156<p>To chat about Cmajor, you can join our <a href="https://discord.gg/Abtc5xabcT">discord channel</a> at <a href="https://www.theaudioprogrammer.com/">theaudioprogrammer.com</a></p>
157
158<p>For bugs and feature requests, you can use our <a href="https://github.com/cmajor-lang/cmajor/issues">github issue tracker</a>.</p>
159
160<p>You can follow us on <a href="https://www.linkedin.com/company/cmajor-software-ltd/">LinkedIn</a> or <a href="https://github.com/cmajor-lang">github</a> to get updates and news.</p>
161
162<p>For business-related enquiries, email us at [email protected]</p>
163
164        
165
166        
167          
168        
169
170        
171          <hr>
172          <footer>
173            
174              <p><a href="#top" id="back-to-top">Back to top</a></p>
175            
176            
177
178            
179              <div class="d-flex mt-2">
180                
181                
182              </div>
183            
184          </footer>
185        
186
187      </div>
188    </div>
189
190    
191      
192
193      <div class="search-overlay"></div>
194    
195  </div>
196
197  
198  
198<script>
199    var config = {
200    theme: "neutral"
201};
202    mermaid.initialize(config);
203    window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
204  </script>
204
205  
206</body>
207</html>
208

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.