├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── README_ja.md
├── devboards
├── README.md
└── rev_a
│ ├── README.md
│ ├── angle.jpg
│ ├── devboard.maxpat
│ ├── signalpath.png
│ └── top.jpg
├── developer_ids.md
├── docker
├── README.md
├── README_ja.md
├── build_image.sh
├── docker-app
│ ├── Dockerfile
│ ├── VERSION
│ ├── builder
│ │ ├── bash.bashrc.patch
│ │ └── get_drumlogue_toolchain.sh
│ ├── cmd_entry
│ ├── commands
│ │ ├── build
│ │ ├── help
│ │ └── list
│ ├── drumlogue
│ │ └── environment
│ ├── env
│ ├── interactive_entry
│ ├── minilogue-xd
│ │ └── environment
│ ├── nts-1
│ │ └── environment
│ ├── nts-1_mkii
│ │ └── environment
│ ├── nts-3_kaoss
│ │ └── environment
│ ├── profile
│ └── prologue
│ │ └── environment
├── inc
│ └── realpath
├── run_cmd.sh
└── run_interactive.sh
├── platform
├── drumlogue
│ ├── README.md
│ ├── README_ja.md
│ ├── common
│ │ ├── _unit_base.c
│ │ ├── attributes.h
│ │ ├── runtime.h
│ │ ├── sample_wrapper.h
│ │ └── unit.h
│ ├── dummy-delfx
│ │ ├── .clang-format
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── delay.h
│ │ ├── header.c
│ │ └── unit.cc
│ ├── dummy-masterfx
│ │ ├── .clang-format
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── header.c
│ │ ├── masterfx.h
│ │ └── unit.cc
│ ├── dummy-revfx
│ │ ├── .clang-format
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── header.c
│ │ ├── reverb.h
│ │ └── unit.cc
│ └── dummy-synth
│ │ ├── .clang-format
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── header.c
│ │ ├── synth.h
│ │ └── unit.cc
├── minilogue-xd
│ ├── README.md
│ ├── README_ja.md
│ ├── docs
│ │ ├── Doxyfile
│ │ └── doxy.h
│ ├── dummy-delfx
│ │ ├── Makefile
│ │ ├── ld
│ │ │ ├── main_api.syms
│ │ │ ├── rules.ld
│ │ │ └── userdelfx.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── dummy-modfx
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── ld
│ │ │ ├── main_api.syms
│ │ │ ├── rules.ld
│ │ │ └── usermodfx.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── dummy-osc
│ │ ├── Makefile
│ │ ├── ld
│ │ │ ├── osc_api.syms
│ │ │ ├── rules.ld
│ │ │ └── userosc.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── dummy-revfx
│ │ ├── Makefile
│ │ ├── ld
│ │ │ ├── main_api.syms
│ │ │ ├── rules.ld
│ │ │ └── userrevfx.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── inc
│ │ ├── dsp
│ │ │ ├── biquad.hpp
│ │ │ ├── delayline.hpp
│ │ │ └── simplelfo.hpp
│ │ ├── fx_api.h
│ │ ├── osc_api.h
│ │ ├── userdelfx.h
│ │ ├── usermodfx.h
│ │ ├── userosc.h
│ │ ├── userprg.h
│ │ ├── userrevfx.h
│ │ └── utils
│ │ │ ├── buffer_ops.h
│ │ │ ├── cortexm4.h
│ │ │ ├── fixed_math.h
│ │ │ ├── float_math.h
│ │ │ └── int_math.h
│ └── waves
│ │ ├── Makefile
│ │ ├── ld
│ │ ├── osc_api.syms
│ │ ├── rules.ld
│ │ └── userosc.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ ├── tpl
│ │ └── _unit.c
│ │ ├── waves.cpp
│ │ └── waves.hpp
├── nts-1_mkii
│ ├── README.md
│ ├── README_ja.md
│ ├── common
│ │ ├── _unit_base.c
│ │ ├── attributes.h
│ │ ├── dsp
│ │ │ ├── biquad.hpp
│ │ │ ├── delayline.hpp
│ │ │ └── simplelfo.hpp
│ │ ├── fx_api.h
│ │ ├── macros.h
│ │ ├── osc_api.h
│ │ ├── runtime.h
│ │ ├── unit.h
│ │ ├── unit_delfx.h
│ │ ├── unit_modfx.h
│ │ ├── unit_osc.h
│ │ ├── unit_revfx.h
│ │ └── utils
│ │ │ ├── buffer_ops.h
│ │ │ ├── cortexm.h
│ │ │ ├── fixed_math.h
│ │ │ ├── float_math.h
│ │ │ └── int_math.h
│ ├── dummy-delfx
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── delay.h
│ │ ├── header.c
│ │ └── unit.cc
│ ├── dummy-modfx
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── header.c
│ │ ├── modfx.h
│ │ └── unit.cc
│ ├── dummy-osc
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── header.c
│ │ ├── osc.h
│ │ └── unit.cc
│ ├── dummy-revfx
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── header.c
│ │ ├── reverb.h
│ │ └── unit.cc
│ ├── ld
│ │ ├── rules.ld
│ │ └── unit.ld
│ └── waves
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── header.c
│ │ ├── unit.cc
│ │ ├── waves.h
│ │ └── waves_common.h
├── nts-3_kaoss
│ ├── README.md
│ ├── README_ja.md
│ ├── common
│ │ ├── _unit_base.c
│ │ ├── attributes.h
│ │ ├── dsp
│ │ │ ├── biquad.hpp
│ │ │ ├── delayline.hpp
│ │ │ └── simplelfo.hpp
│ │ ├── fx_api.h
│ │ ├── macros.h
│ │ ├── osc_api.h
│ │ ├── runtime.h
│ │ ├── unit.h
│ │ ├── unit_genericfx.h
│ │ └── utils
│ │ │ ├── buffer_ops.h
│ │ │ ├── cortexm.h
│ │ │ ├── fixed_math.h
│ │ │ ├── float_math.h
│ │ │ └── int_math.h
│ ├── dummy-genericfx
│ │ ├── Makefile
│ │ ├── config.mk
│ │ ├── effect.h
│ │ ├── header.c
│ │ └── unit.cc
│ └── ld
│ │ ├── rules.ld
│ │ └── unit.ld
├── nutekt-digital
│ ├── README.md
│ ├── README_ja.md
│ ├── docs
│ │ ├── Doxyfile
│ │ └── doxy.h
│ ├── dummy-delfx
│ │ ├── Makefile
│ │ ├── ld
│ │ │ ├── main_api.syms
│ │ │ ├── rules.ld
│ │ │ └── userdelfx.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── dummy-modfx
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── ld
│ │ │ ├── main_api.syms
│ │ │ ├── rules.ld
│ │ │ └── usermodfx.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── dummy-osc
│ │ ├── Makefile
│ │ ├── ld
│ │ │ ├── osc_api.syms
│ │ │ ├── rules.ld
│ │ │ └── userosc.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── dummy-revfx
│ │ ├── Makefile
│ │ ├── ld
│ │ │ ├── main_api.syms
│ │ │ ├── rules.ld
│ │ │ └── userrevfx.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ └── tpl
│ │ │ └── _unit.c
│ ├── inc
│ │ ├── dsp
│ │ │ ├── biquad.hpp
│ │ │ ├── delayline.hpp
│ │ │ └── simplelfo.hpp
│ │ ├── fx_api.h
│ │ ├── osc_api.h
│ │ ├── userdelfx.h
│ │ ├── usermodfx.h
│ │ ├── userosc.h
│ │ ├── userprg.h
│ │ ├── userrevfx.h
│ │ └── utils
│ │ │ ├── buffer_ops.h
│ │ │ ├── cortexm4.h
│ │ │ ├── fixed_math.h
│ │ │ ├── float_math.h
│ │ │ └── int_math.h
│ └── waves
│ │ ├── Makefile
│ │ ├── ld
│ │ ├── osc_api.syms
│ │ ├── rules.ld
│ │ └── userosc.ld
│ │ ├── manifest.json
│ │ ├── project.mk
│ │ ├── tpl
│ │ └── _unit.c
│ │ ├── waves.cpp
│ │ └── waves.hpp
└── prologue
│ ├── README.md
│ ├── README_ja.md
│ ├── docs
│ ├── Doxyfile
│ └── doxy.h
│ ├── dummy-delfx
│ ├── Makefile
│ ├── ld
│ │ ├── main_api.syms
│ │ ├── rules.ld
│ │ └── userdelfx.ld
│ ├── manifest.json
│ ├── project.mk
│ └── tpl
│ │ └── _unit.c
│ ├── dummy-modfx
│ ├── Makefile
│ ├── ld
│ │ ├── main_api.syms
│ │ ├── rules.ld
│ │ └── usermodfx.ld
│ ├── manifest.json
│ ├── project.mk
│ └── tpl
│ │ └── _unit.c
│ ├── dummy-osc
│ ├── Makefile
│ ├── ld
│ │ ├── osc_api.syms
│ │ ├── rules.ld
│ │ └── userosc.ld
│ ├── manifest.json
│ ├── project.mk
│ └── tpl
│ │ └── _unit.c
│ ├── dummy-revfx
│ ├── Makefile
│ ├── ld
│ │ ├── main_api.syms
│ │ ├── rules.ld
│ │ └── userrevfx.ld
│ ├── manifest.json
│ ├── project.mk
│ └── tpl
│ │ └── _unit.c
│ ├── inc
│ ├── dsp
│ │ ├── biquad.hpp
│ │ ├── delayline.hpp
│ │ └── simplelfo.hpp
│ ├── fx_api.h
│ ├── osc_api.h
│ ├── userdelfx.h
│ ├── usermodfx.h
│ ├── userosc.h
│ ├── userprg.h
│ ├── userrevfx.h
│ └── utils
│ │ ├── buffer_ops.h
│ │ ├── cortexm4.h
│ │ ├── fixed_math.h
│ │ ├── float_math.h
│ │ └── int_math.h
│ └── waves
│ ├── Makefile
│ ├── ld
│ ├── osc_api.syms
│ ├── rules.ld
│ └── userosc.ld
│ ├── manifest.json
│ ├── project.mk
│ ├── tpl
│ └── _unit.c
│ ├── waves.cpp
│ └── waves.hpp
└── tools
├── README.md
├── README_ja.md
├── gcc
├── README.md
├── get_gcc_10_3-2021_10_linux.sh
├── get_gcc_10_3-2021_10_macos.sh
├── get_gcc_10_3-2021_10_msys.sh
├── get_gcc_5_4-2016q3_linux.sh
├── get_gcc_5_4-2016q3_macos.sh
├── get_gcc_5_4-2016q3_msys.sh
├── get_gcc_linux.sh
├── get_gcc_macos.sh
└── get_gcc_msys.sh
├── logue-cli
├── README.md
├── get_logue_cli_linux.sh
├── get_logue_cli_msys.sh
├── get_logue_cli_msys64.sh
└── get_logue_cli_osx.sh
├── make
└── README.md
└── zip
└── README.md
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 |
5 | ---
6 |
7 | **Describe the bug**
8 | A clear and concise description of what the bug is.
9 |
10 | **To Reproduce**
11 | Steps to reproduce the behavior:
12 | 1. Go to '...'
13 | 2. Click on '....'
14 | 3. Scroll down to '....'
15 | 4. See error
16 |
17 | **Expected behavior**
18 | A clear and concise description of what you expected to happen.
19 |
20 | **Screenshots**
21 | If applicable, add screenshots to help explain your problem.
22 |
23 | **Desktop (please complete the following information):**
24 | - OS: [e.g. iOS]
25 | - Version [e.g. 22]
26 |
27 | **Additional context**
28 | Add any other context about the problem here.
29 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 |
5 | ---
6 |
7 | **Is your feature request related to a problem? Please describe.**
8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe alternatives you've considered**
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Emacs Backup Files
2 | *~
3 | \#*\#
4 |
5 | ## Vim Temp Files
6 | *.swp
7 |
8 | # Object files
9 | *.o
10 | *.ko
11 | *.obj
12 | *.elf
13 |
14 | # Temporary files/directories
15 | **/.dep/**
16 | **/build/**
17 | .*.env_backup
18 | .profile
19 | .bash_history
20 | tools/gcc/gcc-arm-none-eabi-*
21 | tools/emscripten/emsdk
22 |
23 | # Doxygen documentation
24 | **/docs/html
25 | **/docs/latex
26 | **/docs/doxygen*
27 |
28 | # Precompiled Headers
29 | *.gch
30 | *.pch
31 |
32 | # Libraries
33 | *.lib
34 | *.a
35 | *.la
36 | *.lo
37 |
38 | # Shared objects (inc. Windows DLLs)
39 | *.dll
40 | *.so
41 | *.so.*
42 | *.dylib
43 |
44 | # Executables/Binaries
45 | *.exe
46 | *.out
47 | *.app
48 | *.i*86
49 | *.x86_64
50 | *.hex
51 | *.bin
52 | *.dfu
53 | *.prlgunit
54 | *.mnlgxdunit
55 | *.ntkdigunit
56 | *.drmlgunit
57 | *.nts1mkiiunit
58 | *.nts3unit
59 |
60 | # Debug files
61 | *.dSYM/
62 | *.su
63 |
64 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "platform/ext/CMSIS"]
2 | path = platform/ext/CMSIS
3 | url = https://github.com/ARM-software/CMSIS.git
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2018, KORG INC.
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | * Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | * Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | * Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # logue-sdk
2 |
3 | [日本語](./README_ja.md)
4 |
5 | This repository contains all the files and tools needed to build custom oscillators and effects for the [prologue](https://www.korg.com/products/synthesizers/prologue), [minilogue xd](https://www.korg.com/products/synthesizers/minilogue_xd), [Nu:Tekt NTS-1 digital kit](https://www.korg.com/products/dj/nts_1), [Nu:Tekt NTS-1 digital kit mkII](https://www.korg.com/products/synthesizers/nts_1_mk2) synthesizers, the [Nu:Tekt NTS-3 kaoss pad kit](https://www.korg.com/products/dj/nts_3), and [drumlogue](https://www.korg.com/products/drums/drumlogue) drum machine.
6 |
7 | ## Existing logue SDK Units
8 |
9 | To download ready to use oscillators and effects, refer to the [Unit Index](https://korginc.github.io/logue-sdk/unit-index/) and follow instructions on the developer's website.
10 |
11 | ## Platforms and Compatibility
12 |
13 | | Product | Latest SDK Version | Minimum Firmware Version | CPU Arch. | Unit Format |
14 | |--------------------------------|--------------------|--------------------------|---------------|-------------------------------------------------------------|
15 | | prologue | v1.1.0 | >= v2.00 | ARM Cortex-M4 | Custom 32-bit LSB executable, ARM, EABI5 v1 (SYSV), static |
16 | | minilogue-xd | v1.1.0 | >= v2.00 | ARM Cortex-M4 | Custom 32-bit LSB executable, ARM, EABI5 v1 (SYSV), static |
17 | | Nu:Tekt NTS-1 digital kit | v1.1.0 | >= v1.02 | ARM Cortex-M4 | Custom 32-bit LSB executable, ARM, EABI5 v1 (SYSV), static |
18 | | drumlogue | v2.0.0 | >= v1.0.0 | ARM Cortex-A7 | ELF 32-bit LSB shared object, ARM, EABI5 v1 (SYSV), dynamic |
19 | | Nu:Tekt NTS-1 digital kit mkII | v2.0.0 | >= v1.0.0 | ARM Cortex-M7 | ELF 32-bit LSB shared object, ARM, EABI5 v1 (SYSV), dynamic |
20 | | Nu:Tekt NTS-3 kaoss pad kit | v2.0.0 | >= v1.0.0 | ARM Cortex-M7 | ELF 32-bit LSB shared object, ARM, EABI5 v1 (SYSV), dynamic |
21 |
22 | #### Binary Compatibility
23 |
24 | User units built for prologue, minilogue xd and Nu:Tekt NTS-1 digital kit (mkI only) are binary compatible with each other, as long as the SDK version matches.
25 | However, developers are encouraged to optimize their units for each target platform, and thus specialized builds should be preferred if available.
26 |
27 | ## Repository Structure
28 |
29 | * [platform/prologue/](platform/prologue/) : *prologue* specific files, templates and demo projects.
30 | * [platform/minilogue-xd/](platform/minilogue-xd/) : *minilogue xd* specific files, templates and demo projects.
31 | * [platform/nutekt-digital/](platform/nutekt-digital/) : *Nu:Tekt NTS-1 digital kit* specific files, templates and demo projects.
32 | * [platform/drumlogue/](platform/drumlogue/) : *drumlogue* specific files and templates.
33 | * [platform/nts-1_mkii/](platform/nts-1_mkii/) : *Nu:Tekt NTS-1 digital kit mkII* specific files, templates and demo projects.
34 | * [platform/nts-3_kaoss/](platform/nts-3_kaoss/) : *Nu:Tekt NTS-3 kaoss pad kit* specific files, templates and demo projects.
35 | * [platform/ext/](platform/ext/) : External dependencies and submodules.
36 | * [docker/](docker/) : Sources for a docker container that allows building projects for any platform in a more host OS agnostic way.
37 | * [tools/](tools/) : Installation location and documentation for tools required to build projects and manipulate built products. Can be ignored if using the docker container.
38 | * [devboards/](devboards/) : Information and files related to limited edition development boards.
39 |
40 | ## Sharing your Oscillators/Effects with us
41 |
42 | To show us your work please reach out to *logue-sdk@korg.co.jp*.
43 |
44 | ## Support
45 |
46 | The SDK is provided as-is, no technical support will be provided by KORG.
47 |
48 |
49 |
--------------------------------------------------------------------------------
/README_ja.md:
--------------------------------------------------------------------------------
1 | # logue-sdk
2 |
3 | [English](./README.md)
4 |
5 | このリポジトリには [prologue](https://www.korg.com/jp/products/synthesizers/prologue/), [minilogue xd](https://www.korg.com/jp/products/synthesizers/minilogue_xd/), [Nu:Tekt NTS-1 digital kit](https://www.korg.com/jp/products/dj/nts_1/) , [Nu:Tekt NTS-1 digital kit mkII](https://www.korg.com/jp/products/synthesizers/nts_1_mk2) synthesizers , the [Nu:Tekt NTS-3 kaoss pad kit](https://www.korg.com/jp/products/dj/nts_3) , and [drumlogue](https://www.korg.com/jp/products/drums/drumlogue/) の6製品で使用できる自作オシレーターやエフェクトのビルドに必要なファイルが全て揃っています.
6 |
7 | ## まずは使ってみよう
8 |
9 | 既に公開されているオシレーターやエフェクトの情報は [Unit Index](https://korginc.github.io/logue-sdk/ja/unit-index/) にあります.
10 | 具体的な入手方法については各デベロッパーのウェブサイトにてご確認下さい.
11 |
12 | ## プラットフォームと互換性に関して
13 |
14 | | 製品 | SDK | ファームウエア | プロセッサー | ユニットフォーマット |
15 | |--------------------------------|--------|----------------|---------------|-------------------------------------------------------------|
16 | | prologue | v1.1.0 | >= v2.00 | ARM Cortex-M4 | Custom 32-bit LSB executable, ARM, EABI5 v1 (SYSV), static |
17 | | minilogue-xd | v1.1.0 | >= v2.00 | ARM Cortex-M4 | Custom 32-bit LSB executable, ARM, EABI5 v1 (SYSV), static |
18 | | Nu:Tekt NTS-1 digital kit | v1.1.0 | >= v1.02 | ARM Cortex-M4 | Custom 32-bit LSB executable, ARM, EABI5 v1 (SYSV), static |
19 | | drumlogue | v2.0.0 | >= v1.0.0 | ARM Cortex-A7 | ELF 32-bit LSB shared object, ARM, EABI5 v1 (SYSV), dynamic |
20 | | Nu:Tekt NTS-1 digital kit mkII | v2.0.0 | >= v1.0.0 | ARM Cortex-M7 | ELF 32-bit LSB shared object, ARM, EABI5 v1 (SYSV), dynamic |
21 | | Nu:Tekt NTS-3 kaoss pad kit | v2.0.0 | >= v1.0.0 | ARM Cortex-M7 | ELF 32-bit LSB shared object, ARM, EABI5 v1 (SYSV), dynamic |
22 |
23 | #### バイナリ互換性について
24 |
25 | prologue, minilogue xd, Nu:Tekt NTS-1 dgital kitの3製品のために作成されたユニットは, SDKのバージョンが一致する限りバイナリレベルで互換性があります. しかし各製品へのユニットの最適化が推奨されますので、可能であれば各プラットフォームの専用のビルドを優先してください.
26 |
27 | #### リポジトリー構造:
28 | * [platform/prologue/](platform/prologue/) : *prologue*専用のファイル, テンプレートとデモプロジェクト
29 | * [platform/minilogue-xd/](platform/minilogue-xd/) : *minilogue xd*専用のファイル, テンプレートとデモプロジェクト
30 | * [platform/nutekt-digital/](platform/nutekt-digital/) : *Nu:Tekt NTS-1 digital kit*専用のファイル, テンプレートとデモプロジェクト
31 | * [platform/drumlogue/](platform/drumlogue/) : *drumlogue*専用のファイルとテンプレート
32 | * [platform/nts-1_mkii/](platform/nts-1_mkii/) : *Nu:Tekt NTS-1 digital kit mkII*専用のファイル, テンプレートとデモプロジェクト
33 | * [platform/nts-3_kaoss/](platform/nts-3_kaoss/) : *Nu:Tekt NTS-3 kaoss pad kit専用のファイル, テンプレートとデモプロジェクト
34 | * [platform/ext/](platform/ext/) : 外部依存ファイルとサブモジュール
35 | * [docker/](docker/) : ホストOSに依存せずあらゆるプラットフォーム向けのプロジェクトを構築するためのdocker containerのソース
36 | * [tools/](tools/) : プロジェクトのビルド、またはビルド成果物の操作に必要なツールとドキュメント. dockerを使用する場合は必要ありません
37 | * [devboards/](devboards/) : 限定配布された開発ボードに関する情報やファイル
38 |
39 | ## 自作コンテンツを共有する
40 |
41 | 自作のオシレーターやエフェクトをKORGチームに紹介して下さい.
42 | 連絡先は *logue-sdk@korg.co.jp* です.
43 |
44 | ## サポート
45 |
46 | KORGはlogue-sdkに関しての技術的なサポートを提供しません.
47 |
48 |
49 |
--------------------------------------------------------------------------------
/devboards/README.md:
--------------------------------------------------------------------------------
1 | # Development Boards
2 |
3 | ## Prologue Rev.A - Superbooth 2018 Edition
4 |
5 | Limited edition development board for Superbooth'18.
6 |
7 |
8 |
9 | See [rev_a/](rev_a) for details.
10 |
11 |
12 |
--------------------------------------------------------------------------------
/devboards/rev_a/angle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/korginc/logue-sdk/c55c3fad6ba985a567bf8dda8418e5655310be94/devboards/rev_a/angle.jpg
--------------------------------------------------------------------------------
/devboards/rev_a/signalpath.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/korginc/logue-sdk/c55c3fad6ba985a567bf8dda8418e5655310be94/devboards/rev_a/signalpath.png
--------------------------------------------------------------------------------
/devboards/rev_a/top.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/korginc/logue-sdk/c55c3fad6ba985a567bf8dda8418e5655310be94/devboards/rev_a/top.jpg
--------------------------------------------------------------------------------
/developer_ids.md:
--------------------------------------------------------------------------------
1 | ## Developer Identifier List
2 |
3 | This is the official developer identifiers list.
4 |
5 | *Note Developer identifiers are currently only used in drumlogue units*
6 |
7 | ### Reserved Identifiers
8 |
9 | These identifiers are reserved for internal use, and should not be used by third party developers.
10 |
11 | | dev_id | Developer |
12 | | --- | --- |
13 | | 0x4B4F5247 ('KORG') | [KORG Inc.](https://korg.com) |
14 | | 0x6B6F7267 ('korg') | [KORG Inc.](https://korg.com) |
15 | | 0x00000000 | Invalid |
16 | | 0xFFFFFFFF | Invalid |
17 |
18 | *Note Any uppercase/lowercase combination of the KORG Inc. identifiers above are also reserved and should not be used.*
19 |
20 | ### Registered Identifiers
21 |
22 | In order to register an identifier, please provide a pull request adding the identifier to the table below.
23 |
24 | *Note Please avoid using uppercase/lowercase variations of already registered identifiers.*
25 |
26 | | dev_id | Developer |
27 | | --- | --- |
28 | | 0x53564253 ('SVBS') | [Sinevibes](https://sinevib.es) |
29 | | 0x656B7544 ('ekuD') | [Oleg Burdaev](https://github.com/dukesrg) |
30 | | 0x44756B65 ('Duke') | [Oleg Burdaev](https://github.com/dukesrg) |
31 | | 0x45444F55 ('EDOU') | [Edouard Digital](https://edouard.digital) |
32 | | 0x434E5452 ('CNTR') | [centrevillage](https://centrevillage.net) |
33 | | 0x65676773 ('eggs') | [hammondeggsmusic](https://hammondeggsmusic.ca) |
34 | | 0x54534F4E ('TSON') | [tSoniq](https://tsoniq.com) |
35 | | 0x46747a6c ('Ftzl') | [Deborah Pickett](https://www.icemoonprison.com/blog/?page_id=777) |
36 | | 0x4361644C ('CadL') | [CtrlAltDelete](https://ctrl-alt-delete.co.uk) |
37 | | 0x42636877 ('Bchw') | [boochow instruments](https://blog.boochow.com/logue) |
38 | | 0x6d726672 ('mrfr') | [Eugene Chernyh](https://github.com/mrf-r) |
39 | | 0x6C63776B ('lcwk') | [techno-cat](https://techno-cat.github.io) |
40 | | 0x74776565 ('twee') | [Tweeeeeak!](https://github.com/tweeeeeak/nts) |
41 | | 0x696b7556 ('Vuki') | [Greg Vuki](https://multimed.org/~greg/) |
--------------------------------------------------------------------------------
/docker/docker-app/VERSION:
--------------------------------------------------------------------------------
1 | 0.5.12
--------------------------------------------------------------------------------
/docker/docker-app/builder/bash.bashrc.patch:
--------------------------------------------------------------------------------
1 | --- bash.bashrc.org 2022-05-17 22:24:20.205582215 +0900
2 | +++ bash.bashrc 2022-05-17 22:24:56.173615021 +0900
3 | @@ -40,19 +40,6 @@
4 | # fi
5 | #fi
6 |
7 | -# sudo hint
8 | -if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
9 | - case " $(groups) " in *\ admin\ *|*\ sudo\ *)
10 | - if [ -x /usr/bin/sudo ]; then
11 | - cat <<-EOF
12 | - To run a command as administrator (user "root"), use "sudo ".
13 | - See "man sudo_root" for details.
14 | -
15 | - EOF
16 | - fi
17 | - esac
18 | -fi
19 | -
20 | # if the command-not-found package is installed, use it
21 | if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
22 | function command_not_found_handle {
23 |
--------------------------------------------------------------------------------
/docker/docker-app/builder/get_drumlogue_toolchain.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | # assert_success(fail_msg)
38 | assert_success() {
39 | [ $? -eq 0 ] && return 0
40 | [ ! -z "$1" ] && echo "[Err] $1" 1>&2
41 | popd 2>&1 > /dev/null
42 | exit 1
43 | }
44 |
45 | CUR_ARCH="$(uname -p)"
46 |
47 | if [ "${CUR_ARCH}" == "x86_64" ]; then
48 | ARCHIVE_URL="https://www.dropbox.com/s/3curhjx9yip29os/drumlogue-toolchain-amd64.tar.bz2"
49 | ARCHIVE_SHA1="6b2a403195fbac0f7ee8d53bea4ed17b8c14e541"
50 | elif [ "${CUR_ARCH}" == "aarch64" ]; then
51 | ARCHIVE_URL="https://www.dropbox.com/s/ioysa018ruopp72/drumlogue-toolchain-aarch64.tar.bz2"
52 | ARCHIVE_SHA1="d907b640967e8ea40baa82ff55d8813716028aa9"
53 | else
54 | echo "[Err] Unsupported architecture: ${CUR_ARCH}" 1>&2
55 | exit 1
56 | fi
57 |
58 | ARCHIVE_NAME="$(basename ${ARCHIVE_URL})"
59 |
60 | # test_sha1sum(sha1, path_to_file)
61 | test_sha1sum() {
62 | local sum=$(sha1sum "$2")
63 | [ "${sum% *}" != "$1" ] && return 1
64 | return 0
65 | }
66 |
67 | if [ ! -f "${ARCHIVE_NAME}" ]; then
68 | echo ">> Downloading..."
69 | curl -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
70 | assert_success "Download of ${ARCHIVE_NAME} failed..."
71 | fi
72 |
73 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
74 | assert_success "SHA1 mismatch. Try redownloading the archive..."
75 |
76 | echo ">> Unpacking..."
77 | UNPACKED_DIR=$(tar -jxvf "${ARCHIVE_NAME}" | cut -f1 -d"/" | sort | uniq)
78 | assert_success "Could not unpack archive..."
79 |
80 | echo ">> Staging..."
81 | if [ -z "${UNPACKED_DIR}" ] || [ ! -d "${UNPACKED_DIR}" ]; then
82 | echo "[Err] Cannot find unpacked directory at: '${SCRIPT_DIR}/${UNPACKED_DIR}'" 1>&2
83 | exit 1
84 | fi
85 | mv "${UNPACKED_DIR}"/* .
86 | assert_success "Could not stage archive content..."
87 |
88 | echo ">> Cleaning up..."
89 | rm -rf "${UNPACKED_DIR}"
90 | rm -f "${ARCHIVE_NAME}"
91 | assert_success "Could not delete intermediate files..."
92 |
93 | popd 2>&1 > /dev/null
94 |
95 |
--------------------------------------------------------------------------------
/docker/docker-app/cmd_entry:
--------------------------------------------------------------------------------
1 | #!/usr/bin/bash
2 |
3 | _USER="user"
4 | _GROUP="user"
5 |
6 | sudo bash<&2 && exit 1
13 | fi
14 |
15 | if [ \${_MOUNT_UID} -ne 0 ] && [ "$(id -u ${_USER})" != "\${_MOUNT_UID}" ]; then
16 | # Make sure user has same uid/gid as owner of /workspace
17 | # Note: includes a workaround to make sure files in /workspace are not forcibly chown'd by usermod
18 |
19 | mkdir /tmp/dummy && usermod -d /tmp/dummy ${_USER} && usermod -u \${_MOUNT_UID} -g \${_MOUNT_GID} ${_USER}
20 | [ $? -ne 0 ] && echo "[Err] Could not correctly remap user uid/gid to match /workspace ownership..." 1>&2 && exit 1
21 |
22 | usermod -d /workspace ${_USER} && rm -rf /tmp/dummy
23 | [ $? -ne 0 ] && echo "[Err] Failed to re-set user home directory..." 1>&2 && exit 1
24 | fi
25 |
26 | if [ ! -e /workspace/.profile ]; then
27 | cp /root/.profile /workspace/.profile && chown ${_USER}:${_USER} /workspace/.profile
28 | [ $? -ne 0 ] && echo "[Warn] Failed to initialize .profile in home directory..." 1>&2
29 | fi
30 |
31 | exit 0
32 | EOF
33 | [ $? -ne 0 ] && exit 1
34 |
35 | su -l ${_USER} -c '"$0" "$@"' -- "$@"
36 |
37 |
--------------------------------------------------------------------------------
/docker/docker-app/commands/help:
--------------------------------------------------------------------------------
1 | #!/usr/bin/bash
2 |
3 | #
4 | # help - Display basic help about logue SDK development environment
5 | #
6 |
7 | #
8 | # BSD 3-Clause License
9 | #
10 | # Copyright (c) 2022, KORG INC.
11 | # All rights reserved.
12 | #
13 | # Redistribution and use in source and binary forms, with or without
14 | # modification, are permitted provided that the following conditions are met:
15 | #
16 | # * Redistributions of source code must retain the above copyright notice, this
17 | # list of conditions and the following disclaimer.
18 | #
19 | # * Redistributions in binary form must reproduce the above copyright notice,
20 | # this list of conditions and the following disclaimer in the documentation
21 | # and/or other materials provided with the distribution.
22 | #
23 | # * Neither the name of the copyright holder nor the names of its
24 | # contributors may be used to endorse or promote products derived from
25 | # this software without specific prior written permission.
26 | #
27 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
31 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
33 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
35 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | #
38 |
39 | if [ "$(type -t env)" != "function" ]; then
40 | source /app/env
41 | fi
42 |
43 | short_desc () {
44 | echo -n "Basic help about logue SDK development environment. (TODO)"
45 | }
46 |
47 | usage () {
48 | echo "Usage: $0 [OPTIONS]"
49 | echo ""
50 | echo "$(short_desc)"
51 | echo ""
52 | echo "Options:"
53 | echo " -h, --help display this help"
54 | echo ""
55 | }
56 |
57 | ### Main ##########################
58 |
59 | for o in "$@"; do
60 | case ${o} in
61 | -h|--help)
62 | usage
63 | exit 0
64 | ;;
65 | --short-desc)
66 | short_desc
67 | exit 0
68 | ;;
69 | *)
70 | shift
71 | ;;
72 | esac
73 | done
74 |
75 | echo "TODO - placeholder only, not implemented yet"
76 |
77 | exit 1
78 |
--------------------------------------------------------------------------------
/docker/docker-app/commands/list:
--------------------------------------------------------------------------------
1 | #!/usr/bin/bash
2 |
3 | #
4 | # list - Simply lists available custom logue SDK commands
5 | #
6 |
7 | #
8 | # BSD 3-Clause License
9 | #
10 | # Copyright (c) 2022, KORG INC.
11 | # All rights reserved.
12 | #
13 | # Redistribution and use in source and binary forms, with or without
14 | # modification, are permitted provided that the following conditions are met:
15 | #
16 | # * Redistributions of source code must retain the above copyright notice, this
17 | # list of conditions and the following disclaimer.
18 | #
19 | # * Redistributions in binary form must reproduce the above copyright notice,
20 | # this list of conditions and the following disclaimer in the documentation
21 | # and/or other materials provided with the distribution.
22 | #
23 | # * Neither the name of the copyright holder nor the names of its
24 | # contributors may be used to endorse or promote products derived from
25 | # this software without specific prior written permission.
26 | #
27 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
31 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
33 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
35 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | #
38 |
39 | if [ "$(type -t env)" != "function" ]; then
40 | source /app/env
41 | fi
42 |
43 | COMMANDS_PATH="/app/commands"
44 |
45 | short_desc () {
46 | echo -n "List available logue SDK related commands."
47 | }
48 |
49 | usage () {
50 | echo "Usage: $0 [OPTIONS]"
51 | echo ""
52 | echo "$(short_desc)"
53 | echo ""
54 | echo "Options:"
55 | echo " -h, --help display this help"
56 | echo ""
57 | }
58 |
59 | list () {
60 | echo "Available logue SDK commands:"
61 | echo " - env : $(env_short_desc)"
62 | for c in "${COMMANDS_PATH}"/*; do
63 | local cmd=$(basename ${c})
64 | echo " - ${cmd} : $(${COMMANDS_PATH}/${cmd} --short-desc)"
65 | done
66 | }
67 |
68 | ### Main ##########################
69 |
70 | for o in "$@"; do
71 | case ${o} in
72 | -h|--help)
73 | usage
74 | exit 0
75 | ;;
76 | --short-desc)
77 | short_desc
78 | exit 0
79 | ;;
80 | *)
81 | shift
82 | ;;
83 | esac
84 | done
85 |
86 | list
87 |
--------------------------------------------------------------------------------
/docker/docker-app/interactive_entry:
--------------------------------------------------------------------------------
1 | #!/usr/bin/bash
2 |
3 | _USER="user"
4 | _GROUP="user"
5 |
6 | sudo bash<&2 && exit 1
13 | fi
14 |
15 | if [ \${_MOUNT_UID} -ne 0 ] && [ "$(id -u ${_USER})" != "\${_MOUNT_UID}" ]; then
16 | # Make sure user has same uid/gid as owner of /workspace
17 | # Note: includes a workaround to make sure files in /workspace are not forcibly chown'd by usermod
18 |
19 | mkdir /tmp/dummy && usermod -d /tmp/dummy ${_USER} && usermod -u \${_MOUNT_UID} -g \${_MOUNT_GID} ${_USER}
20 | [ $? -ne 0 ] && echo "[Err] Could not correctly remap user uid/gid to match /workspace ownership..." 1>&2 && exit 1
21 |
22 | usermod -d /workspace ${_USER} && rm -rf /tmp/dummy
23 | [ $? -ne 0 ] && echo "[Err] Failed to re-set user home directory..." 1>&2 && exit 1
24 | fi
25 |
26 | if [ ! -e /workspace/.profile ]; then
27 | cp /root/.profile /workspace/.profile && chown ${_USER}:${_USER} /workspace/.profile
28 | [ $? -ne 0 ] && echo "[Warn] Failed to initialize .profile in home directory..." 1>&2
29 | fi
30 |
31 | exit 0
32 | EOF
33 | [ $? -ne 0 ] && exit 1
34 |
35 | su - ${_USER}
36 |
37 |
--------------------------------------------------------------------------------
/docker/docker-app/profile:
--------------------------------------------------------------------------------
1 |
2 | PATH=/app/commands:${PATH}
3 |
4 | source /app/env
5 |
6 | alias ls='ls --color=auto'
7 | alias ll='ls -la --color=auto'
8 | alias l.='ls -d .* --color=auto'
9 |
10 | alias grep='grep --color'
11 |
--------------------------------------------------------------------------------
/docker/inc/realpath:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Replacement for 'realpath' command that is unavailable on macos systems with no coreutils installed
4 | # Adapted from: https://stackoverflow.com/a/18443300
5 | #
6 |
7 | realpath() (
8 | pushd "$(dirname "$1")" 2>&1 > /dev/null
9 | local LINK=$(readlink "$(basename "$1")")
10 | while [ "$LINK" ]; do
11 | cd "$(dirname "$LINK")"
12 | LINK=$(readlink "$(basename "$1")")
13 | done
14 | local REALPATH="$PWD/$(basename "$1")"
15 | popd 2>&1 > /dev/null
16 | echo "$REALPATH"
17 | )
18 |
19 |
--------------------------------------------------------------------------------
/docker/run_interactive.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | #
4 | # run_interactive.sh
5 | #
6 | # Convenience script to spin up a container instance of the logue SDK development
7 | # environment docker image and start an interactive shell
8 | #
9 |
10 | #
11 | # BSD 3-Clause License
12 | #
13 | # Copyright (c) 2022, KORG INC.
14 | # All rights reserved.
15 | #
16 | # Redistribution and use in source and binary forms, with or without
17 | # modification, are permitted provided that the following conditions are met:
18 | #
19 | # * Redistributions of source code must retain the above copyright notice, this
20 | # list of conditions and the following disclaimer.
21 | #
22 | # * Redistributions in binary form must reproduce the above copyright notice,
23 | # this list of conditions and the following disclaimer in the documentation
24 | # and/or other materials provided with the distribution.
25 | #
26 | # * Neither the name of the copyright holder nor the names of its
27 | # contributors may be used to endorse or promote products derived from
28 | # this software without specific prior written permission.
29 | #
30 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
33 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
35 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
36 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
37 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
38 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 | #
41 |
42 | SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
43 |
44 | if [ -z "$(command -v realpath)" ]; then
45 | source ${SCRIPT_DIR}/inc/realpath
46 | fi
47 |
48 | IMAGE_NAME="logue-sdk-dev-env"
49 | IMAGE_VERSION="latest"
50 | PLATFORM_PATH=$(realpath "${SCRIPT_DIR}/../platform")
51 |
52 | usage () {
53 | echo ""
54 | echo "Usage: $0 [OPTIONS] [[REPOSITORY]:VERSION]"
55 | echo ""
56 | echo " Spin up a container instance of the logue SDK development environment"
57 | echo " and start an interactive shell."
58 | echo ""
59 | echo "Options:"
60 | echo " --platform=PATH specify path to platform directory (default: ${PLATFORM_PATH})"
61 | echo " -h, --help display this help"
62 | echo ""
63 | echo "Arguments:"
64 | echo " [REPOSITORY] specify docker image name tag (default: ${IMAGE_NAME})"
65 | echo " [VERSION] specify docker image version tag (default: ${IMAGE_VERSION})"
66 | echo ""
67 | }
68 |
69 | for o in "$@"; do
70 | case $o in
71 | --platform=*)
72 | PLATFORM_PATH=$(realpath "${o#*=}")
73 | shift
74 | ;;
75 | -h|--help)
76 | usage
77 | exit 0
78 | ;;
79 | -*)
80 | ## unknown option
81 | shift
82 | ;;
83 | *)
84 | IMAGE_NAME="${o%:*}"
85 | v="${o#*:}"
86 | if [ "${v}" != "${IMAGE_NAME}" ] && [ ! -z "${v}" ]; then
87 | IMAGE_VERSION=${v}
88 | fi
89 | break
90 | ;;
91 | esac
92 | done
93 |
94 | if [ ! -d "${PLATFORM_PATH}" ]; then
95 | echo "[Err] Could not find platform directory at '${PLATFORM_PATH}'" 1>&2
96 | exit 1
97 | fi
98 |
99 | docker run --rm -v "${PLATFORM_PATH}:/workspace" -h logue-sdk -it ${IMAGE_NAME}:${IMAGE_VERSION} /app/interactive_entry
100 |
101 |
--------------------------------------------------------------------------------
/platform/drumlogue/common/_unit_base.c:
--------------------------------------------------------------------------------
1 | /**
2 | * @file _unit_base.c
3 | * @brief Fallback implementations for unit header and callbacks
4 | *
5 | * Copyright (c) 2020-2022 KORG Inc. All rights reserved.
6 | *
7 | */
8 |
9 | #include
10 |
11 | #include "unit.h"
12 |
13 | // ---- Fallback unit header definition -----------------------------------------------------------
14 |
15 | // Fallback unit header, note that this content is invalid, must be overriden
16 | const __attribute__((weak, section(".unit_header"))) unit_header_t unit_header = {
17 | .header_size = sizeof(unit_header_t),
18 | .target = UNIT_TARGET_PLATFORM,
19 | .api = UNIT_API_VERSION,
20 | .dev_id = 0x0,
21 | .unit_id = 0x0,
22 | .version = 0x0,
23 | .name = "undefined",
24 | .num_presets = 0x0,
25 | .num_params = 0x0,
26 | .params = {{0}}};
27 |
28 | // ---- Fallback entry points from drumlogue runtime ----------------------------------------------
29 |
30 | __attribute__((weak)) int8_t unit_init(const unit_runtime_desc_t * desc) {
31 | (void)desc;
32 | return k_unit_err_undef;
33 | }
34 |
35 | __attribute__((weak)) void unit_teardown() {}
36 |
37 | __attribute__((weak)) void unit_reset() {}
38 |
39 | __attribute__((weak)) void unit_resume() {}
40 |
41 | __attribute__((weak)) void unit_suspend() {}
42 |
43 | __attribute__((weak)) void unit_render(const float * in, float * out, uint32_t frames) {
44 | (void)in;
45 | (void)out;
46 | (void)frames;
47 | }
48 |
49 | __attribute__((weak)) uint8_t unit_get_preset_index() {
50 | return 0;
51 | }
52 |
53 | __attribute__((weak)) const char * unit_get_preset_name(uint8_t idx) {
54 | (void)idx;
55 | return NULL;
56 | }
57 |
58 | __attribute__((weak)) void unit_load_preset(uint8_t idx) {
59 | (void)idx;
60 | }
61 |
62 | __attribute__((weak)) int32_t unit_get_param_value(uint8_t id) {
63 | (void)id;
64 | return 0;
65 | }
66 |
67 | __attribute__((weak)) const char * unit_get_param_str_value(uint8_t id, int32_t value) {
68 | (void)id;
69 | (void)value;
70 | return NULL;
71 | }
72 |
73 | __attribute__((weak)) const uint8_t * unit_get_param_bmp_value(uint8_t id, int32_t value) {
74 | (void)id;
75 | (void)value;
76 | return NULL;
77 | }
78 |
79 | __attribute__((weak)) void unit_set_param_value(uint8_t id, int32_t value) {
80 | (void)id;
81 | (void)value;
82 | }
83 |
84 | __attribute__((weak)) void unit_set_tempo(uint32_t tempo) { (void)tempo; }
85 |
86 | __attribute__((weak)) void unit_note_on(uint8_t note, uint8_t mod) {
87 | (void)note;
88 | (void)mod;
89 | }
90 |
91 | __attribute__((weak)) void unit_note_off(uint8_t note) { (void)note; }
92 |
93 | __attribute__((weak)) void unit_gate_on(uint8_t mod) { (void)mod; }
94 |
95 | __attribute__((weak)) void unit_gate_off(void) {}
96 |
97 | __attribute__((weak)) void unit_all_note_off(void) {}
98 |
99 | __attribute__((weak)) void unit_pitch_bend(uint16_t bend) { (void)bend; }
100 |
101 | __attribute__((weak)) void unit_channel_pressure(uint8_t mod) { (void)mod; }
102 |
103 | __attribute__((weak)) void unit_aftertouch(uint8_t note, uint8_t mod) {
104 | (void)note;
105 | (void)mod;
106 | }
107 |
--------------------------------------------------------------------------------
/platform/drumlogue/common/attributes.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file attributes.h
3 | * @brief Some useful compiler attribute shorthands
4 | *
5 | * Copyright (c) 2020-2022 KORG Inc. All rights reserved.
6 | *
7 | */
8 |
9 | #ifndef ATTRIBUTES_H_
10 | #define ATTRIBUTES_H_
11 |
12 | #define noopt __attribute__((optimize("O0")))
13 | #define fast __attribute__((optimize("Ofast")))
14 |
15 | #define force_inline inline __attribute__((always_inline))
16 | #define fast_inline inline __attribute__((always_inline, optimize("Ofast")))
17 |
18 | #define __unit_callback __attribute__((used))
19 | #define __unit_header __attribute__((used, section(".unit_header")))
20 |
21 | #endif // ATTRIBUTES_H_
22 |
--------------------------------------------------------------------------------
/platform/drumlogue/common/sample_wrapper.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file sample_wrapper.h
3 | * @brief Sample wrapper structure
4 | *
5 | * Copyright (c) 2020-2022 KORG Inc. All rights reserved.
6 | *
7 | */
8 |
9 | #ifndef SAMPLE_WRAPPER_H_
10 | #define SAMPLE_WRAPPER_H_
11 |
12 | #include
13 | #include
14 |
15 | #ifdef __cplusplus
16 | extern "C" {
17 | #endif
18 |
19 | #define UNIT_SAMPLE_WRAPPER_MAX_NAME_LEN 31
20 |
21 | typedef struct sample_wrapper {
22 | uint8_t bank;
23 | uint8_t index;
24 | uint8_t channels;
25 | uint8_t _padding;
26 | char name[UNIT_SAMPLE_WRAPPER_MAX_NAME_LEN + 1];
27 | size_t frames;
28 | const float * sample_ptr;
29 | } sample_wrapper_t;
30 |
31 | #ifdef __cplusplus
32 | } // extern "C"
33 | #endif
34 |
35 | #endif // SAMPLE_WRAPPER_H_
36 |
--------------------------------------------------------------------------------
/platform/drumlogue/common/unit.h:
--------------------------------------------------------------------------------
1 | /**
2 | * @file unit.h
3 | * @brief Unit API declarations
4 | *
5 | * Copyright (c) 2020-2022 KORG Inc. All rights reserved.
6 | *
7 | */
8 |
9 | #ifndef UNIT_H_
10 | #define UNIT_H_
11 |
12 | #include
13 |
14 | #include "attributes.h"
15 | #include "runtime.h"
16 |
17 | #ifdef __cplusplus
18 | extern "C" {
19 | #endif
20 |
21 | extern const unit_header_t unit_header;
22 |
23 | int8_t unit_init(const unit_runtime_desc_t *);
24 | void unit_teardown();
25 | void unit_reset();
26 | void unit_resume();
27 | void unit_suspend();
28 | void unit_render(const float *, float *, uint32_t);
29 | uint8_t unit_get_preset_index();
30 | const char * unit_get_preset_name(uint8_t);
31 | void unit_load_preset(uint8_t);
32 | int32_t unit_get_param_value(uint8_t);
33 | const char * unit_get_param_str_value(uint8_t, int32_t);
34 | const uint8_t * unit_get_param_bmp_value(uint8_t, int32_t);
35 | void unit_set_param_value(uint8_t, int32_t);
36 | void unit_set_tempo(uint32_t);
37 | void unit_note_on(uint8_t, uint8_t);
38 | void unit_note_off(uint8_t);
39 | void unit_gate_on(uint8_t);
40 | void unit_gate_off(void);
41 | void unit_all_note_off(void);
42 | void unit_pitch_bend(uint16_t);
43 | void unit_channel_pressure(uint8_t);
44 | void unit_aftertouch(uint8_t, uint8_t);
45 |
46 | #ifdef __cplusplus
47 | } // extern "C"
48 | #endif
49 |
50 | #endif // UNIT_H_
51 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-delfx/.clang-format:
--------------------------------------------------------------------------------
1 | Standard: Auto
2 | BasedOnStyle: Google
3 | NamespaceIndentation: All
4 | FixNamespaceComments: true
5 | PointerAlignment: Middle
6 | DerivePointerAlignment: false
7 | SortIncludes: false
8 | ColumnLimit: 0
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-delfx/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_delay
6 | PROJECT_TYPE := delfx
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | CSRC = header.c
14 |
15 | # C++ sources
16 | CXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | ASMSRC =
20 |
21 | ASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 | ULIBS += -lc
41 |
42 | ##############################################################################
43 | # Macros
44 | #
45 |
46 | UDEFS =
47 |
48 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-delfx/unit.cc:
--------------------------------------------------------------------------------
1 | /**
2 | * @file unit.cc
3 | * @brief drumlogue SDK unit interface
4 | *
5 | * Copyright (c) 2020-2022 KORG Inc. All rights reserved.
6 | *
7 | */
8 |
9 | #include "unit.h" // Note: Include common definitions for all units
10 | #include "delay.h" // Note: Include custom delay code
11 |
12 | static Delay s_delay_instance; // Note: In this case, actual instance of custom delay object.
13 | static unit_runtime_desc_t s_runtime_desc; // Note: used to cache runtime descriptor obtained via init callback
14 |
15 | // ---- Callback entry points from drumlogue runtime ----------------------------------------------
16 |
17 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
18 | if (!desc)
19 | return k_unit_err_undef;
20 |
21 | // Note: make sure the unit is being loaded to the correct platform/module target
22 | if (desc->target != unit_header.target)
23 | return k_unit_err_target;
24 |
25 | // Note: check API compatibility with the one this unit was built against
26 | if (!UNIT_API_IS_COMPAT(desc->api))
27 | return k_unit_err_api_version;
28 |
29 | // Note: (optional) caching runtime descriptor for future reference
30 | s_runtime_desc = *desc;
31 |
32 | return s_delay_instance.Init(desc);
33 | }
34 |
35 | __unit_callback void unit_teardown() {
36 | s_delay_instance.Teardown();
37 | }
38 |
39 | __unit_callback void unit_reset() {
40 | s_delay_instance.Reset();
41 | }
42 |
43 | __unit_callback void unit_resume() {
44 | s_delay_instance.Resume();
45 | }
46 |
47 | __unit_callback void unit_suspend() {
48 | s_delay_instance.Suspend();
49 | }
50 |
51 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
52 | s_delay_instance.Process(in, out, frames);
53 | }
54 |
55 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
56 | s_delay_instance.setParameter(id, value);
57 | }
58 |
59 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
60 | return s_delay_instance.getParameterValue(id);
61 | }
62 |
63 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
64 | return s_delay_instance.getParameterStrValue(id, value);
65 | }
66 |
67 | __unit_callback const uint8_t * unit_get_param_bmp_value(uint8_t id, int32_t value) {
68 | return s_delay_instance.getParameterBmpValue(id, value);
69 | }
70 |
71 | __unit_callback void unit_set_tempo(uint32_t tempo) {
72 | // const float t = (tempo >> 16) + (tempo & 0xFFFF) / static_cast(0x10000);
73 | (void)tempo;
74 | }
75 |
76 | __unit_callback void unit_load_preset(uint8_t idx) {
77 | s_delay_instance.LoadPreset(idx);
78 | }
79 |
80 | __unit_callback uint8_t unit_get_preset_index() {
81 | return s_delay_instance.getPresetIndex();
82 | }
83 |
84 | __unit_callback const char * unit_get_preset_name(uint8_t idx) {
85 | return Delay::getPresetName(idx);
86 | }
87 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-masterfx/.clang-format:
--------------------------------------------------------------------------------
1 | Standard: Auto
2 | BasedOnStyle: Google
3 | NamespaceIndentation: All
4 | FixNamespaceComments: true
5 | PointerAlignment: Middle
6 | DerivePointerAlignment: false
7 | SortIncludes: false
8 | ColumnLimit: 0
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-masterfx/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_master
6 | PROJECT_TYPE := masterfx
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | CSRC = header.c
14 |
15 | # C++ sources
16 | CXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | ASMSRC =
20 |
21 | ASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 | ULIBS += -lc
41 |
42 | ##############################################################################
43 | # Macros
44 | #
45 |
46 | UDEFS =
47 |
48 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-masterfx/unit.cc:
--------------------------------------------------------------------------------
1 | /**
2 | * @file unit.cc
3 | * @brief drumlogue SDK unit interface
4 | *
5 | * Copyright (c) 2020-2022 KORG Inc. All rights reserved.
6 | *
7 | */
8 |
9 | #include "unit.h" // Note: Include common definitions for all units
10 | #include "masterfx.h" // Note: Include custom master fx code
11 |
12 | static MasterFX s_master_instance; // Note: In this case, actual instance of custom master fx object.
13 | static unit_runtime_desc_t s_runtime_desc; // Note: used to cache runtime descriptor obtained via init callback
14 |
15 | // ---- Callback entry points from drumlogue runtime ----------------------------------------------
16 |
17 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
18 | if (!desc)
19 | return k_unit_err_undef;
20 |
21 | // Note: make sure the unit is being loaded to the correct platform/module target
22 | if (desc->target != unit_header.target)
23 | return k_unit_err_target;
24 |
25 | // Note: check API compatibility with the one this unit was built against
26 | if (!UNIT_API_IS_COMPAT(desc->api))
27 | return k_unit_err_api_version;
28 |
29 | // Note: (optional) caching runtime descriptor for future reference
30 | s_runtime_desc = *desc;
31 |
32 | return s_master_instance.Init(desc);
33 | }
34 |
35 | __unit_callback void unit_teardown() {
36 | s_master_instance.Teardown();
37 | }
38 |
39 | __unit_callback void unit_reset() {
40 | s_master_instance.Reset();
41 | }
42 |
43 | __unit_callback void unit_resume() {
44 | s_master_instance.Resume();
45 | }
46 |
47 | __unit_callback void unit_suspend() {
48 | s_master_instance.Suspend();
49 | }
50 |
51 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
52 | s_master_instance.Process(in, out, frames);
53 | }
54 |
55 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
56 | s_master_instance.setParameter(id, value);
57 | }
58 |
59 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
60 | return s_master_instance.getParameterValue(id);
61 | }
62 |
63 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
64 | return s_master_instance.getParameterStrValue(id, value);
65 | }
66 |
67 | __unit_callback const uint8_t * unit_get_param_bmp_value(uint8_t id, int32_t value) {
68 | return s_master_instance.getParameterBmpValue(id, value);
69 | }
70 |
71 | __unit_callback void unit_set_tempo(uint32_t tempo) {
72 | // const float t = (tempo >> 16) + (tempo & 0xFFFF) / static_cast(0x10000);
73 | (void)tempo;
74 | }
75 |
76 | __unit_callback void unit_load_preset(uint8_t idx) {
77 | s_master_instance.LoadPreset(idx);
78 | }
79 |
80 | __unit_callback uint8_t unit_get_preset_index() {
81 | return s_master_instance.getPresetIndex();
82 | }
83 |
84 | __unit_callback const char * unit_get_preset_name(uint8_t idx) {
85 | return MasterFX::getPresetName(idx);
86 | }
87 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-revfx/.clang-format:
--------------------------------------------------------------------------------
1 | Standard: Auto
2 | BasedOnStyle: Google
3 | NamespaceIndentation: All
4 | FixNamespaceComments: true
5 | PointerAlignment: Middle
6 | DerivePointerAlignment: false
7 | SortIncludes: false
8 | ColumnLimit: 0
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-revfx/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_reverb
6 | PROJECT_TYPE := revfx
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | CSRC = header.c
14 |
15 | # C++ sources
16 | CXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | ASMSRC =
20 |
21 | ASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 | ULIBS += -lc
41 |
42 | ##############################################################################
43 | # Macros
44 | #
45 |
46 | UDEFS =
47 |
48 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-revfx/unit.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * File: unit.cc
3 | *
4 | * @brief drumlogue SDK unit interface
5 | *
6 | * 2022 (c) Korg All rights reserved.
7 | *
8 | */
9 |
10 | #include "unit.h" // Note: Include common definitions for all units
11 | #include "reverb.h" // Note: Include custom reverb code
12 |
13 | static Reverb s_reverb_instance; // Note: In this case, actual instance of custom reverb object.
14 | static unit_runtime_desc_t s_runtime_desc; // Note: used to cache runtime descriptor obtained via init callback
15 |
16 | // ---- Callback entry points from drumlogue runtime ----------------------------------------------
17 |
18 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
19 | if (!desc)
20 | return k_unit_err_undef;
21 |
22 | // Note: make sure the unit is being loaded to the correct platform/module target
23 | if (desc->target != unit_header.target)
24 | return k_unit_err_target;
25 |
26 | // Note: check API compatibility with the one this unit was built against
27 | if (!UNIT_API_IS_COMPAT(desc->api))
28 | return k_unit_err_api_version;
29 |
30 | // Note: (optional) caching runtime descriptor for future reference
31 | s_runtime_desc = *desc;
32 |
33 | return s_reverb_instance.Init(desc);
34 | }
35 |
36 | __unit_callback void unit_teardown() {
37 | s_reverb_instance.Teardown();
38 | }
39 |
40 | __unit_callback void unit_reset() {
41 | s_reverb_instance.Reset();
42 | }
43 |
44 | __unit_callback void unit_resume() {
45 | s_reverb_instance.Resume();
46 | }
47 |
48 | __unit_callback void unit_suspend() {
49 | s_reverb_instance.Suspend();
50 | }
51 |
52 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
53 | s_reverb_instance.Process(in, out, frames);
54 | }
55 |
56 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
57 | s_reverb_instance.setParameter(id, value);
58 | }
59 |
60 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
61 | return s_reverb_instance.getParameterValue(id);
62 | }
63 |
64 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
65 | return s_reverb_instance.getParameterStrValue(id, value);
66 | }
67 |
68 | __unit_callback const uint8_t * unit_get_param_bmp_value(uint8_t id, int32_t value) {
69 | return s_reverb_instance.getParameterBmpValue(id, value);
70 | }
71 |
72 | __unit_callback void unit_set_tempo(uint32_t tempo) {
73 | // const float t = (tempo >> 16) + (tempo & 0xFFFF) / static_cast(0x10000);
74 | (void)tempo;
75 | }
76 |
77 | __unit_callback void unit_load_preset(uint8_t idx) {
78 | s_reverb_instance.LoadPreset(idx);
79 | }
80 |
81 | __unit_callback uint8_t unit_get_preset_index() {
82 | return s_reverb_instance.getPresetIndex();
83 | }
84 |
85 | __unit_callback const char * unit_get_preset_name(uint8_t idx) {
86 | return Reverb::getPresetName(idx);
87 | }
88 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-synth/.clang-format:
--------------------------------------------------------------------------------
1 | Standard: Auto
2 | BasedOnStyle: Google
3 | NamespaceIndentation: All
4 | FixNamespaceComments: true
5 | PointerAlignment: Middle
6 | DerivePointerAlignment: false
7 | SortIncludes: false
8 | ColumnLimit: 0
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-synth/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Project Configuration
3 | #
4 |
5 | PROJECT := dummy_synth
6 | PROJECT_TYPE := synth
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | CSRC = header.c
14 |
15 | # C++ sources
16 | CXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | ASMSRC =
20 |
21 | ASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 | ULIBS += -lc
41 |
42 | ##############################################################################
43 | # Macros
44 | #
45 |
46 | UDEFS =
47 |
48 |
--------------------------------------------------------------------------------
/platform/drumlogue/dummy-synth/unit.cc:
--------------------------------------------------------------------------------
1 | /**
2 | * @file unit.cc
3 | * @brief drumlogue SDK unit interface
4 | *
5 | * Copyright (c) 2020-2022 KORG Inc. All rights reserved.
6 | *
7 | */
8 |
9 | #include
10 | #include
11 |
12 | #include "unit.h" // Note: Include common definitions for all units
13 | #include "synth.h" // Note: Include custom master fx code
14 |
15 | static Synth s_synth_instance; // Note: In this case, actual instance of custom master fx object.
16 | static unit_runtime_desc_t s_runtime_desc; // Note: used to cache runtime descriptor obtained via init callback
17 |
18 | // ---- Callback entry points from drumlogue runtime ----------------------------------------------
19 |
20 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
21 | if (!desc)
22 | return k_unit_err_undef;
23 |
24 | if (desc->target != unit_header.target)
25 | return k_unit_err_target;
26 | if (!UNIT_API_IS_COMPAT(desc->api))
27 | return k_unit_err_api_version;
28 |
29 | s_runtime_desc = *desc;
30 |
31 | return s_synth_instance.Init(desc);
32 | }
33 |
34 | __unit_callback void unit_teardown() {
35 | s_synth_instance.Teardown();
36 | }
37 |
38 | __unit_callback void unit_reset() {
39 | s_synth_instance.Reset();
40 | }
41 |
42 | __unit_callback void unit_resume() {
43 | s_synth_instance.Resume();
44 | }
45 |
46 | __unit_callback void unit_suspend() {
47 | s_synth_instance.Suspend();
48 | }
49 |
50 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
51 | (void)in;
52 | s_synth_instance.Render(out, frames);
53 | }
54 |
55 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
56 | s_synth_instance.setParameter(id, value);
57 | }
58 |
59 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
60 | return s_synth_instance.getParameterValue(id);
61 | }
62 |
63 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
64 | return s_synth_instance.getParameterStrValue(id, value);
65 | }
66 |
67 | __unit_callback const uint8_t * unit_get_param_bmp_value(uint8_t id, int32_t value) {
68 | return s_synth_instance.getParameterBmpValue(id, value);
69 | }
70 |
71 | __unit_callback void unit_set_tempo(uint32_t tempo) {
72 | // const float t = (tempo >> 16) + (tempo & 0xFFFF) /
73 | // static_cast(0x10000);
74 | (void)tempo;
75 | }
76 |
77 | __unit_callback void unit_note_on(uint8_t note, uint8_t velocity) {
78 | s_synth_instance.NoteOn(note, velocity);
79 | }
80 |
81 | __unit_callback void unit_note_off(uint8_t note) {
82 | s_synth_instance.NoteOff(note);
83 | }
84 |
85 | __unit_callback void unit_gate_on(uint8_t velocity) {
86 | s_synth_instance.GateOn(velocity);
87 | }
88 |
89 | __unit_callback void unit_gate_off() {
90 | s_synth_instance.GateOff();
91 | }
92 |
93 | __unit_callback void unit_all_note_off() {
94 | s_synth_instance.AllNoteOff();
95 | }
96 |
97 | __unit_callback void unit_pitch_bend(uint16_t bend) {
98 | s_synth_instance.PitchBend(bend);
99 | }
100 |
101 | __unit_callback void unit_channel_pressure(uint8_t pressure) {
102 | s_synth_instance.ChannelPressure(pressure);
103 | }
104 |
105 | __unit_callback void unit_aftertouch(uint8_t note, uint8_t aftertouch) {
106 | s_synth_instance.Aftertouch(note, aftertouch);
107 | }
108 |
109 | __unit_callback void unit_load_preset(uint8_t idx) {
110 | return s_synth_instance.LoadPreset(idx);
111 | }
112 |
113 | __unit_callback uint8_t unit_get_preset_index() {
114 | return s_synth_instance.getPresetIndex();
115 | }
116 |
117 | __unit_callback const char * unit_get_preset_name(uint8_t idx) {
118 | return Synth::getPresetName(idx);
119 | }
120 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/docs/doxy.h:
--------------------------------------------------------------------------------
1 | /** \mainpage minilogue xd SDK documentation
2 | *
3 | *
4 | * \section overview_sec Overview
5 | *
6 | * See the Modules and Classes tabs for a breakdown of the SDKs components.
7 | *
8 | */
9 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-delfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-delfx/ld/userdelfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userdelfx.ld
36 | *
37 | * Linker Script for user delay effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20019000, len = 12K
47 | SDRAM (rw) : org = 0xC0420000, len = 2432K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-delfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "minilogue-xd",
5 | "module" : "delfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-delfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_delfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-modfx/README.md:
--------------------------------------------------------------------------------
1 | ## Modulation Effect Template Project
2 |
3 | This project can be used as a basis for custom modulation effects. **Refer to [parent platform](../) for build instructions.**
4 |
5 | ### FAQ
6 |
7 | #### Why does MODFX_PROCESS() have *main* and *sub* inputs and outputs?
8 |
9 | The modulation effect API was originally designed for the prologue synthesizer which allows each *main* and *sub* timbre audio to be processed independently by the modulation effect section.
10 | This interface was maintained in order to preserve API compatibility between the minilogue xd and prologue.
11 | For an effect to properly work on the prologue, both inputs should be processed in the same way and the result written to the corresponding output.
12 |
13 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-modfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-modfx/ld/usermodfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: usermodfx.ld
36 | *
37 | * Linker Script for user modulation effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20017800, len = 6K
47 | SDRAM (rw) : org = 0xC0400000, len = 128K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-modfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "minilogue-xd",
5 | "module" : "modfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-modfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_modfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-osc/ld/osc_api.syms:
--------------------------------------------------------------------------------
1 | k_osc_api_version = 0x0800f000;
2 | k_osc_api_platform = 0x0800f004;
3 | midi_to_hz_lut_f = 0x0800f100;
4 | sqrtm2log_lut_f = 0x0800f360;
5 | tanpi_lut_f = 0x0800f764;
6 | log_lut_f = 0x0800fb68;
7 | bitres_lut_f = 0x0800ff6c;
8 | wt_par_lut_f = 0x08010170;
9 | wt_par_notes = 0x08010f8c;
10 | wt_sqr_lut_f = 0x08010f94;
11 | wt_sqr_notes = 0x08011db0;
12 | wt_saw_lut_f = 0x08011db8;
13 | wt_saw_notes = 0x08012bd4;
14 | wt_sine_lut_f = 0x08012bdc;
15 | schetzen_lut_f = 0x08012de0;
16 | cubicsat_lut_f = 0x08012fe4;
17 | wavesA = 0x080131e8;
18 | wavesB = 0x0801546c;
19 | wavesC = 0x080174ec;
20 | wavesD = 0x0801915c;
21 | wavesE = 0x0801abc4;
22 | wavesF = 0x0801ca3c;
23 | _osc_mcu_hash = 0x0801eabc;
24 | _osc_bl_saw_idx = 0x0801eac8;
25 | _osc_bl_sqr_idx = 0x0801ebb0;
26 | _osc_bl_par_idx = 0x0801ec98;
27 | _osc_rand = 0x0801ed80;
28 | _osc_white = 0x0801edb8;
29 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-osc/ld/userosc.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userosc.ld
36 | *
37 | * Linker Script for user oscillators
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20000000, len = 32K
47 | }
48 |
49 | /* Include Rules */
50 | INCLUDE rules.ld
51 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-osc/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "minilogue-xd",
5 | "module" : "osc",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 6,
12 | "params" : [
13 | ["dummy0", 0, 100, "%"],
14 | ["dummy1", 0, 100, "%"],
15 | ["dummy2", 0, 100, "%"],
16 | ["dummy3", 0, 100, "%"],
17 | ["dummy4", -100, 100, "%"],
18 | ["dummy5", 0, 10, ""]
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-osc/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_osc
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-revfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-revfx/ld/userrevfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userrevfx.ld
36 | *
37 | * Linker Script for user reverb effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20019000, len = 12K
47 | SDRAM (rw) : org = 0xC0420000, len = 2432K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-revfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "minilogue-xd",
5 | "module" : "revfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/dummy-revfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_revfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/waves/ld/osc_api.syms:
--------------------------------------------------------------------------------
1 | k_osc_api_version = 0x0800f000;
2 | k_osc_api_platform = 0x0800f004;
3 | midi_to_hz_lut_f = 0x0800f100;
4 | sqrtm2log_lut_f = 0x0800f360;
5 | tanpi_lut_f = 0x0800f764;
6 | log_lut_f = 0x0800fb68;
7 | bitres_lut_f = 0x0800ff6c;
8 | wt_par_lut_f = 0x08010170;
9 | wt_par_notes = 0x08010f8c;
10 | wt_sqr_lut_f = 0x08010f94;
11 | wt_sqr_notes = 0x08011db0;
12 | wt_saw_lut_f = 0x08011db8;
13 | wt_saw_notes = 0x08012bd4;
14 | wt_sine_lut_f = 0x08012bdc;
15 | schetzen_lut_f = 0x08012de0;
16 | cubicsat_lut_f = 0x08012fe4;
17 | wavesA = 0x080131e8;
18 | wavesB = 0x0801546c;
19 | wavesC = 0x080174ec;
20 | wavesD = 0x0801915c;
21 | wavesE = 0x0801abc4;
22 | wavesF = 0x0801ca3c;
23 | _osc_mcu_hash = 0x0801eabc;
24 | _osc_bl_saw_idx = 0x0801eac8;
25 | _osc_bl_sqr_idx = 0x0801ebb0;
26 | _osc_bl_par_idx = 0x0801ec98;
27 | _osc_rand = 0x0801ed80;
28 | _osc_white = 0x0801edb8;
29 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/waves/ld/userosc.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userosc.ld
36 | *
37 | * Linker Script for user oscillators
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20000000, len = 32K
47 | }
48 |
49 | /* Include Rules */
50 | INCLUDE rules.ld
51 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/waves/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "minilogue-xd",
5 | "module" : "osc",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-1",
10 | "name" : "waves",
11 | "num_param" : 6,
12 | "params" : [
13 | ["Wave A", 0, 45, ""],
14 | ["Wave B", 0, 43, ""],
15 | ["Sub Wave", 0, 15, ""],
16 | ["Sub Mix", 0, 100, "%"],
17 | ["Ring Mix", 0, 100, "%"],
18 | ["Bit Crush", 0, 100, "%"]
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/platform/minilogue-xd/waves/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = waves
6 |
7 | UCSRC =
8 |
9 | UCXXSRC = waves.cpp
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/common/attributes.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file attributes.h
36 | *
37 | * @brief Some useful compiler attribute shorthands
38 | *
39 | */
40 |
41 | #ifndef ATTRIBUTES_H_
42 | #define ATTRIBUTES_H_
43 |
44 | #define noopt __attribute__((optimize("O0")))
45 | #define fast __attribute__((optimize("Ofast")))
46 |
47 | #define force_inline inline __attribute__((always_inline))
48 | #define fast_inline inline __attribute__((always_inline, optimize("Ofast")))
49 |
50 | #define __unit_callback __attribute__((used))
51 | #define __unit_header __attribute__((used, section(".unit_header")))
52 |
53 | #endif // ATTRIBUTES_H_
54 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/common/macros.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file macros.h
36 | *
37 | * @brief Some useful macros
38 | *
39 | */
40 |
41 | #ifndef MACROS_H_
42 | #define MACROS_H_
43 |
44 | #include "utils/float_math.h"
45 |
46 | #define param_10bit_to_f32(val) ((uint16_t)(val) * 9.77517106549365e-004f) // 0-1023 -> 0.f-1.f
47 | #define param_f32_to_10bit(f32) ((uint16_t)si_roundf((f32) * 1023U)) // 0.f-1.f -> 0-1023
48 |
49 | // Note: Keep these macros for backward compatibility
50 | #define param_val_to_f32(val) param_10bit_to_f32(val)
51 | #define param_f32_to_val(f32) param_f32_to_10bit(f32)
52 |
53 | #endif // MACROS_H_
54 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/common/unit.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file unit.h
36 | *
37 | * @brief Unit common header
38 | *
39 | */
40 |
41 | #ifndef UNIT_H_
42 | #define UNIT_H_
43 |
44 | #include
45 |
46 | #include "attributes.h"
47 | #include "macros.h"
48 | #include "runtime.h"
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | extern const unit_header_t unit_header;
55 |
56 | int8_t unit_init(const unit_runtime_desc_t *);
57 | void unit_teardown();
58 | void unit_reset();
59 | void unit_resume();
60 | void unit_suspend();
61 | void unit_render(const float *, float *, uint32_t);
62 | int32_t unit_get_param_value(uint8_t);
63 | const char * unit_get_param_str_value(uint8_t, int32_t);
64 | void unit_set_param_value(uint8_t, int32_t);
65 | void unit_set_tempo(uint32_t);
66 | void unit_tempo_4ppqn_tick(uint32_t);
67 | void unit_note_on(uint8_t, uint8_t);
68 | void unit_note_off(uint8_t);
69 | void unit_all_note_off(void);
70 | void unit_pitch_bend(uint16_t);
71 | void unit_channel_pressure(uint8_t);
72 | void unit_aftertouch(uint8_t, uint8_t);
73 |
74 | #ifdef __cplusplus
75 | } // extern "C"
76 | #endif
77 |
78 | #endif // UNIT_H_
79 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/common/unit_delfx.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file unit_delfx.h
36 | *
37 | * @brief Base header for delay effect units
38 | *
39 | */
40 |
41 | #ifndef UNIT_DELFX_H_
42 | #define UNIT_DELFX_H_
43 |
44 | #include
45 |
46 | #include "unit.h"
47 | #include "fx_api.h"
48 |
49 | #ifdef __cplusplus
50 | extern "C" {
51 | #endif
52 |
53 | /** Exposed parameters with fixed/direct UI controls. */
54 | enum {
55 | k_unit_delfx_fixed_param_time = 0,
56 | k_unit_delfx_fixed_param_depth,
57 | k_unit_delfx_fixed_param_mix,
58 | k_num_unit_delfx_fixed_param_id
59 | };
60 |
61 | #define UNIT_DELFX_MAX_PARAM_COUNT (11)
62 |
63 | #ifdef __cplusplus
64 | } // extern "C"
65 | #endif
66 |
67 | #endif // UNIT_DELFX_H_
68 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/common/unit_modfx.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file unit_modfx.h
36 | *
37 | * @brief Base header for modulation effect units
38 | *
39 | */
40 |
41 | #ifndef UNIT_MODFX_H_
42 | #define UNIT_MODFX_H_
43 |
44 | #include
45 |
46 | #include "unit.h"
47 | #include "fx_api.h"
48 |
49 | #ifdef __cplusplus
50 | extern "C" {
51 | #endif
52 |
53 | /** Exposed parameters with fixed/direct UI controls. */
54 | enum {
55 | k_unit_modfx_fixed_param_time = 0,
56 | k_unit_modfx_fixed_param_depth,
57 | k_num_unit_modfx_fixed_param_id
58 | };
59 |
60 | #define UNIT_MODFX_MAX_PARAM_COUNT (10)
61 |
62 | #ifdef __cplusplus
63 | } // extern "C"
64 | #endif
65 |
66 | #endif // UNIT_MODFX_H_
67 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/common/unit_osc.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file unit_osc.h
36 | *
37 | * @brief Base header for oscillator units
38 | *
39 | */
40 |
41 | #ifndef UNIT_OSC_H_
42 | #define UNIT_OSC_H_
43 |
44 | #include
45 |
46 | #include "unit.h"
47 | #include "osc_api.h"
48 |
49 | #ifdef __cplusplus
50 | extern "C" {
51 | #endif
52 |
53 | /**
54 | * Oscillator input usage states
55 | */
56 | enum {
57 | k_runtime_osc_input_unused = 0U,
58 | k_runtime_osc_input_used,
59 | };
60 |
61 | /**
62 | * Pointer to notify_input_usage(uint8_t usage), used to notify the runtime that oscillator is using the audio input or not.
63 | * Note: the runtime assumes audio input is unused by default
64 | */
65 | typedef void (*unit_runtime_osc_notify_input_usage_ptr)(uint8_t);
66 |
67 | /** Oscillator specific unit runtime context. */
68 | typedef struct unit_runtime_osc_context {
69 | int32_t shape_lfo; // Shape LFO signal encoded in Q31 fixed point format
70 | uint16_t pitch; // Upper 8 bits: note, Lower 8 bits: inter-note fraction
71 | uint16_t cutoff; // Unused. Future.
72 | uint16_t resonance; // Unused. Future.
73 | uint8_t amp_eg_phase; // Unused. Future.
74 | uint8_t amp_eg_state:3; // Unused. Future.
75 | uint8_t padding0:5;
76 | unit_runtime_osc_notify_input_usage_ptr notify_input_usage;
77 | } unit_runtime_osc_context_t;
78 |
79 | /** Exposed parameters with fixed/direct UI controls. */
80 | enum {
81 | k_unit_osc_fixed_param_shape = 0,
82 | k_unit_osc_fixed_param_altshape,
83 | k_num_unit_osc_fixed_param_id
84 | };
85 |
86 | #define UNIT_OSC_MAX_PARAM_COUNT (10)
87 |
88 | #ifdef __cplusplus
89 | } // extern "C"
90 | #endif
91 |
92 | #endif // UNIT_OSC_H_
93 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/common/unit_revfx.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file unit_revfx.h
36 | *
37 | * @brief Base header for reverb effect units
38 | *
39 | */
40 |
41 | #ifndef UNIT_REVFX_H_
42 | #define UNIT_REVFX_H_
43 |
44 | #include
45 |
46 | #include "unit.h"
47 | #include "fx_api.h"
48 |
49 | #ifdef __cplusplus
50 | extern "C" {
51 | #endif
52 |
53 | /** Exposed parameters with fixed/direct UI controls. */
54 | enum {
55 | k_unit_revfx_fixed_param_time = 0,
56 | k_unit_revfx_fixed_param_depth,
57 | k_unit_revfx_fixed_param_mix,
58 | k_num_unit_revfx_fixed_param_id
59 | };
60 |
61 | #define UNIT_REVFX_MAX_PARAM_COUNT (11)
62 |
63 | #ifdef __cplusplus
64 | } // extern "C"
65 | #endif
66 |
67 | #endif // UNIT_REVFX_H_
68 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/dummy-delfx/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_delfx
6 | PROJECT_TYPE := delfx
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | UCSRC = header.c
14 |
15 | # C++ sources
16 | UCXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | UASMSRC =
20 |
21 | UASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 |
41 | ##############################################################################
42 | # Macros
43 | #
44 |
45 | UDEFS =
46 |
47 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/dummy-delfx/unit.cc:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: unit.cc
36 | *
37 | * NTS-1 mkII delay effect unit interface
38 | *
39 | */
40 |
41 | #include "unit_delfx.h" // Note: Include base definitions for delfx units
42 |
43 | #include "delay.h" // Note: Include custom delay code
44 |
45 | static Delay s_delay_instance; // Note: In this example, actual instance of custom delay object.
46 |
47 | // ---- Callbacks exposed to runtime ----------------------------------------------
48 |
49 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
50 | return s_delay_instance.Init(desc);
51 | }
52 |
53 | __unit_callback void unit_teardown() {
54 | s_delay_instance.Teardown();
55 | }
56 |
57 | __unit_callback void unit_reset() {
58 | s_delay_instance.Reset();
59 | }
60 |
61 | __unit_callback void unit_resume() {
62 | s_delay_instance.Resume();
63 | }
64 |
65 | __unit_callback void unit_suspend() {
66 | s_delay_instance.Suspend();
67 | }
68 |
69 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
70 | s_delay_instance.Process(in, out, frames);
71 | }
72 |
73 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
74 | s_delay_instance.setParameter(id, value);
75 | }
76 |
77 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
78 | return s_delay_instance.getParameterValue(id);
79 | }
80 |
81 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
82 | return s_delay_instance.getParameterStrValue(id, value);
83 | }
84 |
85 | __unit_callback void unit_set_tempo(uint32_t tempo) {
86 | s_delay_instance.setTempo(tempo);
87 | }
88 |
89 | __unit_callback void unit_tempo_4ppqn_tick(uint32_t counter) {
90 | s_delay_instance.tempo4ppqnTick(counter);
91 | }
92 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/dummy-modfx/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_modfx
6 | PROJECT_TYPE := modfx
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | UCSRC = header.c
14 |
15 | # C++ sources
16 | UCXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | UASMSRC =
20 |
21 | UASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 |
41 | ##############################################################################
42 | # Macros
43 | #
44 |
45 | UDEFS =
46 |
47 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/dummy-modfx/unit.cc:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: unit.cc
36 | *
37 | * NTS-1 mkII modulation effect unit interface
38 | *
39 | */
40 |
41 | #include "unit_modfx.h" // Note: Include base definitions for modfx units
42 |
43 | #include "modfx.h" // Note: Include custom modulation effect code
44 |
45 | static Modfx s_modfx_instance; // Note: In this example, actual instance of custom modfx object.
46 |
47 | // ---- Callbacks exposed to runtime ----------------------------------------------
48 |
49 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
50 | return s_modfx_instance.Init(desc);
51 | }
52 |
53 | __unit_callback void unit_teardown() {
54 | s_modfx_instance.Teardown();
55 | }
56 |
57 | __unit_callback void unit_reset() {
58 | s_modfx_instance.Reset();
59 | }
60 |
61 | __unit_callback void unit_resume() {
62 | s_modfx_instance.Resume();
63 | }
64 |
65 | __unit_callback void unit_suspend() {
66 | s_modfx_instance.Suspend();
67 | }
68 |
69 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
70 | s_modfx_instance.Process(in, out, frames);
71 | }
72 |
73 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
74 | s_modfx_instance.setParameter(id, value);
75 | }
76 |
77 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
78 | return s_modfx_instance.getParameterValue(id);
79 | }
80 |
81 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
82 | return s_modfx_instance.getParameterStrValue(id, value);
83 | }
84 |
85 | __unit_callback void unit_set_tempo(uint32_t tempo) {
86 | s_modfx_instance.setTempo(tempo);
87 | }
88 |
89 | __unit_callback void unit_tempo_4ppqn_tick(uint32_t counter) {
90 | s_modfx_instance.tempo4ppqnTick(counter);
91 | }
92 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/dummy-osc/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_osc
6 | PROJECT_TYPE := osc
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | UCSRC = header.c
14 |
15 | # C++ sources
16 | UCXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | UASMSRC =
20 |
21 | UASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 |
41 | ##############################################################################
42 | # Macros
43 | #
44 |
45 | UDEFS =
46 |
47 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/dummy-revfx/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_revfx
6 | PROJECT_TYPE := revfx
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | UCSRC = header.c
14 |
15 | # C++ sources
16 | UCXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | UASMSRC =
20 |
21 | UASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 |
41 | ##############################################################################
42 | # Macros
43 | #
44 |
45 | UDEFS =
46 |
47 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/dummy-revfx/unit.cc:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: unit.cc
36 | *
37 | * NTS-1 mkII reverb effect unit interface
38 | *
39 | */
40 |
41 | #include "unit_revfx.h" // Note: Include base definitions for revfx units
42 |
43 | #include "reverb.h" // Note: Include custom reverb code
44 |
45 | static Reverb s_reverb_instance; // Note: In this example, actual instance of custom reverb object.
46 |
47 | // ---- Callbacks exposed to runtime ----------------------------------------------
48 |
49 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
50 | return s_reverb_instance.Init(desc);
51 | }
52 |
53 | __unit_callback void unit_teardown() {
54 | s_reverb_instance.Teardown();
55 | }
56 |
57 | __unit_callback void unit_reset() {
58 | s_reverb_instance.Reset();
59 | }
60 |
61 | __unit_callback void unit_resume() {
62 | s_reverb_instance.Resume();
63 | }
64 |
65 | __unit_callback void unit_suspend() {
66 | s_reverb_instance.Suspend();
67 | }
68 |
69 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
70 | s_reverb_instance.Process(in, out, frames);
71 | }
72 |
73 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
74 | s_reverb_instance.setParameter(id, value);
75 | }
76 |
77 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
78 | return s_reverb_instance.getParameterValue(id);
79 | }
80 |
81 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
82 | return s_reverb_instance.getParameterStrValue(id, value);
83 | }
84 |
85 | __unit_callback void unit_set_tempo(uint32_t tempo) {
86 | s_reverb_instance.setTempo(tempo);
87 | }
88 |
89 | __unit_callback void unit_tempo_4ppqn_tick(uint32_t counter) {
90 | s_reverb_instance.tempo4ppqnTick(counter);
91 | }
92 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/ld/unit.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | __heap_size = 0x0; /* Must configure if using newlib features that need the heap */
35 | __stack_size = 0x0; /* Must configure if using newlib features that need a dedicated stack */
36 |
37 | /* Include Rules */
38 | INCLUDE rules.ld
39 |
40 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/waves/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := waves
6 | PROJECT_TYPE := osc
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | UCSRC = header.c
14 |
15 | # C++ sources
16 | UCXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | UASMSRC =
20 |
21 | UASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 |
41 | ##############################################################################
42 | # Macros
43 | #
44 |
45 | UDEFS =
46 |
47 |
--------------------------------------------------------------------------------
/platform/nts-1_mkii/waves/waves_common.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: waves_common.h
36 | *
37 | * Common definitions specific to waves oscillator
38 | *
39 | */
40 |
41 | #ifndef WAVES_COMMON_H_
42 | #define WAVES_COMMON_H_
43 |
44 | #include "unit_osc.h"
45 |
46 | #define WAVE_A_CNT (k_waves_a_cnt + k_waves_b_cnt + k_waves_c_cnt)
47 | #define WAVE_B_CNT (k_waves_d_cnt + k_waves_e_cnt + k_waves_f_cnt)
48 | #define SUB_WAVE_CNT (k_waves_a_cnt)
49 |
50 | #endif // WAVES_COMMON_H_
51 |
--------------------------------------------------------------------------------
/platform/nts-3_kaoss/common/attributes.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file attributes.h
36 | *
37 | * @brief Some useful compiler attribute shorthands
38 | *
39 | */
40 |
41 | #ifndef ATTRIBUTES_H_
42 | #define ATTRIBUTES_H_
43 |
44 | #define noopt __attribute__((optimize("O0")))
45 | #define fast __attribute__((optimize("Ofast")))
46 |
47 | #define force_inline inline __attribute__((always_inline))
48 | #define fast_inline inline __attribute__((always_inline, optimize("Ofast")))
49 |
50 | #define __unit_callback __attribute__((used))
51 | #define __unit_header __attribute__((used, section(".unit_header")))
52 |
53 | #endif // ATTRIBUTES_H_
54 |
--------------------------------------------------------------------------------
/platform/nts-3_kaoss/common/macros.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file macros.h
36 | *
37 | * @brief Some useful macros
38 | *
39 | */
40 |
41 | #ifndef MACROS_H_
42 | #define MACROS_H_
43 |
44 | #include "utils/float_math.h"
45 |
46 | #define param_10bit_to_f32(val) ((uint16_t)(val) * 9.77517106549365e-004f) // 0-1023 -> 0.f-1.f
47 | #define param_f32_to_10bit(f32) ((uint16_t)si_roundf((f32) * 1023U)) // 0.f-1.f -> 0-1023
48 |
49 | // Note: Keep these macros for backward compatibility
50 | #define param_val_to_f32(val) param_10bit_to_f32(val)
51 | #define param_f32_to_val(f32) param_f32_to_10bit(f32)
52 |
53 | #endif // MACROS_H_
54 |
--------------------------------------------------------------------------------
/platform/nts-3_kaoss/common/unit.h:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018-2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /**
35 | * @file unit.h
36 | *
37 | * @brief Unit common header
38 | *
39 | */
40 |
41 | #ifndef UNIT_H_
42 | #define UNIT_H_
43 |
44 | #include
45 |
46 | #include "attributes.h"
47 | #include "macros.h"
48 | #include "runtime.h"
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | int8_t unit_init(const unit_runtime_desc_t *);
55 | void unit_teardown();
56 | void unit_reset();
57 | void unit_resume();
58 | void unit_suspend();
59 | void unit_render(const float *, float *, uint32_t);
60 | int32_t unit_get_param_value(uint8_t);
61 | const char * unit_get_param_str_value(uint8_t, int32_t);
62 | void unit_set_param_value(uint8_t, int32_t);
63 | void unit_set_tempo(uint32_t);
64 | void unit_tempo_4ppqn_tick(uint32_t);
65 | void unit_touch_event(uint8_t,uint8_t,uint32_t,uint32_t);
66 |
67 | #ifdef __cplusplus
68 | } // extern "C"
69 | #endif
70 |
71 | #endif // UNIT_H_
72 |
--------------------------------------------------------------------------------
/platform/nts-3_kaoss/dummy-genericfx/config.mk:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # Configuration for Makefile
3 | #
4 |
5 | PROJECT := dummy_genericfx
6 | PROJECT_TYPE := genericfx
7 |
8 | ##############################################################################
9 | # Sources
10 | #
11 |
12 | # C sources
13 | UCSRC = header.c
14 |
15 | # C++ sources
16 | UCXXSRC = unit.cc
17 |
18 | # List ASM source files here
19 | UASMSRC =
20 |
21 | UASMXSRC =
22 |
23 | ##############################################################################
24 | # Include Paths
25 | #
26 |
27 | UINCDIR =
28 |
29 | ##############################################################################
30 | # Library Paths
31 | #
32 |
33 | ULIBDIR =
34 |
35 | ##############################################################################
36 | # Libraries
37 | #
38 |
39 | ULIBS = -lm
40 |
41 | ##############################################################################
42 | # Macros
43 | #
44 |
45 | UDEFS =
46 |
47 |
--------------------------------------------------------------------------------
/platform/nts-3_kaoss/dummy-genericfx/unit.cc:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: unit.cc
36 | *
37 | * NTS-3 kaoss pad kit generic effect unit interface
38 | *
39 | */
40 |
41 | #include "unit_genericfx.h" // Note: Include base definitions for genericfx units
42 |
43 | #include "effect.h" // Note: Include template effect code
44 |
45 | static Effect s_effect_instance; // Note: In this example, actual effect instance.
46 |
47 | // ---- Callbacks exposed to runtime ----------------------------------------------
48 |
49 | __unit_callback int8_t unit_init(const unit_runtime_desc_t * desc) {
50 | return s_effect_instance.Init(desc);
51 | }
52 |
53 | __unit_callback void unit_teardown() {
54 | s_effect_instance.Teardown();
55 | }
56 |
57 | __unit_callback void unit_reset() {
58 | s_effect_instance.Reset();
59 | }
60 |
61 | __unit_callback void unit_resume() {
62 | s_effect_instance.Resume();
63 | }
64 |
65 | __unit_callback void unit_suspend() {
66 | s_effect_instance.Suspend();
67 | }
68 |
69 | __unit_callback void unit_render(const float * in, float * out, uint32_t frames) {
70 | s_effect_instance.Process(in, out, frames);
71 | }
72 |
73 | __unit_callback void unit_set_param_value(uint8_t id, int32_t value) {
74 | s_effect_instance.setParameter(id, value);
75 | }
76 |
77 | __unit_callback int32_t unit_get_param_value(uint8_t id) {
78 | return s_effect_instance.getParameterValue(id);
79 | }
80 |
81 | __unit_callback const char * unit_get_param_str_value(uint8_t id, int32_t value) {
82 | return s_effect_instance.getParameterStrValue(id, value);
83 | }
84 |
85 | __unit_callback void unit_set_tempo(uint32_t tempo) {
86 | s_effect_instance.setTempo(tempo);
87 | }
88 |
89 | __unit_callback void unit_tempo_4ppqn_tick(uint32_t counter) {
90 | s_effect_instance.tempo4ppqnTick(counter);
91 | }
92 |
93 | __unit_callback void unit_touch_event(uint8_t id, uint8_t phase, uint32_t x, uint32_t y) {
94 | s_effect_instance.touchEvent(id, phase, x, y);
95 | }
96 |
97 |
--------------------------------------------------------------------------------
/platform/nts-3_kaoss/ld/unit.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2023, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | __heap_size = 0x0; /* Must configure if using newlib features that need the heap */
35 | __stack_size = 0x0; /* Must configure if using newlib features that need a dedicated stack */
36 |
37 | /* Include Rules */
38 | INCLUDE rules.ld
39 |
40 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/docs/doxy.h:
--------------------------------------------------------------------------------
1 | /** \mainpage Nu:Tekt NTS-1 digital SDK documentation
2 | *
3 | *
4 | * \section overview_sec Overview
5 | *
6 | * See the Modules and Classes tabs for a breakdown of the SDKs components.
7 | *
8 | */
9 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-delfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-delfx/ld/userdelfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userdelfx.ld
36 | *
37 | * Linker Script for user delay effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20019000, len = 12K
47 | SDRAM (rw) : org = 0xC0420000, len = 2432K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-delfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "nutekt-digital",
5 | "module" : "delfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-delfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_delfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-modfx/README.md:
--------------------------------------------------------------------------------
1 | ## Modulation Effect Template Project
2 |
3 | This project can be used as a basis for custom modulation effects. **Refer to [parent platform](../) for build instructions.**
4 |
5 | ### FAQ
6 |
7 | #### Why does MODFX_PROCESS() have *main* and *sub* inputs and outputs?
8 |
9 | The modulation effect API was originally designed for the prologue synthesizer which allows each *main* and *sub* timbre audio to be processed independently by the modulation effect section.
10 | This interface was maintained in order to preserve API compatibility between the minilogue xd and prologue.
11 | For an effect to properly work on the prologue, both inputs should be processed in the same way and the result written to the corresponding output.
12 |
13 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-modfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-modfx/ld/usermodfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: usermodfx.ld
36 | *
37 | * Linker Script for user modulation effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20017800, len = 6K
47 | SDRAM (rw) : org = 0xC0400000, len = 128K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-modfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "nutekt-digital",
5 | "module" : "modfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-modfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_modfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-osc/ld/osc_api.syms:
--------------------------------------------------------------------------------
1 | k_osc_api_version = 0x0800f000;
2 | k_osc_api_platform = 0x0800f004;
3 | midi_to_hz_lut_f = 0x0800f100;
4 | sqrtm2log_lut_f = 0x0800f360;
5 | tanpi_lut_f = 0x0800f764;
6 | log_lut_f = 0x0800fb68;
7 | bitres_lut_f = 0x0800ff6c;
8 | wt_par_lut_f = 0x08010170;
9 | wt_par_notes = 0x08010f8c;
10 | wt_sqr_lut_f = 0x08010f94;
11 | wt_sqr_notes = 0x08011db0;
12 | wt_saw_lut_f = 0x08011db8;
13 | wt_saw_notes = 0x08012bd4;
14 | wt_sine_lut_f = 0x08012bdc;
15 | schetzen_lut_f = 0x08012de0;
16 | cubicsat_lut_f = 0x08012fe4;
17 | wavesA = 0x080131e8;
18 | wavesB = 0x0801546c;
19 | wavesC = 0x080174ec;
20 | wavesD = 0x0801915c;
21 | wavesE = 0x0801abc4;
22 | wavesF = 0x0801ca3c;
23 | _osc_mcu_hash = 0x0801eabc;
24 | _osc_bl_saw_idx = 0x0801eac8;
25 | _osc_bl_sqr_idx = 0x0801ebb0;
26 | _osc_bl_par_idx = 0x0801ec98;
27 | _osc_rand = 0x0801ed80;
28 | _osc_white = 0x0801edb8;
29 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-osc/ld/userosc.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userosc.ld
36 | *
37 | * Linker Script for user oscillators
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20000000, len = 32K
47 | }
48 |
49 | /* Include Rules */
50 | INCLUDE rules.ld
51 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-osc/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "nutekt-digital",
5 | "module" : "osc",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 6,
12 | "params" : [
13 | ["dummy0", 0, 100, "%"],
14 | ["dummy1", 0, 100, "%"],
15 | ["dummy2", 0, 100, "%"],
16 | ["dummy3", 0, 100, "%"],
17 | ["dummy4", -100, 100, "%"],
18 | ["dummy5", 0, 10, ""]
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-osc/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_osc
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-revfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-revfx/ld/userrevfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userrevfx.ld
36 | *
37 | * Linker Script for user reverb effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20019000, len = 12K
47 | SDRAM (rw) : org = 0xC0420000, len = 2432K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-revfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "nutekt-digital",
5 | "module" : "revfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/dummy-revfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_revfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/waves/ld/osc_api.syms:
--------------------------------------------------------------------------------
1 | k_osc_api_version = 0x0800f000;
2 | k_osc_api_platform = 0x0800f004;
3 | midi_to_hz_lut_f = 0x0800f100;
4 | sqrtm2log_lut_f = 0x0800f360;
5 | tanpi_lut_f = 0x0800f764;
6 | log_lut_f = 0x0800fb68;
7 | bitres_lut_f = 0x0800ff6c;
8 | wt_par_lut_f = 0x08010170;
9 | wt_par_notes = 0x08010f8c;
10 | wt_sqr_lut_f = 0x08010f94;
11 | wt_sqr_notes = 0x08011db0;
12 | wt_saw_lut_f = 0x08011db8;
13 | wt_saw_notes = 0x08012bd4;
14 | wt_sine_lut_f = 0x08012bdc;
15 | schetzen_lut_f = 0x08012de0;
16 | cubicsat_lut_f = 0x08012fe4;
17 | wavesA = 0x080131e8;
18 | wavesB = 0x0801546c;
19 | wavesC = 0x080174ec;
20 | wavesD = 0x0801915c;
21 | wavesE = 0x0801abc4;
22 | wavesF = 0x0801ca3c;
23 | _osc_mcu_hash = 0x0801eabc;
24 | _osc_bl_saw_idx = 0x0801eac8;
25 | _osc_bl_sqr_idx = 0x0801ebb0;
26 | _osc_bl_par_idx = 0x0801ec98;
27 | _osc_rand = 0x0801ed80;
28 | _osc_white = 0x0801edb8;
29 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/waves/ld/userosc.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userosc.ld
36 | *
37 | * Linker Script for user oscillators
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20000000, len = 32K
47 | }
48 |
49 | /* Include Rules */
50 | INCLUDE rules.ld
51 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/waves/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "nutekt-digital",
5 | "module" : "osc",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-1",
10 | "name" : "waves",
11 | "num_param" : 6,
12 | "params" : [
13 | ["Wave A", 0, 45, ""],
14 | ["Wave B", 0, 43, ""],
15 | ["Sub Wave", 0, 15, ""],
16 | ["Sub Mix", 0, 100, "%"],
17 | ["Ring Mix", 0, 100, "%"],
18 | ["Bit Crush", 0, 100, "%"]
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/platform/nutekt-digital/waves/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = waves
6 |
7 | UCSRC =
8 |
9 | UCXXSRC = waves.cpp
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/prologue/docs/doxy.h:
--------------------------------------------------------------------------------
1 | /** \mainpage prologue SDK documentation
2 | *
3 | *
4 | * \section overview_sec Overview
5 | *
6 | * See the Modules and Classes tabs for a breakdown of the SDKs components.
7 | *
8 | */
9 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-delfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-delfx/ld/userdelfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userdelfx.ld
36 | *
37 | * Linker Script for user delay effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20019000, len = 12K
47 | SDRAM (rw) : org = 0xC0420000, len = 2432K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-delfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "prologue",
5 | "module" : "delfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-delfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_delfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-modfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-modfx/ld/usermodfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: usermodfx.ld
36 | *
37 | * Linker Script for user modulation effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20017800, len = 6K
47 | SDRAM (rw) : org = 0xC0400000, len = 128K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-modfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "prologue",
5 | "module" : "modfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-modfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_modfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-osc/ld/osc_api.syms:
--------------------------------------------------------------------------------
1 | k_osc_api_version = 0x0800f000;
2 | k_osc_api_platform = 0x0800f004;
3 | midi_to_hz_lut_f = 0x0800f100;
4 | sqrtm2log_lut_f = 0x0800f360;
5 | tanpi_lut_f = 0x0800f764;
6 | log_lut_f = 0x0800fb68;
7 | bitres_lut_f = 0x0800ff6c;
8 | wt_par_lut_f = 0x08010170;
9 | wt_par_notes = 0x08010f8c;
10 | wt_sqr_lut_f = 0x08010f94;
11 | wt_sqr_notes = 0x08011db0;
12 | wt_saw_lut_f = 0x08011db8;
13 | wt_saw_notes = 0x08012bd4;
14 | wt_sine_lut_f = 0x08012bdc;
15 | schetzen_lut_f = 0x08012de0;
16 | cubicsat_lut_f = 0x08012fe4;
17 | wavesA = 0x080131e8;
18 | wavesB = 0x0801546c;
19 | wavesC = 0x080174ec;
20 | wavesD = 0x0801915c;
21 | wavesE = 0x0801abc4;
22 | wavesF = 0x0801ca3c;
23 | _osc_mcu_hash = 0x0801eabc;
24 | _osc_bl_saw_idx = 0x0801eac8;
25 | _osc_bl_sqr_idx = 0x0801ebb0;
26 | _osc_bl_par_idx = 0x0801ec98;
27 | _osc_rand = 0x0801ed80;
28 | _osc_white = 0x0801edb8;
29 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-osc/ld/userosc.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userosc.ld
36 | *
37 | * Linker Script for user oscillators
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20000000, len = 32K
47 | }
48 |
49 | /* Include Rules */
50 | INCLUDE rules.ld
51 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-osc/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "prologue",
5 | "module" : "osc",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 6,
12 | "params" : [
13 | ["dummy0", 0, 100, "%"],
14 | ["dummy1", 0, 100, "%"],
15 | ["dummy2", 0, 100, "%"],
16 | ["dummy3", 0, 100, "%"],
17 | ["dummy4", -100, 100, "%"],
18 | ["dummy5", 0, 10, ""]
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-osc/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_osc
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-revfx/ld/main_api.syms:
--------------------------------------------------------------------------------
1 |
2 | k_fx_api_version = 0x0807b000;
3 | k_fx_api_platform = 0x0807b004;
4 | sqrtm2log_lut_f = 0x0807b100;
5 | tanpi_lut_f = 0x0807b504;
6 | log_lut_f = 0x0807b908;
7 | bitres_lut_f = 0x0807bd0c;
8 | wt_sine_lut_f = 0x0807bf10;
9 | schetzen_lut_f = 0x0807c114;
10 | cubicsat_lut_f = 0x0807c318;
11 | pow2_lut_f = 0x0807c51c;
12 | _fx_mcu_hash = 0x0807c920;
13 | _fx_rand = 0x0807c92c;
14 | _fx_white = 0x0807c964;
15 | _fx_get_bpm = 0x0807ca88;
16 | _fx_get_bpmf = 0x0807ca8c;
17 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-revfx/ld/userrevfx.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userrevfx.ld
36 | *
37 | * Linker Script for user reverb effects
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20019000, len = 12K
47 | SDRAM (rw) : org = 0xC0420000, len = 2432K
48 | }
49 |
50 | /* Include Rules */
51 | INCLUDE rules.ld
52 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-revfx/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "prologue",
5 | "module" : "revfx",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-0",
10 | "name" : "dummy",
11 | "num_param" : 0
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/platform/prologue/dummy-revfx/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = dummy_revfx
6 |
7 | UCSRC =
8 |
9 | UCXXSRC =
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/platform/prologue/waves/ld/osc_api.syms:
--------------------------------------------------------------------------------
1 | k_osc_api_version = 0x0800f000;
2 | k_osc_api_platform = 0x0800f004;
3 | midi_to_hz_lut_f = 0x0800f100;
4 | sqrtm2log_lut_f = 0x0800f360;
5 | tanpi_lut_f = 0x0800f764;
6 | log_lut_f = 0x0800fb68;
7 | bitres_lut_f = 0x0800ff6c;
8 | wt_par_lut_f = 0x08010170;
9 | wt_par_notes = 0x08010f8c;
10 | wt_sqr_lut_f = 0x08010f94;
11 | wt_sqr_notes = 0x08011db0;
12 | wt_saw_lut_f = 0x08011db8;
13 | wt_saw_notes = 0x08012bd4;
14 | wt_sine_lut_f = 0x08012bdc;
15 | schetzen_lut_f = 0x08012de0;
16 | cubicsat_lut_f = 0x08012fe4;
17 | wavesA = 0x080131e8;
18 | wavesB = 0x0801546c;
19 | wavesC = 0x080174ec;
20 | wavesD = 0x0801915c;
21 | wavesE = 0x0801abc4;
22 | wavesF = 0x0801ca3c;
23 | _osc_mcu_hash = 0x0801eabc;
24 | _osc_bl_saw_idx = 0x0801eac8;
25 | _osc_bl_sqr_idx = 0x0801ebb0;
26 | _osc_bl_par_idx = 0x0801ec98;
27 | _osc_rand = 0x0801ed80;
28 | _osc_white = 0x0801edb8;
29 |
--------------------------------------------------------------------------------
/platform/prologue/waves/ld/userosc.ld:
--------------------------------------------------------------------------------
1 | /*
2 | BSD 3-Clause License
3 |
4 | Copyright (c) 2018, KORG INC.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | * Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | * Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | * Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | //*/
33 |
34 | /*
35 | * File: userosc.ld
36 | *
37 | * Linker Script for user oscillators
38 | */
39 |
40 | /* Entry Point */
41 | ENTRY(_entry)
42 |
43 | /* Specify the memory areas */
44 | MEMORY
45 | {
46 | SRAM (rx) : org = 0x20000000, len = 32K
47 | }
48 |
49 | /* Include Rules */
50 | INCLUDE rules.ld
51 |
--------------------------------------------------------------------------------
/platform/prologue/waves/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "header" :
3 | {
4 | "platform" : "prologue",
5 | "module" : "osc",
6 | "api" : "1.1-0",
7 | "dev_id" : 0,
8 | "prg_id" : 0,
9 | "version" : "1.0-1",
10 | "name" : "waves",
11 | "num_param" : 6,
12 | "params" : [
13 | ["Wave A", 0, 45, ""],
14 | ["Wave B", 0, 43, ""],
15 | ["Sub Wave", 0, 15, ""],
16 | ["Sub Mix", 0, 100, "%"],
17 | ["Ring Mix", 0, 100, "%"],
18 | ["Bit Crush", 0, 100, "%"]
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/platform/prologue/waves/project.mk:
--------------------------------------------------------------------------------
1 | # #############################################################################
2 | # Project Customization
3 | # #############################################################################
4 |
5 | PROJECT = waves
6 |
7 | UCSRC =
8 |
9 | UCXXSRC = waves.cpp
10 |
11 | UINCDIR =
12 |
13 | UDEFS =
14 |
15 | ULIB =
16 |
17 | ULIBDIR =
18 |
--------------------------------------------------------------------------------
/tools/README.md:
--------------------------------------------------------------------------------
1 | ## Tools (Legacy)
2 |
3 | [日本語](./README_ja.md)
4 |
5 | Required tools to build [prologue](https://www.korg.com/products/synthesizers/prologue), [minilogue xd](https://www.korg.com/products/synthesizers/minilogue_xd), and [Nu:Tekt NTS-1 digital kit](https://www.korg.com/products/dj/nts_1) logue SDK units.
6 |
7 | These have been kept here for compatibility purposes, but the newer [Docker-based build environment](../docker) should be preferred whenever possible.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/tools/README_ja.md:
--------------------------------------------------------------------------------
1 | ## Tools (Legacy)
2 |
3 | [English](./README.md)
4 |
5 | [prologue](https://www.korg.com/products/synthesizers/prologue), [minilogue xd](https://www.korg.com/products/synthesizers/minilogue_xd), [Nu:Tekt NTS-1 digital kit](https://www.korg.com/products/dj/nts_1) のlogue SDKユニットを構築するために必要なツールです.
6 |
7 | これらは互換性のために残されていますが, 新しい [Dockerベースのビルド環境](../docker) を可能な限り優先してください.
8 |
--------------------------------------------------------------------------------
/tools/gcc/README.md:
--------------------------------------------------------------------------------
1 | ## Installing the GNU Arm Embedded Toolchain
2 |
3 | Prebuilt binaries are available [here](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads).
4 |
5 | Recommended versions per target platform:
6 | * prologue: 5-2016-q3-update
7 | * minilogue-xd: 5-2016-q3-update
8 | * nutekt-digital (NTS-1): 5-2016-q3-update
9 | * drumlogue: (None, must use docker build environment)
10 | * NTS-1 digital kit mkII: 10.3-2021.10
11 | * NTS-3 kaoss pad kit: 10.3-2021.10
12 |
13 | ### macOS
14 |
15 | Run `./get_gcc_macos.sh` to download each recommended gcc versions and unpack them automatically.
16 |
17 | ### Linux
18 |
19 | #### Native System or VM
20 |
21 | Run `./get_gcc_linux.sh` to download each recommended gcc versions and unpack them automatically.
22 |
23 | #### Windows Subsystem for Linux
24 |
25 | Unfortunately, only 32 bit prebuilt packages of GCC 5-2016-q3-update are available for Linux and WSL does not support running 32 bit ELF executables.
26 | A possibility is to obtain the source package from the link above and manually build gcc, or install an appropriate package from your distribution and create a symlink named `gcc-arm-none-eabi-5_4-2016q3` pointing to the package's install location.
27 |
28 | ### Windows
29 |
30 | #### MSYS2
31 |
32 | If you have MSYS2 installed you can run `./get_gcc_msys.sh` to download each recommended gcc versions and unpack them automatically.
33 |
34 | _Note 1: MSYS2 installers for Windows can be found at [https://www.msys2.org/](https://www.msys2.org/)_
35 |
36 | _Note 2: The install script requires the unzip package. It can be installed by running: `pacman -S unzip`_
37 |
38 | #### Manual Procedure
39 |
40 | Download version 5-2016-q3-update in *ZIP format* from the link above and unpack it in this directory under the name "gcc-arm-none-eabi-5_4-2016q3".
41 |
42 | The directory should have the following structure:
43 |
44 | ```
45 | gcc-arm-none-eabi-5_4-2016q3/
46 | |
47 | +-- arm-none-eabi/
48 | |
49 | +-- bin/
50 | |
51 | +-- lib/
52 | |
53 | +-- share/
54 | ```
55 |
56 | Download version 10.3-2021.10 in *ZIP format* from the link above and unpack it in this directory under the name "gcc-arm-none-eabi-10.3-2021.10".
57 |
58 | The directory should have the following structure:
59 |
60 | ```
61 | gcc-arm-none-eabi-10.3-2021.10/
62 | |
63 | +-- arm-none-eabi/
64 | |
65 | +-- bin/
66 | |
67 | +-- lib/
68 | |
69 | +-- share/
70 | ```
71 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_10_3-2021_10_linux.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018-2022, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="gcc-arm-none-eabi"
38 | VERSION="10.3-2021.10"
39 |
40 | ARCHIVE_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2"
41 | ARCHIVE_SHA1="3d7cc8285cafcd63f65f8b2576f4ca4affddf15b"
42 | ARCHIVE_NAME="gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2"
43 |
44 | if [[ "${OSTYPE}" == "linux-gnu" ]]; then
45 | echo ">> Assuming Linux on intel 64 bit platform."
46 | else
47 | echo ">> This script is meant for Linux (intel 64 bit)."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_success(fail_msg)
53 | assert_success() {
54 | [[ $? -eq 0 ]] && return 0
55 | [[ ! -z "$1" ]] && echo "Error: $1"
56 | popd 2>&1 > /dev/null
57 | return 1
58 | }
59 |
60 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
61 |
62 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
63 |
64 | TAR=$(which tar) || assert_success "dependency not found..." || exit $?
65 |
66 | SHA1SUM=$(which sha1sum) || assert_success "dependency not found..." || exit $?
67 |
68 | # test_sha1sum(sha1, path_to_file)
69 | test_sha1sum() {
70 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
71 | [[ "${SHA1}" != "$1" ]] && return 1
72 | return 0
73 | }
74 |
75 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
76 | echo ">> Downloading..."
77 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
78 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
79 | fi
80 |
81 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
82 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
83 |
84 | echo ">> Unpacking..."
85 | ${TAR} -jxf "${ARCHIVE_NAME}"
86 | assert_success "Could not unpack archive..." || exit $?
87 |
88 | echo ">> Cleaning up..."
89 | rm -f "${ARCHIVE_NAME}"
90 | assert_success "Could not delete temporary archive..." || exit $?
91 |
92 | popd 2>&1 > /dev/null
93 |
94 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_10_3-2021_10_macos.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018-2022, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="gcc-arm-none-eabi"
38 | VERSION="10.3-2021.10"
39 |
40 | ARCHIVE_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-mac.tar.bz2"
41 | ARCHIVE_SHA1="9a4598c98c986edc2b62c75b152b98421943833c"
42 | ARCHIVE_NAME="gcc-arm-none-eabi-10.3-2021.10-mac.tar.bz2"
43 |
44 | if [[ "${OSTYPE}" == "darwin"* ]]; then
45 | echo ">> Assuming OSX 64 bit platform."
46 | else
47 | echo ">> This script is meant for OSX."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_success(fail_msg)
53 | assert_success() {
54 | [[ $? -eq 0 ]] && return 0
55 | [[ ! -z "$1" ]] && echo "Error: $1"
56 | popd 2>&1 > /dev/null
57 | return 1
58 | }
59 |
60 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
61 |
62 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
63 |
64 | TAR=$(which tar) || assert_success "dependency not found..." || exit $?
65 |
66 | SHA1SUM=$(which shasum) || assert_success "dependency not found..." || exit $?
67 |
68 | # test_sha1sum(sha1, path_to_file)
69 | test_sha1sum() {
70 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
71 | [[ "${SHA1}" != "$1" ]] && return 1
72 | return 0
73 | }
74 |
75 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
76 | echo ">> Downloading..."
77 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
78 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
79 | fi
80 |
81 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
82 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
83 |
84 | echo ">> Unpacking..."
85 | ${TAR} -jxf "${ARCHIVE_NAME}"
86 | assert_success "Could not unpack archive..." || exit $?
87 |
88 | echo ">> Cleaning up..."
89 | rm -f "${ARCHIVE_NAME}"
90 | assert_success "Could not delete temporary archive..." || exit $?
91 |
92 | popd 2>&1 > /dev/null
93 |
94 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_10_3-2021_10_msys.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="gcc-arm-none-eabi"
38 | VERSION="10.3-2021.10"
39 |
40 | ARCHIVE_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-win32.zip"
41 | ARCHIVE_SHA1="72b73ef724b72260f842bb4d5fe6aa264e3e5b74"
42 | ARCHIVE_NAME="gcc-arm-none-eabi-10.3-2021.10-win32.zip"
43 |
44 | if [[ "${OSTYPE}" == "msys" ]]; then
45 | echo ">> Assuming msys platform."
46 | else
47 | echo ">> This script is meant for msys."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_success(fail_msg)
53 | assert_success() {
54 | [[ $? -eq 0 ]] && return 0
55 | [[ ! -z "$1" ]] && echo "Error: $1"
56 | popd 2>&1 > /dev/null
57 | return 1
58 | }
59 |
60 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
61 |
62 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
63 |
64 | UNZIP=$(which unzip) || assert_success "dependency not found..." || exit $?
65 |
66 | SHA1SUM=$(which sha1sum) || assert_success "dependency not found..." || exit $?
67 |
68 | # test_sha1sum(sha1, path_to_file)
69 | test_sha1sum() {
70 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
71 | [[ "${SHA1}" != "$1" ]] && return 1
72 | return 0
73 | }
74 |
75 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
76 | echo ">> Downloading..."
77 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
78 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
79 | fi
80 |
81 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
82 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
83 |
84 | echo ">> Unpacking..."
85 | ${UNZIP} -u -q "${ARCHIVE_NAME}"
86 | assert_success "Could not unpack archive..." || exit $?
87 |
88 | echo ">> Cleaning up..."
89 | rm -f "${ARCHIVE_NAME}"
90 | assert_success "Could not delete temporary archive..." || exit $?
91 |
92 | popd 2>&1 > /dev/null
93 |
94 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_5_4-2016q3_linux.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="gcc-arm-none-eabi"
38 | VERSION="5-2016-q3"
39 |
40 | ARCHIVE_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/5_4-2016q3/gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2"
41 | ARCHIVE_SHA1="e87bbefaccbb43d30c084faeb945f4e96e7ec780"
42 | ARCHIVE_NAME="gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2"
43 |
44 | if [[ "${OSTYPE}" == "linux-gnu" ]]; then
45 | echo ">> Assuming Linux on intel 32 bit platform."
46 | else
47 | echo ">> This script is meant for Linux (intel 32 bit)."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_success(fail_msg)
53 | assert_success() {
54 | [[ $? -eq 0 ]] && return 0
55 | [[ ! -z "$1" ]] && echo "Error: $1"
56 | popd 2>&1 > /dev/null
57 | return 1
58 | }
59 |
60 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
61 |
62 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
63 |
64 | TAR=$(which tar) || assert_success "dependency not found..." || exit $?
65 |
66 | SHA1SUM=$(which sha1sum) || assert_success "dependency not found..." || exit $?
67 |
68 | # test_sha1sum(sha1, path_to_file)
69 | test_sha1sum() {
70 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
71 | [[ "${SHA1}" != "$1" ]] && return 1
72 | return 0
73 | }
74 |
75 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
76 | echo ">> Downloading..."
77 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
78 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
79 | fi
80 |
81 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
82 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
83 |
84 | echo ">> Unpacking..."
85 | ${TAR} -jxf "${ARCHIVE_NAME}"
86 | assert_success "Could not unpack archive..." || exit $?
87 |
88 | echo ">> Cleaning up..."
89 | rm -f "${ARCHIVE_NAME}"
90 | assert_success "Could not delete temporary archive..." || exit $?
91 |
92 | popd 2>&1 > /dev/null
93 |
94 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_5_4-2016q3_macos.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="gcc-arm-none-eabi"
38 | VERSION="5-2016-q3"
39 |
40 | ARCHIVE_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/5_4-2016q3/gcc-arm-none-eabi-5_4-2016q3-20160926-mac.tar.bz2"
41 | ARCHIVE_SHA1="defb787491a64d24f25b2e3c190170f735d4f14d"
42 | ARCHIVE_NAME="gcc-arm-none-eabi-5_4-2016q3-20160926-mac.tar.bz2"
43 |
44 | if [[ "${OSTYPE}" == "darwin"* ]]; then
45 | echo ">> Assuming OSX 64 bit platform."
46 | else
47 | echo ">> This script is meant for OSX."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_success(fail_msg)
53 | assert_success() {
54 | [[ $? -eq 0 ]] && return 0
55 | [[ ! -z "$1" ]] && echo "Error: $1"
56 | popd 2>&1 > /dev/null
57 | return 1
58 | }
59 |
60 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
61 |
62 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
63 |
64 | TAR=$(which tar) || assert_success "dependency not found..." || exit $?
65 |
66 | SHA1SUM=$(which shasum) || assert_success "dependency not found..." || exit $?
67 |
68 | # test_sha1sum(sha1, path_to_file)
69 | test_sha1sum() {
70 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
71 | [[ "${SHA1}" != "$1" ]] && return 1
72 | return 0
73 | }
74 |
75 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
76 | echo ">> Downloading..."
77 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
78 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
79 | fi
80 |
81 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
82 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
83 |
84 | echo ">> Unpacking..."
85 | ${TAR} -jxf "${ARCHIVE_NAME}"
86 | assert_success "Could not unpack archive..." || exit $?
87 |
88 | echo ">> Cleaning up..."
89 | rm -f "${ARCHIVE_NAME}"
90 | assert_success "Could not delete temporary archive..." || exit $?
91 |
92 | popd 2>&1 > /dev/null
93 |
94 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_5_4-2016q3_msys.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="gcc-arm-none-eabi"
38 | VERSION="5-2016-q3"
39 |
40 | ARCHIVE_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/5_4-2016q3/gcc-arm-none-eabi-5_4-2016q3-20160926-win32-zip.zip"
41 | ARCHIVE_SHA1="f6c05562b5f031bf79ec13c6f7311245c717be1b"
42 | ARCHIVE_NAME="gcc-arm-none-eabi-5_4-2016q3-20160926-win32.zip"
43 | UNPACKED_NAME="gcc-arm-none-eabi-5_4-2016q3"
44 |
45 | if [[ "${OSTYPE}" == "msys" ]]; then
46 | echo ">> Assuming msys platform."
47 | else
48 | echo ">> This script is meant for msys."
49 | popd 2>&1 > /dev/null
50 | exit 1
51 | fi
52 |
53 | # assert_success(fail_msg)
54 | assert_success() {
55 | [[ $? -eq 0 ]] && return 0
56 | [[ ! -z "$1" ]] && echo "Error: $1"
57 | popd 2>&1 > /dev/null
58 | return 1
59 | }
60 |
61 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
62 |
63 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
64 |
65 | UNZIP=$(which unzip) || assert_success "dependency not found..." || exit $?
66 |
67 | SHA1SUM=$(which sha1sum) || assert_success "dependency not found..." || exit $?
68 |
69 | # test_sha1sum(sha1, path_to_file)
70 | test_sha1sum() {
71 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
72 | [[ "${SHA1}" != "$1" ]] && return 1
73 | return 0
74 | }
75 |
76 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
77 | echo ">> Downloading..."
78 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
79 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
80 | fi
81 |
82 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
83 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
84 |
85 | echo ">> Unpacking..."
86 | ${UNZIP} -u -q "${ARCHIVE_NAME}" -d "${UNPACKED_NAME}"
87 | assert_success "Could not unpack archive..." || exit $?
88 |
89 | echo ">> Cleaning up..."
90 | rm -f "${ARCHIVE_NAME}"
91 | assert_success "Could not delete temporary archive..." || exit $?
92 |
93 | popd 2>&1 > /dev/null
94 |
95 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_linux.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018-2022, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 |
34 | ./get_gcc_5_4-2016q3_linux.sh && ./get_gcc_10_3-2021_10_linux.sh
35 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_macos.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018-2022, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 |
34 | ./get_gcc_5_4-2016q3_macos.sh && ./get_gcc_10_3-2021_10_macos.sh
35 |
--------------------------------------------------------------------------------
/tools/gcc/get_gcc_msys.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018-2022, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 |
34 | ./get_gcc_5_4-2016q3_msys.sh && ./get_gcc_10_3-2021_10_msys.sh
35 |
--------------------------------------------------------------------------------
/tools/logue-cli/README.md:
--------------------------------------------------------------------------------
1 | # *logue-cli* Command Line Utility
2 |
3 | This utility allows to manipulate unit (*.prlgunit*, *.mnlgxdunit*, *.ntkdigunit*) files and communicate with the [prologue](https://www.korg.com/products/synthesizers/prologue), [minilogue xd](https://www.korg.com/products/synthesizers/minilogue_xd) and [Nu:Tekt NTS-1 digital kit](https://www.korg.com/products/dj/nts_1) synthesizers.
4 |
5 | ## Installation
6 |
7 | ### OSX
8 |
9 | Run `./get_logue_cli_osx.sh` to download and unpack *logue-cli* automatically.
10 |
11 | ### Linux
12 |
13 | Run `./get_logue_cli_linux.sh` to download and unpack *logue-cli* automatically.
14 |
15 | ### Windows
16 |
17 | #### MSYS2
18 |
19 | If you have msys installed you can run `./get_logue_cli_msys.sh` to download and unpack *logue-cli* automatically.
20 |
21 | _Note: MSYS2 installers for Windows can be found at [https://www.msys2.org/](https://www.msys2.org/)_
22 |
23 | #### Manual Procedure
24 |
25 | Download the appropriate version below according to your system.
26 |
27 | ##### Version 0.07-2b
28 | * 32bit : [logue-cli-win32-0.07-2b.zip](http://cdn.storage.korg.com/korg_SDK/logue-cli-win32-0.07-2b.zip) (SHA1: a5bb27d2493728900569881c2a9fe366cce1e943)
29 | * 64bit : [logue-cli-win64-0.07-2b.zip](http://cdn.storage.korg.com/korg_SDK/logue-cli-win64-0.07-2b.zip) (SHA1: 3ee94cebce383fb1319425aaa7abf4b30b1c1269)
30 |
31 |
32 | ## Basic Usage
33 |
34 | ```
35 | Usage: logue-cli [options]
36 |
37 | Commands:
38 |
39 | check: Validate unit packaging.
40 | probe: Obtain information about a connected device.
41 | load: Load specified unit onto a connected device.
42 | clear: Clear unit data from a connected device.
43 |
44 | Use -h/--help along with a command to obtain detailed usage information.
45 | ```
46 |
47 | ### Examples
48 |
49 | * List available MIDI ports:
50 | ```
51 | $ ./logue-cli probe -l
52 | ```
53 |
54 | * Specify explit MIDI port numbers (i.e.: input: 1, output: 2, following indexes obtained from -l):
55 | ```
56 | $ ./logue-cli probe -i 1 -o 2
57 | ```
58 |
59 | * List oscillators currently loaded on connected device:
60 | ```
61 | $ ./logue-cli probe -m osc
62 | ```
63 |
64 | * Load a unit file to a connected compatible device, and place it in the first available slot:
65 | ```
66 | $ ./logue-cli load -u my_oscillator.mnlgxdunit
67 | ```
68 |
69 | * Load a unit file to a connected compatible device, and place it in a specific slot, overwriting previous content (i.e.: slot 2):
70 | ```
71 | $ ./logue-cli load -u my_oscillator.mnlgxdunit -s 2
72 | ```
73 |
74 | ### Troubleshooting
75 |
76 | #### Device's MIDI ports are not auto detected
77 |
78 | The MIDI ports to use for the SYSEX communication can be specified via command line options, but care must be taken to choose the right ports.
79 | In the case of prologue and minilogue xd, the ports ending with `KBD/KNOB` and `SOUND` must be selected. The other ports refer to the legacy MIDI connectors on the back of the device.
80 |
81 |
--------------------------------------------------------------------------------
/tools/logue-cli/get_logue_cli_linux.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="logue-cli"
38 | VERSION="0.07-2b"
39 |
40 | ARCHIVE_URL="http://cdn.storage.korg.com/korg_SDK/logue-cli-linux64-0.07-2b.tar.gz"
41 | ARCHIVE_SHA1="50af8cad47635f26c8a5c35dcb20f3bbad4f2f2d"
42 | ARCHIVE_NAME="logue-cli-linux64-0.07-2b.tar.gz"
43 |
44 | if [[ "${OSTYPE}" == "linux-gnu"* ]]; then
45 | echo ">> Assuming Linux 64 bit platform."
46 | else
47 | echo ">> This script is meant for Linux."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_command(name, exec_path)
53 | assert_command() {
54 | [[ ! -x "$2" ]] && echo "Error: Could not find '$1' command at path '$2'"
55 | echo "$2"
56 | }
57 |
58 | # assert_success(fail_msg)
59 | assert_success() {
60 | [[ $? -eq 0 ]] && return 0
61 | [[ ! -z "$1" ]] && echo "Error: $1"
62 | popd 2>&1 > /dev/null
63 | return 1
64 | }
65 |
66 | AWK=$(which awk) || assert_success "dependency not found..." || exit
67 |
68 | CURL=$(which curl) || assert_success "dependency not found..." || exit
69 |
70 | TAR=$(which tar) || assert_success "dependency not found..." || exit $?
71 |
72 | SHA1SUM=$(which sha1sum) || assert_success "dependency not found..." || exit
73 |
74 | # test_sha1sum(sha1, path_to_file)
75 | test_sha1sum() {
76 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
77 | [[ "${SHA1}" != "$1" ]] && return 1
78 | return 0
79 | }
80 |
81 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
82 | echo ">> Downloading..."
83 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
84 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
85 | fi
86 |
87 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
88 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
89 |
90 | echo ">> Unpacking..."
91 | ${TAR} -zxvf "${ARCHIVE_NAME}"
92 | assert_success "Could not unpack archive..." || exit $?
93 |
94 | echo ">> Cleaning up..."
95 | rm -f "${ARCHIVE_NAME}"
96 | assert_success "Could not delete temporary archive..." || exit $?
97 |
98 | popd 2>&1 > /dev/null
99 |
100 |
--------------------------------------------------------------------------------
/tools/logue-cli/get_logue_cli_msys.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="logue-cli"
38 | VERSION="0.07-2b"
39 |
40 | ARCHIVE_URL="http://cdn.storage.korg.com/korg_SDK/logue-cli-win32-0.07-2b.zip"
41 | ARCHIVE_SHA1="a5bb27d2493728900569881c2a9fe366cce1e943"
42 | ARCHIVE_NAME="logue-cli-win32-0.07-2b.zip"
43 |
44 | if [[ "${OSTYPE}" == "msys" ]]; then
45 | echo ">> Assuming msys platform."
46 | else
47 | echo ">> This script is meant for msys."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_success(fail_msg)
53 | assert_success() {
54 | [[ $? -eq 0 ]] && return 0
55 | [[ ! -z "$1" ]] && echo "Error: $1"
56 | popd 2>&1 > /dev/null
57 | return 1
58 | }
59 |
60 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
61 |
62 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
63 |
64 | UNZIP=$(which unzip) || assert_success "dependency not found..." || exit $?
65 |
66 | SHA1SUM=$(which sha1sum) || assert_success "dependency not found..." || exit $?
67 |
68 | # test_sha1sum(sha1, path_to_file)
69 | test_sha1sum() {
70 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
71 | [[ "${SHA1}" != "$1" ]] && return 1
72 | return 0
73 | }
74 |
75 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
76 | echo ">> Downloading..."
77 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
78 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
79 | fi
80 |
81 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
82 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
83 |
84 | echo ">> Unpacking..."
85 | ${UNZIP} -u -q "${ARCHIVE_NAME}"
86 | assert_success "Could not unpack archive..." || exit $?
87 |
88 | echo ">> Cleaning up..."
89 | rm -f "${ARCHIVE_NAME}"
90 | assert_success "Could not delete temporary archive..." || exit $?
91 |
92 | popd 2>&1 > /dev/null
93 |
94 |
--------------------------------------------------------------------------------
/tools/logue-cli/get_logue_cli_msys64.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="logue-cli"
38 | VERSION="0.07-2b"
39 |
40 | ARCHIVE_URL="http://cdn.storage.korg.com/korg_SDK/logue-cli-win64-0.07-2b.zip"
41 | ARCHIVE_SHA1="3ee94cebce383fb1319425aaa7abf4b30b1c1269"
42 | ARCHIVE_NAME="logue-cli-win64-0.07-2b.zip"
43 |
44 | if [[ "${OSTYPE}" == "msys" ]]; then
45 | echo ">> Assuming msys platform."
46 | else
47 | echo ">> This script is meant for msys."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_success(fail_msg)
53 | assert_success() {
54 | [[ $? -eq 0 ]] && return 0
55 | [[ ! -z "$1" ]] && echo "Error: $1"
56 | popd 2>&1 > /dev/null
57 | return 1
58 | }
59 |
60 | AWK=$(which awk) || assert_success "dependency not found..." || exit $?
61 |
62 | CURL=$(which curl) || assert_success "dependency not found..." || exit $?
63 |
64 | UNZIP=$(which unzip) || assert_success "dependency not found..." || exit $?
65 |
66 | SHA1SUM=$(which sha1sum) || assert_success "dependency not found..." || exit $?
67 |
68 | # test_sha1sum(sha1, path_to_file)
69 | test_sha1sum() {
70 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
71 | [[ "${SHA1}" != "$1" ]] && return 1
72 | return 0
73 | }
74 |
75 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
76 | echo ">> Downloading..."
77 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
78 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
79 | fi
80 |
81 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
82 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
83 |
84 | echo ">> Unpacking..."
85 | ${UNZIP} -u -q "${ARCHIVE_NAME}"
86 | assert_success "Could not unpack archive..." || exit $?
87 |
88 | echo ">> Cleaning up..."
89 | rm -f "${ARCHIVE_NAME}"
90 | assert_success "Could not delete temporary archive..." || exit $?
91 |
92 | popd 2>&1 > /dev/null
93 |
94 |
--------------------------------------------------------------------------------
/tools/logue-cli/get_logue_cli_osx.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # BSD 3-Clause License
4 | #
5 | # Copyright (c) 2018, KORG INC.
6 | # All rights reserved.
7 | #
8 | # Redistribution and use in source and binary forms, with or without
9 | # modification, are permitted provided that the following conditions are met:
10 | #
11 | # * Redistributions of source code must retain the above copyright notice, this
12 | # list of conditions and the following disclaimer.
13 | #
14 | # * Redistributions in binary form must reproduce the above copyright notice,
15 | # this list of conditions and the following disclaimer in the documentation
16 | # and/or other materials provided with the distribution.
17 | #
18 | # * Neither the name of the copyright holder nor the names of its
19 | # contributors may be used to endorse or promote products derived from
20 | # this software without specific prior written permission.
21 | #
22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 |
33 | SCRIPT_DIR="$(pwd)/$(dirname $0)"
34 |
35 | pushd ${SCRIPT_DIR} 2>&1 > /dev/null
36 |
37 | PKGNAME="logue-cli"
38 | VERSION="0.07-2b"
39 |
40 | ARCHIVE_URL="http://cdn.storage.korg.com/korg_SDK/logue-cli-osx-0.07-2b.zip"
41 | ARCHIVE_SHA1="a9b1fbf86d630c61b6d4e154e3b4372315c32977"
42 | ARCHIVE_NAME="logue-cli-osx-0.07-2b.zip"
43 |
44 | if [[ "${OSTYPE}" == "darwin"* ]]; then
45 | echo ">> Assuming OSX 64 bit platform."
46 | else
47 | echo ">> This script is meant for OSX."
48 | popd 2>&1 > /dev/null
49 | exit 1
50 | fi
51 |
52 | # assert_command(name, exec_path)
53 | assert_command() {
54 | [[ ! -x "$2" ]] && echo "Error: Could not find '$1' command at path '$2'"
55 | echo "$2"
56 | }
57 |
58 | # assert_success(fail_msg)
59 | assert_success() {
60 | [[ $? -eq 0 ]] && return 0
61 | [[ ! -z "$1" ]] && echo "Error: $1"
62 | popd 2>&1 > /dev/null
63 | return 1
64 | }
65 |
66 | AWK=$(which awk) || assert_success "dependency not found..." || exit
67 |
68 | CURL=$(which curl) || assert_success "dependency not found..." || exit
69 |
70 | UNZIP=$(which unzip) || assert_success "dependency not found..." || exit $?
71 |
72 | SHA1SUM=$(which shasum) || assert_success "dependency not found..." || exit
73 |
74 | # test_sha1sum(sha1, path_to_file)
75 | test_sha1sum() {
76 | SHA1=$(${SHA1SUM} "$2" | ${AWK} '{print $1};')
77 | [[ "${SHA1}" != "$1" ]] && return 1
78 | return 0
79 | }
80 |
81 | if [[ ! -f "${ARCHIVE_NAME}" ]]; then
82 | echo ">> Downloading..."
83 | ${CURL} -# -L -o "${ARCHIVE_NAME}" "${ARCHIVE_URL}"
84 | assert_success "Download of ${ARCHIVE_NAME} failed..." || exit $?
85 | fi
86 |
87 | test_sha1sum "${ARCHIVE_SHA1}" "${ARCHIVE_NAME}"
88 | assert_success "SHA1 mismatch. Try redownloading the archive..." || exit $?
89 |
90 | echo ">> Unpacking..."
91 | ${UNZIP} -u -q "${ARCHIVE_NAME}"
92 | assert_success "Could not unpack archive..." || exit $?
93 |
94 | echo ">> Cleaning up..."
95 | rm -f "${ARCHIVE_NAME}"
96 | assert_success "Could not delete temporary archive..." || exit $?
97 |
98 | popd 2>&1 > /dev/null
99 |
100 |
--------------------------------------------------------------------------------
/tools/make/README.md:
--------------------------------------------------------------------------------
1 | ## GNU Make
2 |
3 | GNU Make version 3.8.1 or higher is required to build SDK projects.
4 |
5 | ### OSX
6 |
7 | The built-in GNU Make of OSX should be sufficient to build SDK projects so no extra steps are necessary.
8 | Alternatively, newer versions of GNU Make can be obtained via package distribution systems such as Homebrew and MacPorts.
9 |
10 | ### Linux
11 |
12 | An appropriate GNU Make version is likely already installed. If not, install the appropriate GNU Make package from your distribution.
13 |
14 | ### Windows
15 |
16 | #### MSYS2
17 |
18 | MSYS2 provides recent GNU Make packages appropriate for building logue SDK projects.
19 |
20 | Install GNU Make by running: `pacman -S make`.
21 |
22 | _Note: MSYS2 installers for Windows can be found at [https://www.msys2.org/](https://www.msys2.org/)_
23 |
24 | #### Manaual Procedure: GnuWin
25 |
26 | A Windows build of GNU Make (albeit a bit old) is also available from [GnuWin's sourceforge page](https://sourceforge.net/projects/gnuwin32/files/make/3.81/).
27 | Once installed you will have to add it manually to your environment's path.
28 |
29 |
30 |
--------------------------------------------------------------------------------
/tools/zip/README.md:
--------------------------------------------------------------------------------
1 | ## Zip Utility
2 |
3 | The `zip` (Info-Zip) command line utility version 3.0 is required to package SDK projects.
4 |
5 | ### OSX
6 |
7 | An appropriate zip utility is available by default so no extra steps are necessary.
8 |
9 | ### Linux
10 |
11 | If not already installed, install the appropriate package from your distribution.
12 |
13 | ### Windows
14 |
15 | #### MSYS2
16 |
17 | MSYS2 provides Info-Zip 3.0 as the `zip-3.0-1` package.
18 |
19 | Install it by running `pacman -S zip`.
20 |
21 | _Note: MSYS2 installers for Windows can be found at [https://www.msys2.org/](https://www.msys2.org/)_
22 |
23 | #### Manual Procedure: GnuWin
24 |
25 | A Windows build of Info-Zip 3.0 is also available from [GnuWin's sourceforge page](https://sourceforge.net/projects/gnuwin32/files/zip/3.0/)
26 |
27 | If using this option, install the required files in this directory following this structure:
28 |
29 | ```
30 | zip/
31 | |
32 | +-- bin/zip.exe
33 | ```
34 | _e.g.: `zip.exe` should be located in a subdirectory named `bin`._
35 |
--------------------------------------------------------------------------------