Browse Source

Update last month of manual changes.

pull/46/head
Andrew Belt 4 years ago
parent
commit
8206f25fa9
6 changed files with 39 additions and 20 deletions
  1. +1
    -1
      Building.md
  2. +2
    -2
      FAQ.md
  3. +1
    -0
      KeyCommands.md
  4. +8
    -7
      Manifest.md
  5. +26
    -9
      Migrate2.md
  6. +1
    -1
      PluginDevelopmentTutorial.md

+ 1
- 1
Building.md View File

@@ -31,7 +31,7 @@ brew install git wget cmake autoconf automake libtool jq python

On Ubuntu 16.04+:
```bash
sudo apt install git gdb curl cmake libx11-dev libglu1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev zlib1g-dev libasound2-dev libgtk2.0-dev libjack-jackd2-dev jq
sudo apt install unzip git gdb curl cmake libx11-dev libglu1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev zlib1g-dev libasound2-dev libgtk2.0-dev libjack-jackd2-dev jq
```

On Arch Linux:


+ 2
- 2
FAQ.md View File

@@ -3,9 +3,9 @@
<a id="acronym"></a>
## What does "VCV" stand for?

There is no official meaning of the name "VCV", but users have suggested "Virtual Control Voltage" or "Voltage Controlled Virtualization".
There is no official meaning of the name "VCV", but some users have suggested "Virtual Control Voltage" or "Voltage Controlled Virtualization".
These are good guesses, but "VCV" was chosen simply because it is easy to remember and type.
"VCV Rack" is the full name of our flagship software product.
[VCV Rack](https://vcvrack.com/Rack) is the full name of our flagship software product.


<a id="userfolder"></a>


+ 1
- 0
KeyCommands.md View File

@@ -15,6 +15,7 @@ Key commands documented in Rack's [menu bar](MenuBar.html) are not documented he
- **Ctrl+=**: Zoom in.
- **Scroll**: Scroll rack vertically.
- **Shift+scroll**: Scroll rack horizontally.
- **Ctrl+scroll**: Zoom in/out.
- **Middle mouse button drag**: Pan rack view.
- **Arrow keys**: Pan rack view. You can use Ctrl, Shift, or Ctrl+shift to change the speed of scrolling.
- **Ctrl+V**: Pastes a new module at the cursor position, from the module context menu "Preset > Copy" or Ctrl+C.


+ 8
- 7
Manifest.md View File

@@ -179,7 +179,7 @@ The core functionality times two. If multiple channels are a requirement for the
Expands the functionality of a "mother" module when placed next to it. Expanders should inherit the tags of its mother module.

### `External`
Interfaces with hardware or software outside VCV Rack such as a MIDI/audio interface, webcam, DAW, robotic dog, etc.

### `Filter`
*Deprecated aliases: `VCF`, `Voltage controlled filter`*
@@ -189,7 +189,7 @@ Expands the functionality of a "mother" module when placed next to it. Expanders


### `Function generator`
Generates complex envelopes or cycles via a large selection of general parameters.

### `Granular`

@@ -218,16 +218,17 @@ Implements binary logic with gate signals.
*Deprecated aliases: `Low pass gate`, `Lowpass gate`*

### `MIDI`
Generates, processes, or interprets MIDI messages, e.g. for a MIDI interface.

### `Mixer`
Mixes/sums audio with optional level adjustment, panning, and/or mix buses.

### `Multiple`

Copies an input directly to multiple outputs.
While VCV Rack supports stacking cables on output ports, users sometimes prefer organizing their cables with multiples, allowing easy access to each cable.

### `Noise`
Generates audio-rate or CV-rate random noise.

### `Oscillator`
*Deprecated aliases: `VCO`, `Voltage controlled oscillator`*
@@ -239,7 +240,7 @@ Implements binary logic with gate signals.


### `Physical modeling`
Simulates a physical system such as a string, metal bar, vocal chords, chaotic system, celestial bodies, etc.

### `Polyphonic`
*Deprecated aliases: `Poly`*


+ 26
- 9
Migrate2.md View File

@@ -1,6 +1,6 @@
# Migrating v1 Plugins to v2

The API of VCV Rack v2 has been designed to be nearly backward-compatible with v1 plugins, so updating your plugin to v2 likely only involves the following step and a recompile.
The API of VCV Rack v2 has been designed to be nearly backward-compatible with v1 plugins, so updating your plugin to v2 likely only involves a version update and a recompile.

## Update plugin version to v2

@@ -32,8 +32,33 @@ If your plugin compiles successfully, you are ready to test and release.
Or, you may take advantage of new v2 features below.


## Potential bugs

### Avoid keeping `Font` (and `Image`) references across multiple frames

*Rack for DAWs* uses a different OpenGL context each time the plugin editor window is closed and reopened.
This means that if you load a `Font` in a widget's constructor with `font = APP->window->loadFont(...)`, the OpenGL font reference will be invalid if the window is reopened later.

Instead, save only the font path, and fetch the font each frame in `draw()`. Example:
```cpp
std::shared_ptr<Font> font = APP->window->loadFont(fontPath);
if (font) {
nvgFontFaceId(args.vg, font->handle);
...
}
```
`loadFont()` caches the font by its path, so this operation can be efficiently called in `draw()` every frame.

*All of the above also applies to `Image` and `loadImage()`.*

## Optional v2 API features

### SVG load function
`Window::loadSvg()` has been moved to `Svg::load()`. Search and replace:
```bash
perl -i -pe 's/APP->window->loadSvg\b/Svg::load/g' src/*
```

### Port labels

TOOD
@@ -44,11 +69,3 @@ TODO

### TODO

```bash
perl -i -pe 's/(\w+)_PARAM\b/PARAM_$1/g' src/*
perl -i -pe 's/(\w+)_BUTTON\b/BUTTON_$1/g' src/*
perl -i -pe 's/(\w+)_SWITCH\b/SWITCH_$1/g' src/*
perl -i -pe 's/(\w+)_INPUT\b/INPUT_$1/g' src/*
perl -i -pe 's/(\w+)_OUTPUT\b/OUTPUT_$1/g' src/*
perl -i -pe 's/(\w+)_LIGHT\b/LIGHT_$1/g' src/*
```

+ 1
- 1
PluginDevelopmentTutorial.md View File

@@ -23,7 +23,7 @@ You may wish to add this line to your `~/.bashrc` or other shell environment, so
The `helper.py` script included in the Rack SDK is an easy way to create a plugin template.
You can run it with no arguments to show documentation.

Decide on a [slug](Manifest.html#slug) for your plugin.
Choose a [slug](Manifest.html#slug) for your plugin, a unique string containing letters, numbers, `-`, or `_`.
We will use `MyPlugin` for this tutorial.
Run
```bash


Loading…
Cancel
Save