GithubHelp home page GithubHelp logo

j4s0n-c / trowasoft-vcv Goto Github PK

View Code? Open in Web Editor NEW
105.0 15.0 17.0 7.89 MB

trowaSoft Modules for VCV Rack

License: Other

C++ 99.60% Makefile 0.08% C 0.31%
vcvrack vcv-rack-plugins vcv-rack-modules osc

trowasoft-vcv's Introduction

trowaSoft-VCV

trowaSoft Modules for VCV Rack

trowaSoft Modules plugin for VCV Rack v0.5.x, v0.6.x, v1.x, v2.x. The current pack includes trigSeq & trigSeq64, voltSeq, polyGen, multiSeq, multiWave & muiltiWaveMini, multiScope, cvOSCcv, and cvOSC & OSCcv.

For more information about Rack, please visit: https://vcvrack.com/.

If you like the modules and wish to donate, you may do so here. Any donation is much appreciated!

Binaries/Builds

Any builds that are currently available are at Github Releases page. Recent builds for trowaSoft modules should also be available in the VCV plugin manager.

VCV Rack v2.x.x:
2023-07-04: The latest version is v2.0.8. (Change Log).

No more versions for older Rack versions will be developed, but they are still available here:

  • VCV Rack v1.x.x:
    2020-09-13: The latest version is v1.0.3.
  • VCV Rack v0.6.x:
    2018-09-20: The latest version is v0.6.4a.
  • VCV Rack v0.5.x:
    2018-02-17: The last version is v0.5.5.2.

To build for your platform, please visit the VCV rack documentation.

Modules

  • Sequencers
  • Oscillators & Drawing Tools
    • polyGen - Oscillator that generates x- and y-coordinates of simple polygons for drawing on a scope.
    • multiWave & muiltiWaveMini - Module with three (3) oscillator clocks.
    • multiScope - Scope that allows three (3) waveforms to be drawn on the same canvas.
  • Open Sound Control CV Interface

Sequencers

Currently there are four (4) sequencer modules.

trigSeq & trigSeq64

trigSeq and trigSeq64

These are basic boolean on/off pad step sequencers (0V or 10V), based off the Fundamentals SEQ3 sequencer.

  • trigSeq is 16-step; trigSeq64 is 64-step.
  • 64 patterns.
  • 16 channels (outputs).
  • Output modes: TRIG (trigger), RTRG (retrigger), GATE (continuous) (0 or 10V).
    (as of v1.0.2) Each channel may have its own separate output mode.
  • Inputs: Pattern, BPM, (step) Length, Clock, Reset.
  • Copy & Paste of channel or entire pattern.
  • Copy & Paste of row/column/single step (as of v2.0.7). Use the context menu on a step to access copy/paste.
    • CTRL-C / CMD-C will copy the single hovered step (to copy a row or column you must use the context menu).
    • CTRL-V / CMD-V will paste the row/column/single step from the clipboard.
  • Open Sound Control (OSC) interface (as of v.0.5.5.1). (more info)
  • Advanced Randomization options (as of v.0.5.5.2) for all patterns, current edit pattern, or only the displayed channel. Chose from 'normal random' or 'structured' random patterns.
  • Hold mouse down and set multiple pads by dragging.

voltSeq

voltSeq variable voltage sequencer

voltSeq is a variable voltage output step sequencer (-10V to +10V), based off the Fundamentals SEQ3 sequencer.

  • voltSeq is 16-step.
  • 64 patterns.
  • 16 channels (outputs).
  • Output modes: (as of v1.0.2) Each channel may have its own separate output mode.
    • VOLT - Voltage (-10V to +10V): Output whatever voltage you want.
    • NOTE - Midi Note (-5V to +5V): Output notes (12 notes per 1 V; 10 octaves).
    • PATT - Pattern (-10V to +10V): To control the currently playing Pattern (or Length) on another trigSeq, voltSeq, or multiSeq. (1 to 64 in range).
  • Inputs: Pattern, BPM, (step) Length, Clock, Reset.
  • Copy & Paste of channel or entire pattern.
  • Copy & Paste of row/column/single step (as of v2.0.7). Use the context menu on a step to access copy/paste.
    • CTRL-C / CMD-C will copy the single hovered step (to copy a row or column you must use the context menu).
    • CTRL-V / CMD-V will paste the row/column/single step from the clipboard.
  • Open Sound Control (OSC) interface (as of v.0.5.5.1). (more info)
  • Advanced Randomization options (as of v.0.5.5.2) for all patterns, current edit pattern, or only the displayed channel. Chose from 'normal random' or 'structured' random patterns.
  • Shift Values (as of v0.5.5.2): +/- 1 Volt or 1 Octave or 1 Pattern for all patterns, current edit pattern, or only the displayed channel.

multiSeq

multiSeq

multiSeq is a combination of trigSeq and voltSeq. It supports triggers or variable voltages. This module is new in v2.0.4.

  • multiSeq is 64-step.
  • 64 patterns.
  • 16 channels (outputs).
  • Output modes: Each channel may have its own separate output mode.
    • TRIG (trigger) (0 or 10V)
    • RTRG (retrigger) (0 or 10V)
    • GATE (continuous) (0 or 10V)
    • VOLT - Voltage (-10V to +10V): Output whatever voltage you want.
    • NOTE - Midi Note (-5V to +5V).
    • PATT - Pattern (-10V to +10V): To control the currently playing Pattern (or Length) on another trigSeq, voltSeq, or multiSeq.
  • "Song Mode" Internal Pattern Sequencer: Setup automatic pattern changes so you don't need another sequencer to send CV into the PATT input. Up to 64 sequences.
  • Inputs: Pattern, BPM, (step) Length, Clock, Reset.
  • Copy & Paste of channel or entire pattern.
  • Copy & Paste of row/column/single step (as of v2.0.7). Use the context menu on a step to access copy/paste.
    • CTRL-C / CMD-C will copy the single hovered step (to copy a row or column you must use the context menu).
    • CTRL-V / CMD-V will paste the row/column/single step from the clipboard.
  • Open Sound Control (OSC) interface (as of v.0.5.5.1). (more info)
  • Advanced Randomization options (as of v.0.5.5.2) for all patterns, current edit pattern, or only the displayed channel. Chose from 'normal random' or 'structured' random patterns.
  • Shift Values (as of v0.5.5.2): +/- 1 Volt or 1 Octave or 1 Pattern for all patterns, current edit pattern, or only the displayed channel.

Oscillators & Drawing

polyGen

polyGen

polyGen is a simple polygon generator/oscillator. It generates output CVs for x and y coordinates of simple shapes. This module is new in v2.0.7.

  • CV Inputs & User Controls - Most CV inputs have a corresponding user control knob. [+] means the CV and Knob add together. [-OR-] means if the CV is present, the knob is ignored.

    • Frequency - [+] (-5V to +5V) Number of shapes to draw per second (Hz).
    • (Main) Shape
      • # Vertices - [-OR-] (0V to 10V) Number of outer vertices (N = 3 to 33; 1 V per 3 vertices). 'Inner' vertices will be mapped in between, but by default will be in-line with the outer vertices.
      • Angle Offset - [+] (0V to 10V) Angle offset for shape / initial rotation. This applied before any adjustments in "Radius / Amplitude" or "Rotation" are applied.
    • Star - Adds a second set of inner vertices in between the main shape's vertices (i.e so you could draw a star).
      • Inner Vertices Radius - [+] (0V to 10V) Radius of inner vertices relative to the outer radius (main shape radius). Default is 1 (i.e. 100%; no star).
      • Inner Vertices Angle - [+] (0V to 10V) Angle offset of the inner vertices. Default is 0º from 180º/N (mid-angle of main shape/outer vertices).
    • Radius / Amplitude - Size applied to the main shape before "Rotation".
      • Rx - [-OR-] (-10V to +10V) Radius in x direction (x-amplitude) (before rotation). Default is 5 V.
      • Ry - [-OR-] (-10V to +10V) Radius in y direction (y-amplitude) (before rotation). Default is 5 V.
    • Rotation - Rotates the shape after "Shape", "Star" and "Radius / Amplitude" settings have been applied.
      • Rotation - [+] (-10V to +10V) Rotation. 1 V per full rotation (360º). If SPIN is on, this is the rate of rotation (º/s), else this is the absolute rotation (º).
      • Xc - [-OR-] (-10V to +10V) Center of rotation (x). Default is 0 V.
      • Yc - [-OR-] (-10V to +10V) Center of rotation (y). Default is 0 V.
      • SPIN - [Control Only] Turn on if the rotation is relative (rotation is speed). Turn off if absolute rotation.
    • Offset - Final offset applied after all other transformations.
      • X-Offset - [-OR-] (-10V to +10V) Offset in the x direction. Default is 0 V.
      • Y-Offset - [-OR-] (-10V to +10V) Offset in the y direction. Default is 0 V.
    • Sync - [CV only] (0-10V) Trigger to reset the shape/oscillator to the start.
  • Outputs:

    • X - (-10V to +10V) x coordinate of the shape.
    • Y - (-10V to +10V) y coordinate of the shape.
    • SYNC - (0-10V) Triggers at start of new shape.
  • Preview Screen:

    • The previews show the ideal shapes (i.e. just the vertices with lines connecting them). In general, frequencies that are around / multiples of your frame rate produce the smoothest lines when charting.
    • The small red preview in the corner of the screen shows the shape before it is moved by "Rotation" and/or "Offset" parameters.
    • The white preview in the center of the screen shows the shape after it is moved by "Rotation" and/or "Offset" parameters.

multiWave & multiWaveMini

multiWave multiWaveMini

multiWave is a digital oscillator module with three (3) oscillators/clocks, each with two (2) configurable wave channel outputs. This module has been made to complement multiScope and is new in v0.6.3.

multiWaveMini has been introduced in v2.0.7 and is the same as multiWave, but the display has been removed. Starting in Rack v1, the ability to see and set parameter (i.e knob) values directly was introduced, so being able to see the exact values and edit them in the screen isn't as important.

  • Screen User Controls: (for full-size multiWave only)

    • Click on a value to edit it directly (a text box should appear and allow you to type the value).
    • Tab or Tab-Shift will iterate through the editable text boxes.
    • Valid for all displayed values except for WAVE and AUX (AUX is only an editable textbox for pulse width when SQR/rectangle wave is selected).
  • CV Inputs & User Controls per Oscillator:

    • AMPL - Amplitude (-10V to +10V).
    • FREQ - Frequency (1V/Oct) for the oscillator clock.
      The Frequency knob rotates 360°. Hold down the Shift key for coarser control or the Control key for finer control while dragging up/down.
    • PHASE - Phase Shift (-10V to +10V).
    • OFFSET - Offset (-10V to +10V).
    • SYNC (Up) Button - (new in v2.0.7) Directly synchronize with the oscillator above.
      NOTE: This is only available on Oscillator 2 and Oscillator 3.
    • SYNC CV Input - (Right hand side) Reset/sync the oscillator (to phase 0). Currently this is CV only (no UI control).
    • CV Inputs & User Controls per Channel Output:
      • WAV - Waveform Type (-5V to +5V): SIN, TRI, SAW, SQR.
      • AUX - Aux (-5V to +5V). If the CV input is active then, the knob value is ignored.
        Currently only SAW and SQR have functions:
        • SAW: Slope (pos |/| or neg |\|). 0 or positive CV for positive slope.
        • SQR: Pulse Width.
        • SIN and TRI adjustments will be added later when/if we think of another parameter for these waveforms.
      • PHASE - Phase Shift (-10V to +10V). Value is relative to the oscillator clock.
      • MOD - Amplitude modulation (-10V to +10V). Knob controls the mix between the raw signal and the modded signal.
      • * - Button for modulation type (Digital or Ring). Currently this is UI only (no CV input).
  • CV Outputs per Oscillator:

    • SYNC - Triggers whenever the period restarts.
    • CV Outputs per Channel Output:
      • X<n> or Y<n> - RAW waveform without amplitude modulation (MOD).
      • MOD - The modulated waveform (based on the MOD knob and the incoming MOD signal input).

multiScope

multiScope

multiScope is a visual effects scope, with lissajous mode, that allows three (3) waveforms to be drawn on the same screen/canvas. (code based on JW Modules FullScope and Fundamental Scope)

  • CV Inputs per Channel:

    • X - X-value (horizontal component).
    • Y - Y-value (vertical component).
    • C - Color/hue (0V to +5V).
    • A - Alpha channel (0V to +5V).
    • BLANK - Blank ON or OFF. By default, Blank is off. ON is any input <=0 (really < 0.1V), otherwise it will be OFF.
      You can use a trigSeq (in GATE mode, synchronized with a voltSeq) to control / hide lines that you do not wish to be shown.
    • FC - Fill Color hue (0V to +5V)
    • FA - Fill alpha channel (0V to +5V).
    • R - Rotation (-10V to +10V). Will either be a rotational rate or if the ABS button is on, it will be the absolute angular position.
    • T - Time.
    • TH - Line Thickness.
  • User Controls per Channel:

    • X - Offset (OFF) & Scale (SCL) knobs.
    • Y - Offset (OFF) & Scale (SCL) knobs.
    • LNK - (Toggle) Link the X-scale and Y-scale knobs together so they will change together (have the same value).
    • C - Color knob. If an input is active on the Color port, this is ignored. Highest setting will yield White now.
    • A - Alpha channel knob. If an input is active on the Alpha port, this is ignored.
    • FC - Fill Color knob. If an input is active on the Fill Color port, this is ignored. Highest setting yield give White now.
    • Fill Color - (Toggle) Fill on/off.
    • FA - Fill alpha channel knob. If an input is active on the Alpha port, this is ignored.
    • Rotation Controls:
      • R - Rotation knob. If an input is active on the Rotation port, this is ignored.
      • ABS - (Toggle) Turning ABS on will make the rotation inputs control the absolute angular position instead of a rate.
    • T - Time adjustment knob. Will be used along with the Time input port.
    • TH - Line Thickness. If an input is active on the Thickness port, this is ignored.
    • EFFECT - Effect knob.
    • X*Y - (Toggle) Toggle lissajous mode on / off (default is on).
  • User Controls for entire module:

    • INFO - (Toggle) Toggle input parameter information on / off (default is on). Located on the right-hand-side (RHS) bar.
    • BG COLOR - (Toggle) Toggle on-screen Background Color picker on / off (default is on). Located on the right-hand-side (RHS) bar.
    • Background Color Picker - Displayed on screen. Hue-Saturation-Light (HSL) sliders to pick the background color.

Open Sound Control

cvOSCcv

cvOSCcv default screen and configuration screen.

cvOSCcv is a simple, generic Open Sound Control (OSC) module for outputting Rack CVs to OSC and reading in simple OSC messages into Rack CVs. This module is new in version 0.6.0.

  • CV Inputs - CV => OSC (8 channels), each channel:

    • TRG - (mono) If active, then OSC messages will output the VAL CV input when triggered.
    • VAL - (poly as of v1.0.2) The value(s) that will output over OSC.
      • If more than one polyphonic channel is set, it will be sent in OSC as an array, otherwise it will be sent as a scalar.
      • If there is no trigger present, the module will output whenever VAL changes at least the Change Threshold (default 0.05) up to the Send Frequency (Hz) (default is 100 Hz).
  • CV Outputs - OSC => CV (8 channels), each channel:

    • TRG - (mono) (0-10V) Triggers whenever an OSC message is received.
    • VAL - (poly as of v1.0.2) (Gate) Outputs the last OSC value(s) received.
      Note that polyphonic cables are limited to 16 channels, so if an array larger than this is received, only the first 16 channels will be available.
  • User Controls:

    • CONFIG - (Toggle) Button to toggle the configuration view. When an OSC connection is active, a blue light will appear on the button.
    • LEFT / RIGHT - (as of v1.0.2) Buttons to navigate between the configuration of the module itself or any expansion modules (cvOSC or OSCcv) connected to it.
    • OSC IP Address - The IP address of the OSC client/server. Default is 127.0.0.1.
    • Out Port - Port for sending messages.
    • In Port - Port for receiving messages.
      (as of v1.0.2) cvOSCcv modules may share the same ports to either speak to the same endpoint or talk to each other.
    • Namespace - The OSC namespace. Default is empty (none).
    • Auto Con - Automatically reconnect on load from save. The connection will be restored if the connection was active (in the save file) and this is checked.
    • Per Channel:
      • Address - Endpoint address. Default is /ch/{channel #}.
      • ADV - (as of v0.6.2) Advanced settings for simple value conversions. Specify simple OSC data types (float, int, bool) and the CV and OSC ranges.
    • Send Frequency (Hz) - (as of v2.0.5)(Context Menu) Choose the default send frequency (if no trigger is present) in the context menu. The default is 100 Hz.
    • Change Threshold - (as of v2.0.8)(Context Menu) Choose the default send change threshold (if no trigger is present) in the context menu. The default is 0.05.

    NOTE: To save Channel Address changes after a connection is active, simply hide the configuration screen again.

cvOSCcv Expansion Modules

Expansion modules for cvOSCcv: cvOSC and OSCcv.

cvOSC and OSCcv are expansion modules for cvOSCcv. They add extra inputs or outputs respectively. These modules are new in version 1.0.2. The 16- and 32-channel versions are new in v2.0.7.

  • cvOSC / cvOSC16 / cvOSC32: CV => OSC.

    • Adds 8/16/32 more input channels. Each channel has a TRG (mono) and a VAL (poly) input.
    • Module will only connect to a master if it is placed to the LEFT of the master cvOSCcv module. It must be touching it or another cvOSC.
    • Change Threshold - (as of v2.0.8)(Context Menu) Choose the default send change threshold (if no trigger is present) in the context menu. The default is "Match Master" (uses the threshold set in the master cvOSCcv module).
  • OSCcv / OSCcv16 / OSCcv32: OSC => CV.

    • Adds 8/16/32 more output channels. Each channel has a TRG (mono) and a VAL (poly) output.
    • Module will only connect to a master if it is placed to the RIGHT of the master cvOSCcv module. It must be touching it or another OSCcv.
  • Multiple expansion modules may be chained.

  • Expansion modules have no user controls. They must be configured in their master cvOSCcv module. Configurable items are:

    • Expansion Module Name (only used for display, not used in OSC)
    • Channel Addresses
    • Channel Conversions
    • RENUMBER : (as of v2.0.7) Button to "renumber" the channel addresses. All advanced channel settings are retained, only the addresses are updated.
    • PAGE : (as of v2.0.7) For expansion modules with more than eight (8) channels, change the channel page/column that you are editing.
      If the expander has more than one (1) column, then the current column will be highlighted on the expander.
  • By default, channels start at #9. After connecting to a master cvOSCcv module, initializing the expansion module will "re-number" its channels (i.e. /ch/9 will become /ch/17). Or (as of v2.0.7) you may RENUMBER the channel names only in the master's configuration screen.

    NOTE: The expander's name is only for display purposes to help identify which expander you are configuring in the master module.

trowasoft-vcv's People

Contributors

chichian avatar cladelpino avatar j4s0n-c avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trowasoft-vcv's Issues

Feature Request: Structured randomization

Hi, first, amazing work on the modules ! thanks for it 👍

I'm using chained voltSeqs in pattern mode for procedural composition, and would love to see an optional feature where randomization comes from a randomly chosen "structure" i.e. "A" (just one value repeating), "AB" (two values alternating) "ABBA", etc.

I'm totally new to c++ so for now implementing this myself would be a bit burdensome. Nevertheless I've put together a small proof of concept, where voltSeq::randomize() would call the StructGenerator.getValue(step) function:

https://onlinegdb.com/rJ4_JAVLf

I'd love to hear thoughts on this. Thanks again for the amazing work !!!

FEATURE REQUEST - voltSeq: another default voltages/notes

Hi again, for feature request.

For future releases, about voltSeq, is it possible, for any step, to change default to 0V (instead of -10.0V) and default notes pitched to C5 (instead of C0), assuming 0V / C5 is "middle position" (delivered voltages by the seq are bipolar -10V/+10V, I presume following "1V/octave" rule). Also I've understood voltages and notes (across modes) are linked.

Thanks (again) in advance if you'll can consider this request, for future releases of trowaSoft seqs.

Dominique.

v1

Any plans to migrate to v1?

cvOSCcv - Output conversion not functioning correctly.

image

I'm trying to convert random cv to a 1 or 0 integer value, but the receiving software is getting a variety of responses. CV is produced by caudal, and ranges from -5.0 to +5.0. I've set it to 0 and 1 here because a want the mid point to favor slightly into the + spectrum because of the nature of the caudal model. Does cvOSCcv not truncate values that exceed the input values? This could just as easily be user error.

You'll need to zoom in, but you can see that channel 6 is transmitting an integer value of 2 to TD.

TrigSeq64 short freezes.

Hello there!
I'm new to the GitHub stuff, but I guess I can report a bug here.
TrigSeq64 has minor freezes on my VCVrack (0.5.0). The freezes might even cause desynchronization.
Here's an example of freezes: https://www.youtube.com/watch?v=AaQvU101Bzs with desynchronization happening about 30 seconds in.
It's a fairly simple patch, so my CPU can handle it just fine, and the freezes happen specifically when TrigSeq64 is in the patch.
Happens with both ASIO and DirectSound, so ASIO is not the issue.
Thank you!

Easy patch to drastically reduce CPU overhead of trigSeq(64) and and voldSeq

Hi,

did a patch in my sandbox to reduce the cpu overhead of your sequencers when running on external clock.
This was neccessary for me because I like trigSeq64 very much but with more than 10% CPU usage it rendered no longer usable for my patches. With the performance patch I implemented, trigSeq64 now uses less than 1 % CPU without running in any issue yet.

The code changes are Module_trigSeq.cpp and Module_voltSeq.cpp in their process() method:

. . .
if (!initialized)
        return;

// adapt the lightLambda used to calculate step light fading
// because the process is executed completely only every 32nd time
if (inputs[EXT_CLOCK_INPUT].isConnected())
        lightLambda = 0.05 / IDLESKIP;
else
        lightLambda = 0.05;
 idleCnt = (idleCnt + 1) % IDLESKIP;
 double newExtTrg = inputs[EXT_CLOCK_INPUT].getVoltage();
 // return if not each 32th sample, ext clk is connected and the trigger input did not change
 if (idleCnt != 0 && inputs[EXT_CLOCK_INPUT].isConnected() && newExtTrg == extTrg) {
        return; // return if idle to reduce cpu time
}
// save old ext trigger input state to detect change
extTrg = newExtTrg;

bool gOn = true;
bool pulse = false;
. . .

and in TSSequencerModuleBase.hpp:

. . .
// If this was loaded from a save, what version
int saveVersion = -1;
// removed conts to allow changing depending on ext clk connect state
float lightLambda = 0.05;
// The number of structured random patterns to actually use. 
// Should be <= TROWA_SEQ_NUM_RANDOM_PATTERNS.
int numStructuredRandomPatterns = TROWA_SEQ_BOOLEAN_NUM_RANDOM_PATTERNS;

// defines and global variables used by my hack 
#define IDLESKIP 32
int idleCnt = -1;
double extTrg = 0;

//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
. . .

See also https://community.vcvrack.com/t/trowasoft-trigseq-and-voltseq-performance/13082

Would be great if you would include this patch in your code line or implement a similar patch.

Regards
Dieter

Please add an OSC input monitor for cvOSCcv

Hello,

This would be a useful add-on to the module, in order to check if there are incoming messages ad what messages have arrived. In Reaktor, there is also a window which remembers not all the messages but only the OSC tags received so far.

Best regards.

Bug: TrigSeq64

The last drag on TrigSeq64 gets copied to channels 2-16 when you change to that channel.
seq64
Also happens when drag start from channel 16 then select channel 15 downwards.
Might be the same on the 16 have not checked.

Suggestion also. If you have a pattern that is steps 1 and 4 then 16 and 20. When you drag start, step 1 the other steps not activated activate it would be greet if on drag it could detect the steps that are true only, The ones that are active then turn those off without turning the ones that are off on.

This is what I mean:
is on true

plugin.dylib Symbol not found

Opening Rack brings up message "Could not load plugin /Users/first.lastname/Documents/Rack/plugins/trowaSoft See log for details."

Log details:

[0.079 warn] Failed to load library /Users/rob.brulinski/Documents/Rack/plugins/trowaSoft/plugin.dylib: dlopen(/Users/rob.brulinski/Documents/Rack/plugins/trowaSoft/plugin.dylib, 2): Symbol not found: __ZN4rack9loggerLogENS_11LoggerLevelEPKciS2_z
Referenced from: /Users/rob.brulinski/Documents/Rack/plugins/trowaSoft/plugin.dylib
Expected in: flat namespace
in /Users/rob.brulinski/Documents/Rack/plugins/trowaSoft/plugin.dylib

Attempting to Connect a Launchpad Pro to trigseq-64

Hi, I'm attempting to connect my Launchpad Pro to trigseq-64. Currently, I've gotten the communication to work from the default launchpad .pd file with the Launchpad Pro's Live port. However, the buttons are all wrongly mapped, and so the wrong buttons light up while playing. Is there any thing I can do on my side to make this work?

Unable to Use Multiple Instances of cvOSCcv

Note: I solve my earlier problem (more or less) by deleting the plug-in folder and re-downloading it. That got rid of my garbage channel names. Okay, I'll just use the default channel names -- no problem.

But here's the new problem. Eight channels of control are not enough! So I create a second cvOSCcv, give it the namespace trowacv2, and use touchOSC Editor to assign a second bank of control widgets to trowacv2. But cvOSCcv will not let me make an OSC connection with the second module. So it appears I'm limited to only eight OSC connections, total, in spite of the fact that touchOSC can have 20 or 50 widgets in a template.

Also, the error message says, "Error connecting to 127.0.0.1" -- but that's not the IP address used by either of the modules. They're both set to 192.168.1.67, and that works fine for the first module, but not for the second. So the error message is wonky, but that's not the main problem. The main problem is, I will need to run at least four cvOSCcv modules at once, each with its own namespace identifier.

How can I do that? Is this a user error, or will it require an updated version?

OSC: device can send to modules, but no feedback

Configs:

  • friend: Windows 10 Pro x64 (French), Android Galaxy Tab.
  • mine: Windows 7 Pro SP1 x64 (French), iPad 3 (iOS v9.3).
    Both: same IP network, firewall is disabled (to be sure).

Hi,

Together with a French friend, we've tried the TouchOSC layout (downloaded from your main website), friend uses an Android device, I'm using an iPad 3, but in both cases, we can control trigSeq, trigSeq64 and voltSeq, but we don't have any feedback coming from module to our respectives devices.

Is it normal, or not?

In case you'd like we'll do more tests, don't hesitate!

Thanks a lot in advance.

Dominique.

Add Swing

Hey,
is it possible to modify the swing somehow? I did not find it yet, but it seems like its hidden in the code somewhere.
Thanks!

TouchOSC strange behavior on Mac

Copied from another unrelated/closed issue by @thopa:

"The only last problem that i seem to see as for now is that the last step on both trigseq and trigseq64 gets deleted when the little time dot arrives at that position. Meaning if i enter a step on my ipad on the last step of the sequencers, it gets cleared when the time dot arrives on that last step.Also, i can send signals from voltseq to the mac but it resets the value of each knob on the ipad to 0 once the time dot arrives, at that knob. Random and initialise work fine is just when i input values manually from the ipad knobs that this behaviour happens.Many thanks!"

loading issue

Hello, I've had an issue with the Trowasoft module :
It doesn't seems to update correctly, or to load correctly.
I am on VCV 0.6.0., and don't find the log anywhere.
By the way, great modules !

loadingissue

cvOSCcv Presets Not Saved

I think this is a major problem. I want to use cvOSCcv to receive incoming messages from touchOSC on my iPad. So I created a nice set of control names in the right column, opened the Advanced panel, and gave each of them the I/O values I wanted. So far, so good.

I then used the VCV Duplicate command to make a new module, with the idea of making its namespace trowacv2. But it didn't work. For some reason, it duplicated the quasi-random dumb control names I had inserted yesterday, not the ones I had just now carefully created. The Advanced settings, however, were properly duplicated.

Worse was yet to come. I saved the Preset using the context menu, created a new cvOSCcv module, and loaded the saved Preset. But what was saved was yesterday's garbage control names, not the nice ones I had just created.

I then saved my VCV patch, opened a different patch, and went back to the Trowasoft test patch. At this point, again, I get the garbage channel names from yesterday. The new text values I entered this morning will apparently have to be entered each and every time I want to use cvOSCcv.

At the moment, I'd call this a deal-breaker. I sure hope you can fix it! I've encountered a similar preset-saving problem with a module from some other developer, at the moment I don't remember who. There are always these little issues -- I'm not freaking out, I'm just hoping you'll have time to update the module. Thanks!

Possible bug in reset of Volt seq, possibly caused by seq 64

Hi, while playing, I think either I am doing something wrong or maybe found a little bug in volt seq. I've attached the patch.

I'm using the top volt seq to play the bass, and then seq 64 to trigger the bottom volt seq to transpose the bass.

It's to do with resetting. When I hit reset, the top one that triggers directly from the clock is fine, but the bottom one that triggers from seq 64 triggers both first steps on reset.

Upon further testing, slowing the clock right down doesn't cause the issue in the top one still, but is still there in the one triggered by seq 64. I'm starting to think it's maybe seq 64 actually now.

I Feel Love.vcv.zip

Launchpad mk2 doesn't work correctly

The pd patch to use with launchpads doesn't seem to be compatible with the launchpad mk2, the lights doesn't correspond with the sequencer. Is there any way to adjust the pd patch to make it work? I had a look at it but I don't understand what is happening in it.

cvOSCcv and sensors2osc

hello I am trying to use your module cvOSCcv with the app for android sensors2osc ( to control VCV with the different sensors of my phone: movement, light, pression...) but I didn't manage the connection...
Did you think it is possible? Did you already tried it? And there is a tutorial about this module (I don't know nothing about osc)...
Anyway, thanks for your modules,
Have a nice day,
Matthieu

Crashes when using multiScope

rack keeps crashing when using multiScope

I installed the plugin through the plugin manager

Version

Version 0.6.0

Hardware

this is also in the crash log

Model: MacBookPro14,3, BootROM MBP143.0169.B00, 4 processors, Intel Core i7, 2.8 GHz, 16 GB, SMC 2.45f0
Graphics: Radeon Pro 555, Radeon Pro 555, PCIe, 2 GB
Graphics: Intel HD Graphics 630, Intel HD Graphics 630, Built-In
Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x80CE, 0x4B3445424533303445422D45474347202020
Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x80CE, 0x4B3445424533303445422D45474347202020
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x173), Broadcom BCM43xx 1.0 (7.77.37.5.1a3)
Bluetooth: Version 6.0.2f2, 3 services, 18 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB 3.0 Bus
USB Device: iBridge
Thunderbolt Bus: MacBook Pro, Apple Inc., 23.1
Thunderbolt Bus: MacBook Pro, Apple Inc., 23.1

Log

macOS Crash log
LOG.txt

VCV Rack Log
log.txt

oscCVExpander buffer overflow on Linux

The oscCVExpander module has a buffer overflow issue and crashes immediately when added to Rack.

Compilation on Linux actually shows the following warning:

g++ -std=c++11 -Wsuggest-override  -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_LIN  -c -o build/src/Module_oscCVExpander.cpp.o src/Module_oscCVExpander.cpp
src/Module_oscCVExpander.cpp: In constructor ‘oscCVExpander::oscCVExpander(int, TSOSCCVExpanderDirection)’:
src/Module_oscCVExpander.cpp:24:1: warning: ‘__builtin___sprintf_chk’ writing a terminating nul past the end of the destination [-Wformat-overflow=]
 oscCVExpander::oscCVExpander(int numChannels, TSOSCCVExpanderDirection direction)
 ^~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from /usr/include/c++/7/cstdio:42,
                 from ../../include/common.hpp:6,
                 from ../../include/rack.hpp:6,
                 from src/Module_oscCVExpander.cpp:2:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:34:43: note: ‘__builtin___sprintf_chk’ output 4 bytes into a destination of size 3
       __bos (__s), __fmt, __va_arg_pack ());

Adding the module to Rack crashes immediately with a buffer overflow.

The relevant line in the code is in Module_oscCVExpander.cpp:62:

sprintf(buff, "%03u", static_cast<uint8_t>(random::uniform() * 100));

which will write 3 characters plus an additional null terminator to the buffer of size 3.

Recommend changing buffer size to 4.

voltSeq (0.6.0) lastest 16th step init issues

Hi,

I'm testing voltSeq for Rack 0.6.0.
Windows platform.

It seems an initialization problem when you add voltSeq in rack, concerning the last 16th step.

At start, it's voltage is 0.0, assuming it's good.

But now, when you switch to "Note" mode, this 16th step is set to "C-1" (instead of default "C4" - like other steps are), Show in attached screen capture.

Now switching to "Patt" mode, pattern number is also different (01) than other steps (all are 33). And finally when you'll switch back to "Volt" mode, the 16th have changed from 0.0 to -10.0.

Hope mine explanations are clear (English isn't my main language).

Regards.
Dominique

bug voltseq

Osc Communication only working via vcv to ipad osc

Hi,
First thanks for your hard work!
I have been trying many different setups with your vcv rack module 0.6 and i have only managed to get osc communication from vcv rack to my ipad, but no signal from my ipad to vcv rack.

Here are some some pictures:

d3e091ce-7bfb-43d8-a454-a71eb6c12383
414d0d58-709d-406d-9af2-504d97187b3a
c8340e2c-6813-42af-8bf7-09c8e9011e05

My mac is running on mac os high sierra, 10.13.3 and touch osc v.1.9.9, both are connected trough a network created om my mac that i join on my ipad. Works fine with other touch osc templates and lemur files which rely on this bidirectional communication.

Its like somehow mac is blocking the port 7001 used by the touchosc ipad app, nut permitting the data from mac to ipad.

Many thanks

Notes in voltage

Is there a fast way to reset everything to 0 or is not a best practice to start notation in 0, I spend a lot of time from -10 to 0 (not as much as you developing this awesome tool of course) 👍

Can't synchronize two CVC trigSeq

Hi Jason,

I am trying the following scenario:
On computer A (master) I have set up the sequencer to send broadcast on port 7000
Machine_A_master

On computer B (slave) I have set up the sequencer to receive on port 7000
Machine_B_slave

If I change the sequencer knobs on computer A, except the tempo one, they change accordingly on computer B, however when I press RUN on computer A, the sequencer stops on computer B, and vice-versa. The tempo knob doesn't seem to have any effect on the slave.
So I can not manage to have both sequencers running in sync (on synchronized tempo and reset).
The CPY button for the channel seems to turn on-off in sync among the two computers, but the one for the pattern is inverted, turns off at the slave when I turn on at the master and vice-versa, just like the RUN button.

So, either I completely misunderstood how this is supposed to work, and am expecting it to be something completely different from what it really is, or things are not working correctly.
I have tried sending to broadcast, sending directly to the slave IP, using external clock, internal (trigSeq) clock, you name it ... all possible combinations ... to no avail.
Any guidance here would be greatly appreciated.
My target is: have two computers running VCV and synchronize the tempo of the slave to the master.

Thanks!

OSC messages with multiple values

This is more a question than an issue.

If I have a device sending OSC messages from a gyroscope with say /xxx/gyro with 3 floats (x,y,z) ranging from -245 to 245.

How do I access the 3 different values x, y and z from cvosccv? or does it default to just using the first value?

Also, the below crash maybe related to this issue.

[250.343 fatal src/main.cpp:45] Fatal signal 6. Stack trace:
10: 1 Rack 0x00000001071cb3cd _ZL18fatalSignalHandleri + 45
9: 2 libsystem_platform.dylib 0x00007fff7239c5fd _sigtramp + 29
8: 3 ??? 0x00007000062aa758 0x0 + 123145405769560
7: 4 libsystem_c.dylib 0x00007fff72272808 abort + 120
6: 5 libsystem_malloc.dylib 0x00007fff7236850b has_default_zone0 + 0
5: 6 libsystem_malloc.dylib 0x00007fff7236b40f malloc_report + 151
4: 7 plugin.dylib 0x000000000ab5726f _ZN5oscCV7processERKN4rack6engine6Module11ProcessArgsE + 6159
3: 8 Rack 0x00000001072229be _ZN4rack6engineL18Engine_stepModulesEPNS0_6EngineEi + 462
2: 9 Rack 0x00000001072235ab _ZNSt3__114__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEZN4rack6engine6Engine5startEvE3$0EEEEEPvSC + 1419
1: 10 libsystem_pthread.dylib 0x00007fff723a8109 _pthread_start + 148
0: 11 libsystem_pthread.dylib 0x00007fff723a3b8b thread_start + 15

Feature Request (cvOSCcv) - Multiple instances using the same IO port

Hi Jason.
I'm using this fabulous module (cvOSCcv) and so far enjoying it.
The only thing that I wish it had is support for using the same IO port in other instances ,this will helps to extend the number of IO's on the same port.
Is it coming on next version ?

Thank you for all the goods you share.

v1 port shadow size, border:port ratio

Hi Jason, would you consider decreasing the shadow size on ports? it just looks wrong:

rackShadow

You could do this a couple of ways the hard way would be decreasing the border size in the port.svg
shadow boxsize

shadow->opacity = 0.f; create a custom size for the border/port ratio. Just the override might be sufficient.
see: https://github.com/VCVRack/Rack/blob/v1/include/app/CircularShadow.hpp#L15

The issue is the border size of the port but because you would have to edit all port positions after resizing the border it would be easier to create a custom shadow for the port border size.

https://github.com/VCVRack/Rack/blob/v1/src/app/CircularShadow.cpp#L14

Minor tweak to build on Linux

On Centos7 the compilers are older than the standard, and this one minor tweak is the difference between the build succeeding and failing -- the version of std::regex_replace won't take a string constant as the last argument. This should work with every C++ compiler. I've tested it with CLang as well...

diff --git a/src/TSTextField.cpp b/src/TSTextField.cpp
index 88390f6..53c1110 100644
--- a/src/TSTextField.cpp
+++ b/src/TSTextField.cpp
@@ -37,7 +37,7 @@ std::string TSTextField::cleanseString(std::string newText)
{
// Remove invalid chars
std::stringstream cleansedStr;

  •   std::regex_replace(std::ostream_iterator<char>(cleansedStr), newText.begin(), newText.end(), regexInvalidChar, "");
    
  •   std::regex_replace(std::ostream_iterator<char>(cleansedStr), newText.begin(), newText.end(), regexInvalidChar, std::string(""));
      return cleansedStr.str().substr(0, maxLength);
    
    }
    } // end cleanseString()

trowasoft

Hi!

I just merged your pull request in the plugin manager... tried it afterwards and saw that your modules still show the red dot (for a new update) after downloading... so i checked your makefile here on github.. if this is the same one you used for the latest build pls take a look at the makefile from the tutorial:
https://github.com/VCVRack/Tutorial/blob/master/Makefile

e.g. missing "VERSION= ......" in your makefile

Greetings,
Michael

build fail latest pull

Fedora 23 Linux
Rack master (0.6.x)

Build fails with this error:

g++ -Wsuggest-override -std=c++11 -fPIC -I../../include -I../../dep/include -DSLUG=trowaSoft -DVERSION=0.6.5.2dev -MMD -g -O3 -march=nocona -ffast-math -fno-finite-math-only -Wall -Wextra -Wno-unused-parameter -DARCH_LIN -c -o build/src/TSTextField.cpp.o src/TSTextField.cpp
src/TSTextField.cpp: In member function ‘void TSTextField::insertText(std::__cxx11::string)’:
src/TSTextField.cpp:50:6: error: ‘begin’ was not declared in this scope
if (begin < end)
^
src/TSTextField.cpp:50:6: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:87:5: note: ‘std::begin’
begin(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:50:14: error: ‘end’ was not declared in this scope
if (begin < end)
^
src/TSTextField.cpp:50:14: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:97:5: note: ‘std::end’
end(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:53:14: error: ‘begin’ was not declared in this scope
text.insert(begin, cleansedStr);
^
src/TSTextField.cpp:53:14: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:87:5: note: ‘std::begin’
begin(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:59:2: error: ‘end’ was not declared in this scope
end = begin;
^
src/TSTextField.cpp:59:2: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:97:5: note: ‘std::end’
end(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp: In member function ‘virtual void TSTextField::onTextChange()’:
src/TSTextField.cpp:65:2: error: ‘begin’ was not declared in this scope
begin = min(max(begin, 0), text.size());
^
src/TSTextField.cpp:65:2: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:87:5: note: ‘std::begin’
begin(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:66:2: error: ‘end’ was not declared in this scope
end = min(max(end, 0), text.size());
^
src/TSTextField.cpp:66:2: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:97:5: note: ‘std::end’
end(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp: In member function ‘virtual void TSTextField::onKey(rack::EventKey&)’:
src/TSTextField.cpp:81:7: error: ‘begin’ was not declared in this scope
if (begin < end) {
^
src/TSTextField.cpp:81:7: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:87:5: note: ‘std::begin’
begin(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:81:15: error: ‘end’ was not declared in this scope
if (begin < end) {
^
src/TSTextField.cpp:81:15: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:97:5: note: ‘std::end’
end(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:92:3: error: ‘end’ was not declared in this scope
end = begin;
^
src/TSTextField.cpp:92:3: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:97:5: note: ‘std::end’
end(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:92:9: error: ‘begin’ was not declared in this scope
end = begin;
^
src/TSTextField.cpp:92:9: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:87:5: note: ‘std::begin’
begin(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:181:3: error: ‘begin’ was not declared in this scope
begin = min(max(begin, 0), text.size());
^
src/TSTextField.cpp:181:3: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:87:5: note: ‘std::begin’
begin(_Tp (&__arr)[_Nm])
^
src/TSTextField.cpp:182:3: error: ‘end’ was not declared in this scope
end = min(max(end, 0), text.size());
^
src/TSTextField.cpp:182:3: note: suggested alternative:
In file included from /usr/include/c++/5.3.1/string:51:0,
from ../../include/util/common.hpp:10,
from ../../include/rack.hpp:4,
from src/TSTextField.hpp:4,
from src/TSTextField.cpp:1:
/usr/include/c++/5.3.1/bits/range_access.h:97:5: note: ‘std::end’
end(_Tp (&__arr)[_Nm])
^
../../compile.mk:59: recipe for target 'build/src/TSTextField.cpp.o' failed
make: *** [build/src/TSTextField.cpp.o] Error 1

Any suggestions for a fix ?

No G#4 in note mode.

Just built for v0.5.0 on MacOS. In note mode on voltSeq there seems to be no G#4.

Base pitch in voltSeq (note mode)

Hi, if I understand Rack's voltage standards correctly, could it be possible that the notes displayed in the buttons in the voltSeq sequencer, in note mode, are off by one volt? For example, when setting a button to the C4 note, the output is -1V instead of 0V. From the doc:
"If you need a default pitch for your oscillator with initial knob positions and 0V at the pitch input, use C4 (f0 = 261.626 Hz)."
https://vcvrack.com/manual/VoltageStandards.html
Not sure if my point is valid, but I get the impression all voltages output by the sequencer should be shifted up by 1V. Apologies if I misunderstood something. Thanks!

Feature Request cvOSCcv: Getting strings back, and vectors out

Hi,

I started using your awesome cvOSCcv module after I was pointed to it on in the VCV community. I'm using it to send data back and forth to some generative music Python scripts which I use to play around with ideas I find hard to do with plugins, especially stuff around scales and harmony. Everything works really well so far.

What would greatly improve the module for me (but maybe I'm exotic here) is a back-channel, where the module would receive a string message via OSC (which exists, afaik) and simply displays it as a (multi-line) label or on a little "screen". The simplest way would be a single dedicated "message channel". This would allow me to display some status data about the script I'm running, which has console output but no UI. Say I use CV to set a scale, I currently have no way of seeing which scale it is other than switching to the console. For me, such a label would be much more useful than the little scopes per channel. One label per output channel would also be cool, just to show a parameter value as interpreted by the script.

The second thing that would be cool (but less so than the back channel) would be the ability to send the value of several CV ins as a vector valued message.

Best, and thanks for this great module!
David

Can't save port addresses

Trying to edit default Out Port 7000, In Port 7001 to custom ones by changing the numbers and exiting out of the config window (as told in your guide). But it won't save new port names and IP Address as well. The only window that keeps changes is "namespace".

I tried different approaches but nothing seems to help. Please let me know if there is a fix for that or maybe I am doing something wrong

VCV Rack 1.1.16
cvOSCcv v1.0.2

trowaSoft v0.5.5.2 - voltSeq: early first step isn't played (or partially played) on RST

trowaSoft v0.5.5.2.
Windows 7 Pro SP1 x64 (also 10), VCV Rack v0.5.1

Hi Jason,

I report an issue (I've already discovered in previous v0.5.5.1) about voltSeq, lastest v0.5.5.2, VCV

In particular when voltSeq is stopped, then "RST", then "RUN", the early first step is not played (or played too quick, regardling next notes). On next loops however, the first steps (notes) are correctly played however (I mean: at same speed).

EDIT: the culprit seems to be the RESET (button or via RST input) when seq is running, I presume a "timer" doesn't restart at beginning.

Note: VCV Rack audio engine is set at 44100 Hz (like my Saffire Pro 14 ASIO interface).

Regards.

Dominique

oscCV signal issues

Hi
Great to see that there is at least some OSC presence in VCV, thanks ...

A few comments on first use....

  1. The visual feedback could be improved. It seems most modules use Green for a positive signal and Red for a negative one but oscCV seems to only use Red??

  2. The 'oscilloscope' display seems to have the signal inverted?? Positive values go down in graph and Negative go up??

Apart from that all has run well for me so far ....

Cheers
Macciza

Touch OSC can't edit sequence

Hi I have an issue with the new version (v 1.0.1), The plugins are talking to TouchOSC and vice versa. but I can't set a sequence with the grid, faders and buttons are working properly though.

I saved an older version of vcv wich has an older version of trowaSoft plugins, this version works with no issues.

I've noticed this issue creating an interface for a project on lemur, sniffing data with osculator, also I found your OSC implementation info very useful.

thank you for creating such great tools.

Proposal to conversion against Rack v1 !

Hi Jason, it's not an issue, but a proposal from me to take a look about Rack v1 port of your plugin.

Advise me if you're okay (I don't know if you're working on it, or not).

Regards,
Dominique Camus (Ohmer Modules & OhmerPrems)

Receive OSC vectors in cvOSCcv

Hello,

Most OSC gesture interface programs have an XY pad widget sending vectors of 2 data containing the x and y position for each finger touching the surface.

It would be nice if cvOSCcv could handle those messages, for instance by splitting the x and the y on two different CV outputs. This would mean adding a second column of CV outputs to the module. An alternative would be to upgrade the "Advanced" decoding panel and allow some tool to select either data [0] or data [1] within the message.

cvOSCcv unnecessarily sends bundle messages

It appears that cvOSCcv always sends its messages as bundles, regardless of whether it's sending one or more values. This is fine by OSC standards AFAICT but I'm working with a system that does not support bundles (sonic-pi-net/sonic-pi#2085) and that's making it impossible for me to send OSC data from VCV to it. Would it be possible to un-bundle messages when a single value is sent? I realize that this effectively means that I will only be able to use a single channel at a time, but it would be better than nothing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.