GithubHelp home page GithubHelp logo

squinkyvcv-main's Issues

The compatbility diagnostics from SFZ Player don't come out any more

The manual says that SFZ player will log diagnostics when it has problems loading an SFZ, but that doesn't work any more becuase it relied on SQINFO. Like here:

class SamplerErrorContext {
public:
    bool empty() const {
        return unrecognizedOpcodes.empty() && !sawMalformedInput;
    }
    void dump() const {
        //SQWARN("err dump nimp");
        if (!unrecognizedOpcodes.empty()) {
            //SQINFO("unimplemented opcodes:");
        }
        for (auto x : unrecognizedOpcodes) {
            //SQINFO("%s", x.c_str());
        }
    }
    std::set<std::string> unrecognizedOpcodes;
    bool sawMalformedInput = false;         // not fatal
};

Request for new Super Pulses module in the style of Saws

Requesting a "clone" of the Saws module, but with square waves instead of sawtooth waves. Same seven unison voices mixed over a spread of pulse widths with an input to modulate the pulse widths. Same stereo output as the new Saws. I can achieve something close with EW3, but it is messy.

PS: Also, polyphony for Saws and this new module. Discovered Saws and EW3 are not poly. :-(
image

SL: those are great suggestions. had not thought much about a poly ev3. What would it do? Would each of the channels have 3 VCOs - i.e. just like now but polyphonic?

For this example I was trying to develop a phaatt string chord and was using the EV3 to add some pulse waves to the saw waves and forgot that neither were poly. The picture that I included didn't show the octave spacing on the EV3. So maybe not quite the EV3 as it currently is, but some poly module that you could mix waves (a la Bogaudio XCO) but with multiple spreadable voices like Saws. Your Saws is lush because of the 16 voices, a new Pulses with 16 voices, or a multi-waveform module with an variable mix and variable spread. All poly, of course. You know, Christmas is coming. ;-)

VCV crashes on loading specific midi-file in SEQ++

Hello again ;-)

As mentioned in the forum, the attached midi-file crashes VCV when loading into SEQ++. It can be opened in Ableton. It is an exported file from an Ipad-App called DrumComputer, which exports pitch bends and other modulation-stuff when used in "Fill-Mode". If I export it without the Fill-Modulation the file can be loaded in SEQ++, so maybe it has something to do with that
default.zip
.

SFZ Player problem in v2

Ubuntu 18.04
GCC 7.5.0
Rack v2 042a9ce0

When I put the SFZ Player in a patch the clock bogs down, possibly due to a very large number of these messages:

[9.067 info ./dsp/utils/GateDelay.h:47 addGates] enter add gate
[9.067 info ./dsp/utils/GateDelay.h:52 addGates] after add, num=1 val=0
[9.067 info ./dsp/utils/GateDelay.h:82 getGates] in get gate, pulled=0
[9.067 info ./dsp/utils/GateDelay.h:88 getGates] in getGate int = 0
[9.067 info ./dsp/utils/GateDelay.h:57 commit] enter commit, here is buffer: 
[9.067 info ./dsp/utils/GateDelay.h:68 commit] gate commit pushed into ring, popped 0
[9.067 info ./dsp/utils/GateDelay.h:69 commit] Leaving commit

I'm running your latest commit for SquinkyVCV-main. Any suggestions ? Btw, I tested it with two different clocks. Removing the SFZ Player restored clock performance.

dp

[Win 10/Mac/Linux, Rack2 Pro v2.0.0] Randomizing EV3 crashes Rack

Empty Rack, add EV3. Use context menu or Ctrl+R to randomize 3+ times, crash occurs.
Replicated by some users here: https://community.vcvrack.com/t/porting-squinky-labs-to-v2/14210/92

Thread 1 received signal SIGSEGV, Segmentation fault.
WaveformSwitch::step (this=0x1abe69e3800) at src/ctrl/WaveformSwitch.h:107
107             cell->setState(true);
(gdb) bt
#0  WaveformSwitch::step (this=0x1abe69e3800) at src/ctrl/WaveformSwitch.h:107
#1  0x00007fff359eb8c3 in libRack!_ZN4rack6widget6Widget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#2  0x00007fff26dd21df in EV3Widget::step (this=0x1abdb4f7a70) at src/EV3Module.cpp:333
#3  0x00007fff359eb8c3 in libRack!_ZN4rack6widget6Widget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#4  0x00007fff359eb8c3 in libRack!_ZN4rack6widget6Widget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#5  0x00007fff359eb8c3 in libRack!_ZN4rack6widget6Widget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#6  0x00007fff359eb8c3 in libRack!_ZN4rack6widget6Widget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#7  0x00007fff359eb8c3 in libRack!_ZN4rack6widget6Widget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#8  0x00007fff359e3c13 in libRack!_ZN4rack2ui12ScrollWidget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#9  0x00007fff359bdd31 in libRack!_ZN4rack3app16RackScrollWidget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#10 0x00007fff359eb8c3 in libRack!_ZN4rack6widget6Widget4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#11 0x00007fff359ee2bc in libRack!_ZN4rack6window6Window4stepEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#12 0x00007fff359eea30 in libRack!_ZN4rack6window6Window3runEv () from /c/Program Files/VCV/Rack2 Pro/libRack.dll
#13 0x00007ff71ac7119f in ?? ()
#14 0x00007ff71ac61a63 in ?? ()
#15 0x00007ff71ac613d4 in ?? ()
#16 0x00007ff71ac614e6 in ?? ()
#17 0x00007fff68cc7034 in KERNEL32!BaseThreadInitThunk () from /c/WINDOWS/System32/KERNEL32.DLL
#18 0x00007fff6a822651 in ntdll!RtlUserThreadStart () from /c/WINDOWS/SYSTEM32/ntdll.dll
#19 0x0000000000000000 in ?? ()

Linux trace

Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f732870a859 in __GI_abort () at abort.c:79
#2  0x0000000000403dc5 in  ()
#3  0x00007f732872b210 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007f7324452374 in WaveformSwitch::step() () at /home/cschol/.Rack2/plugins/squinkylabs-plug1/plugin.so
#5  0x00007f7328e2bba6 in rack::widget::Widget::step() () at ./libRack.so
#6  0x00007f7324452279 in EV3Widget::step() () at /home/cschol/.Rack2/plugins/squinkylabs-plug1/plugin.so
#7  0x00007f7328e2bba6 in rack::widget::Widget::step() () at ./libRack.so
#8  0x00007f7328e2bba6 in rack::widget::Widget::step() () at ./libRack.so
#9  0x00007f7328e2bba6 in rack::widget::Widget::step() () at ./libRack.so
#10 0x00007f7328e2bba6 in rack::widget::Widget::step() () at ./libRack.so
#11 0x00007f7328e2bba6 in rack::widget::Widget::step() () at ./libRack.so
#12 0x00007f7328da340f in rack::ui::ScrollWidget::step() () at ./libRack.so
#13 0x00007f7328e2440e in rack::app::RackScrollWidget::step() () at ./libRack.so
#14 0x00007f7328e2bba6 in rack::widget::Widget::step() () at ./libRack.so
#15 0x00007f7328dcb087 in rack::window::Window::step() () at ./libRack.so
#16 0x00007f7328dcb748 in rack::window::Window::run() () at ./libRack.so
#17 0x000000000040386d in main ()

permission to submit to library

Looks like they want an email giving you permission to submit these modules to the library. I assume you want to do that, so I figure I'll send a mail giving your gmail and a link to the repo?

Seq++ sequence overview/navigation feature request

I've been using the Seq++ module to make cover versions of a number of tracks, but have found that I feel quite restricted and often try to make the sequences very short so that I don't have to navigate further than one or two pages. I was thinking that it would be great to have a small overview of the track pages stretched along the top (or bottom) of the sequence which you could click on to nagivate to any page instantly.

I've added a very quick mockup so that it's obvious what I'm talking about:
image

This shows a navigation bar for a sequence that is 3 pages in length, with the first page selected.

SL: What range of time would be shown in the overview? Do you think this solution would be better than have a horizontal zoom?

I would think the entire sequence could be shown in the overview. If the sequence has a large number of pages, and the overview segments become too small, then perhaps there could be some left/right arrows at the ends to scroll the overview?

As for horizontal zoom, I'm not sure if you would want the sequence elements to go any smaller than the current zoom (it can already be a little difficult to select one of the 3 difference modes - shift, tranpose, or stretch - when not using the keyboard shortcuts).

SL: A lot of people have asked for a horizontal zoom. As far as the notes getting too small, I'd have to say that you are in for a world of pain if you plan on doing all your editing with the mouse. It's really not designed for that.

Still, it's a good idea. tx.

Haha, yes - I was fortunate enough to check out the manual for Seq++ early, and have mostly avoided the mouse.

Thanks :) And thanks for this great module.

seq++ not saving/duplicating note seq in v2.0.2

howdy!

the seq++ is not saving the note seq in v2.0.2

duplicating the module and saving/loading a preset is also not storing the note seq

thanks for pickup the great stuff squinky labs moved on from. it's greatly appreachated!

cheers

SAWS: extremely hot output

Hi, i notice that the output on SAWS is extremely loud, don't remember if this was also in the 1.x version ?

edit: i just noticed this is only the case when the merged output of JW Modules NoteSeqFu is connected.

hmmm, puzzling

Knobs that are supposed to click don't

I think this is a known VCV bug? I noticed it on Saws where the octave and semitone knobs are supposed to "click" to discrete values, but they don't.

Poly shaper

Hi! Since Bruce has abandoned squinky labs I have one old request regarding adding polyphony into Shaper module. Cheers!

Add Port and Light labels

Add names to your ports and lights which appear in tooltips.

For example, in your Module constructor:

configInput(PITCH_INPUT, "1V/oct pitch");
configOutput(SIN_OUTPUT, "Sine");
configLight(PHASE_LIGHT, "Phase");

Feature Request: Unlock Ratios on Kitchen Sink

Hi there,

thanks for porting this great modules over to V2.

I had two open feature requests regarding the KitchenSink over on Squinkys github. Maybe you find the time to have a look at them.

The KitchenSink is my favorite FM-Operator when it comes to CPU-Usage and has some nice features over the other modules out there. But the controls for pitch are not very FM-conform, which makes it hard to dial in a 0.75-Ratio for example.
I would suggest to combine octave and ratio into one button with a non-fixed ratio range from 0 - 16. In the moment it is 1-16 with fixed integer-values as ratios. Maybe with an option in the menu to set the "stepping" [off, 0.25, 1].
In addition it would be really awesome when the ratio had an independent CV-Input.

Thanks,

  • mo

tooltips in 4X4 are wir

image

I already implement my own port tooltips on 4X4. Maybe that's why these are messed up? I don't know. When I suggested port tooltips to VCV a couple of years ago I was told it was a bad idea. oh well.

another Player error

Same situation as before, clock is greatly slowed, possibly due to a long stream of these messages:

[206.057 info ./dsp/utils/GateDelay.h:47 addGates] enter add gate
[206.057 info ./dsp/utils/GateDelay.h:52 addGates] after add, num=1 val=1
[206.057 info dsp/samp/CubicInterpolator.h:56 interpolate] cubic int : int ofset=156967.531250
[206.057 info dsp/samp/CubicInterpolator.h:56 interpolate] cubic int : int ofset=170809.093750

Some more reporting needs turned off ?

dp

polyphonic LFM

[copied from FB]

Hey Squinky Labs, since you are an active member of our loving, caring community now, I would like to propose an idea for what I consider is my absolute favorite module of all time : the LFN.
LFN is probably my favorite module of all time.
I could honestly say my favorite module of all time is LFN.
So when I propose these ideas, you know they come from a place of love deep inside my heart.
1- Polyphony : a right-click menu selection that allows to get up to 16 outs from the same instance. Similarly, the inputs for the EQ bands could be modulated polyphonically.
2- S&H trig/gate input : self explanatory (unless your name is Damien Leferve)
3- Some sort of shift register component : it would be like those phased LFOs, except it's a phased LFN. Since noise is supposed to be random, a shift register with a clock input seems the way to go.
4- Range : the EQ knobs allow some range control, but it would be cool to have something more precise. Let's say I want it PRECISELY between -3 and +4 volts. Some wavefolding might be needed, I don't know.
5- Reset button : self explanatory (unless your name is Andy Clotta)
I honestly believe, with those additions, LFN will become the best random voltage source history has ever seen. I sometimes use Caudal (or some of that wiqid stuff) when I need multiple, somehow related random sources, but I always preferred LFN, so with those additions, LFN will become the best random voltage source history has ever seen.

up down value changers are hard to use

There are many types up "value selectors" in VCV. The ones in Pigeon Plink are difficult to use because you can't see what the possible values are, and the buttons for up and down are very small and non-intuitive. Hopefull they still can be controlled with the midi mapper.

Contrary to claim, Vult does not use the value selectors, they usually use a slide switch (as so some Squinky labs modules).
image

Build error log

Hi Robert,

Here is my build error log as discussed in case it is useful. (Marc tells me my build system is very pedantic haha so often throws up things that his doesn't)
Squinky build log

FeatureRequest: Make Booty Shifter stereo

Hi, it would be quite cool if Booty Shifter was stereo, I've had to use them in pairs in a few of my videos, and I think it would be more popular with this enhancement. Here's a quick look, it can definitely be improved:

image

case sensitivity errors

Linux Ubuntu 18.04
GCC 7.5.0
VCV Rack CE v2.git.b04e4117

src/ColoredNoiseModule.cpp:11:10: fatal error: ctrl/SQWidgets.h: No such file or directory
 #include "ctrl/SQWidgets.h"

and

src/BootyModule.cpp:6:10: fatal error: ctrl/SQWidgets.h: No such file or directory
 #include "ctrl/SQWidgets.h"

Change to ctrl/SqWidgets.h to remove error on Linux.

Add bypass routes

If your module is bypassed by the user (via the context menu or key command), you can route certain inputs directly to outputs, bypassing all processing. This would make sense for a filter or reverb, or even a clock divider or quantizer, but it would not make sense for a VCO, since it generates a signal rather than processes one.

For example, in your Module constructor:

configBypass(LEFT_INPUT, LEFT_OUTPUT);
configBypass(RIGHT_INPUT, RIGHT_OUTPUT);

CompII -> floods log.txt with large amounts of sampled input values (trace type data)

CompII for v2 beta causes log.txt for Rack2 to grow at an alarming rate eching all the channel input values of all 3 compIIs connected to one MindMeld 16 channel Mixer's EQMaster inserts.

Remove the compIIs and log file goes back to normal

I just deleted a 146MB log file, all filled with useless tracing type data. That makes CompII unworkable until this is fixed. I attach the patch file here as well that illustrates this issue (remove .zip extention, Community still does not accept .vcv whatever files directly.

v2_basic_template_06_4Row_MIDI_Mapped.vcv.zip

Feature request: EOC output on seq++

The title is self-explanatory, but just for further background: EOC output on seq++ would make it a lot easier to synchronize it with other modules.

crash loading patches for booty shifter

It looks like the json is (now) deserialized before the widget is created. Looks like bad code on my part. There is a widget called PopupMenuParamWidget that attempts to do this better, don't know if that would help.

I inserted a booty shifter.
turned the knobs
quit Rack
ran rack again
boom!

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007fffc55e3d05 in BootyModule::dataFromJson (this=0x19cfcf326b0,
    rootJ=<optimized out>) at src/BootyModule.cpp:102
102                     WARN("existing text = %s", rangeChoice->text.c_str());
(gdb) bt
#0  0x00007fffc55e3d05 in BootyModule::dataFromJson (this=0x19cfcf326b0,
    rootJ=<optimized out>) at src/BootyModule.cpp:102
#1  0x00007ff80a967f9b in rack::engine::Engine::fromJson (this=0x19cfb05de00,
    rootJ=rootJ@entry=0x19cfcf1b070) at src/engine/Engine.cpp:1266
#2  0x00007ff80a92926c in rack::patch::Manager::fromJson (
    this=this@entry=0x19cfcded400, rootJ=rootJ@entry=0x19cfcf1b070)
    at src/patch.cpp:457
#3  0x00007ff80a9294a1 in rack::patch::Manager::loadAutosave (
    this=0x19cfcded400) at src/patch.cpp:319
    ```

current code doesn't build

Just tried to build these and am getting this error:

error: #error "Plugins must only include rack.hpp. Including other Rack headers is unsupported."

Form Solo and Mute buttons have inconsistent interaction with MIDI mapping tools

One reason I like the Squinky Labs Form mixer is that it happens to match the channel control layout of my Novation LaunchControl XL very nicely, and I can map it with MIDI-CAT or MIDI-MAP -- mostly.

Manual Mapping works for Mute but not Solo: (click the slot on MIDI-CAT, click the button on Form, click the physical button on the XL), MIDI-CAT recognizes the Mute button as mappable (puts a yellow square on the button), but not the Solo button.

"Assisted Mapping" works for both Mute and Solo: Using the Map Module (left) or Map Module (select) context menus on MIDI-CAT, which presumably involves MIDI-CAT querying the Squinky Labs mixer about its interface elements, the Mute buttons get the yellow square, but the Solo buttons do not. However, like the Mute buttons, the Solo buttons get slots assigned in MIDI-CAT, so they can actually be mapped in this case.

Unfortunately, I can't seem to get "assisted mapping" to apply to both ExFor and Form simultaneously -- but I'm a novice at this.

Interestingly, there are other "invisible" parameters, for Pre-Faders, MSX0-3 and VCTM that can apparently be mapped as well, though I'm not sure what the latter two do. The assisted mapping method used by MIDI-CAT seems to be picking up the Solo buttons this same way.

The Solo buttons are perhaps problematic for MIDI mapping, because in their default mode, they are mutually exclusive "radio" buttons, but I think that could still work. The XL doesn't reflect the current toggled state with its LED, anyway.

The buttons on the Launch Control, by default, are midi "notes", but MIDI-CAT, has an option to treat them as toggles.

The VCV Fundamentals MIDI-MAP module also could not "see" the Solo buttons on the Squinky Labs mixers.

I'm on Windows 10, Rack v1.1.6 Squinky Labs v1.0.22, MIDI-CAT v1.10.0.

hookup clock command in sequencers crashes

put a Seq++ or 4X4 into a patch
put in an Impromptu Clocked or CKD
pick the "hookup clock" item from the context menu of a sequencer.
--> segmentation fault.

This is very not surprising - it's unsupported VCV stuff.

Feature Request: Envelope on the Kitchen Sink

So, here is my second idea for the kitchen sink.

Replacing the envelope of the kitchen sink with a triggerable DAHD(S)RE-Envelope.

Most of the time in VCV there will be some kind of sequencer triggering the envelopes of kitchen sink with a fixed gate-length, unless you are using some of the more advanced sequencers which have the option to define a gate-length or playing it via a keyboard.
In that context I don't think a normal ADSR-Envelope will be used to its full potential.
I studied the implementation of envelopes in a few hardware and software fm synthesizers and what I found was quiet interesting. The keyboard-style FM-Synth Korg OPSIX for example uses normal ADSR-Envelopes, whereas the sequencer-style synths like the elektron digitone or the app drambo in iOS (powerful modular sequencer and synth) uses some kind of triggerable Envelopes with the option of a sustain-phase.
So my idea for the optimal Envelope for an FM-Operator would be an Delay(time), Attack(time), Hold(time), Decay(Time), optional Sustain(level), Release(time), End(level) - Envelope. I know that is a very sophisticated approach to an envelope and most likely enough stuff for a single module, but any triggerable subset of the listed parameters would be also great to have. For example an Attack(time)-Decay(time)-End(level) envelope with an optional sustain/hold stage. As long as it runs through a full cycle when triggered. The Bogaudio DADSR(H) comes close but misses out on the end-level, which is imho important for an FM-Operator.

Just my 2 cents of input, thanks for reading it,

Kind regards,

mo

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.