Coder Social home page Coder Social logo

jw-modules's Introduction

Hi there 👋

jw-modules's People

Contributors

chaircrusher avatar falktx avatar federicobond avatar frank-buss avatar jeremywen avatar kant avatar modlfo avatar steverussell33 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jw-modules's Issues

JW-Modules/plugin.dll: code 127

Hi JW,

In Win 10 , rack v 0.6c when I unzip your plugins to document\rack\plugins folder and start vcvrack I get error "could not load plugin \path to plugin" and in the log.txt the following is observed : Failed to load library C:\Users\myusername\Documents/Rack/plugins/JW-Modules/plugin.dll: code 127.
Any idea how to solve this please ?
Regards

bob

Bug NoteSeq: Chromatic scale

V/Oct does not output C on the 2nd and 3rd octaves on NoteSeq when in Chromatic scale. It skips C and goes from B to B then C#.

c missing from 2nd 3rd

Feature request: Piano roll indicator NoteSeq

How would you feel about adding a darker colour to the grid on NoteSeq to indicate black keys or maybe changing the colour of the blue marker box for black keys? As is it's a little hard to figure where you are on the grid. Perhaps a small piano roll at the side.

PianoRoll

NoteSeq locks Up

I am have major issues with the NoteSeq module. Every time I add it to a patch, less than 3 minutes later it causes a lock up on my laptop. I then have to reboot my system every time.

Quantizer algorithm question

hi JW!

I've been reading your code, you've got a lot of "how did he do that" stuff. Very educational!

While I was trying to be sure I can't use quantization, quite, in some of my creations, I took a close look at your quantization algorithm. The intervals it produces are a bit odd. By instrumentation as well as isolating the heart of your technique, I find that in an octave, the notes output enjoy different size slices of the 1 volt. For a C major scale, for example, the following widths are seen:

0.09 | C
0.17 | D
0.12 | E
0.12 | F
0.17 | G
0.17 | A
0.15 | B

I changed the code in quantizeutils.cpp like:

	for (int i = 1; i < notesInScale; i++) {
		scaleNoteInVolts = curScaleArr[i] / 12.0;
		if (scaleNoteInVolts > voltMinusOct) {
			closestVal =  curScaleArr[i - 1] / 12.0;
			break;
		}
		closestVal =  curScaleArr[i] / 12.0;
	}

which produces these widths:

0.17 | C
0.17 | D
0.08 | E
0.17 | F
0.16 | G
0.17 | A
0.07 | B

One could also imagine just cutting the one volt range into notesInScale number of same-sized "buckets". Here 0.143 volts each.

My sense is that there is no right or wrong, but I write to ask if this behaviour is what you intended and is it a synthesizer/quantizer general method, given that I did see it implemented elsewhere as you did it, with the same intervals/switching points.

My stuff just produces note numbers, it breaks the standard volt/octave model but I do all of that before output. It was in looking into providing a selection of scales that got me onto thinking I could just rely on someone's external quantizer. I don't think that will work, so I will have to bring the whole scale thing into my module.

a7

About NoteSeq Module: some suggestions

Hello! I was playing with your module and since I am a HUGE fan of Cellular Automata I have some suggestions you might (or might not) taking in consideration. I am not a programmer/coder so I fear it would take ages for me to implement, that's why I have opened this issue:

  1. the capability to load a state from a .txt file even if I have not tested (so far) if the state of the CA can be loaded or saved in the "save preset" option. It could be nice to "draw" the cells in the .txt file with (for istance) asterisks and the blank spaces with dots (.................*......)
  2. a lot of CA use colors to indicate the age of a cell. This could lead to interesting uses of colors, such as different pitches, or other discrete parameters.
  3. why not integrate other CAs like Langton's Ant? ;-)
  4. the world should be a torus.... Or at least there should be a swith or something to choose between a confined world or a toroid world. In a toroid world elements like gliders and generators can live and breed indefinitely allowing to generate interesting sounds. In a confined world they tend to stable configurations like flipflops or 2x2 blocks OR tend to death and both these options create pretty dull sound outputs.

BTW, that module is AWEEEESOMEEEE!!!!!!! <3

Frame sharing / spout 2

Hello! Feature requests OK here? I'd like video frame sharing support, aka spout 2 for fullScope so that I can use it with Cathodemer. Any possibility of that happening? :)

Feature Suggestion: Patterns: Divider output triggers on first clock.

As discussed on the VCVRack forum.

Add an option -- context menu, or even better, per-divisor toggle -- to have the Nth divisor put out a trigger on the first clock pulse after reset.

In other words: consider the /4 output. It will generate this stream of pulses
. . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . |
With 'start from 1st pulse mode:'
| . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . . | . . .

Wav head Crash

Deleting wav head is causing a crash in Rack. Latest version, also tried it with a previous version.

multi track seq

hi there. I was wondering if it is possible to get a single multitrack sequencer each out is a different sequence. But all of them are linked to global root and scale mode. Adding randomization. that would be cool I think.

Build failure on Windows platform

[JW-Modules] Building plugin on platform win...In file included from lib/oscpack/osc/OscOutboundPacketStream.h:43:0,                                                                                                                                                                                                  
                 from lib/oscpack/osc/OscOutboundPacketStream.cpp:37:                                                                                                                                                                                                                                                 
lib/oscpack/osc/OscException.h:57:25: warning: ‘virtual const char* osc::Exception::what() const’ can be marked override [-Wsuggest-override]                                                                                                                                                                         
     virtual const char* what() const throw() { return what_; }
                         ^~~~                                                                                                                                                                                                                                                                                         
In file included from lib/oscpack/osc/OscReceivedElements.h:45:0,
                 from lib/oscpack/osc/OscReceivedElements.cpp:37:                                                                                                                                                                                                                                                     
lib/oscpack/osc/OscException.h:57:25: warning: ‘virtual const char* osc::Exception::what() const’ can be marked override [-Wsuggest-override]
     virtual const char* what() const throw() { return what_; }                                                                                                                                                                                                                                                       
                         ^~~~
lib/oscpack/osc/OscReceivedElements.cpp: In function ‘const char* osc::FindStr4End(const char*, const char*)’:                                                                                                                                                                                                        
lib/oscpack/osc/OscReceivedElements.cpp:67:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if( p >= end )                                                                                                                                                                                                                                                                                                   
     ^~
lib/oscpack/osc/OscReceivedElements.cpp:70:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’                                                                                                                                                                      
  if( p[0] == '\0' )    // special case for SuperCollider integer address pattern
  ^~                                                                                                                                                                                                                                                                                                                  
In file included from lib/oscpack/osc/OscReceivedElements.h:45:0,
                 from lib/oscpack/osc/OscPrintReceivedElements.h:42,                                                                                                                                                                                                                                                  
                 from lib/oscpack/osc/OscPrintReceivedElements.cpp:37:
lib/oscpack/osc/OscException.h:57:25: warning: ‘virtual const char* osc::Exception::what() const’ can be marked override [-Wsuggest-override]                                                                                                                                                                         
     virtual const char* what() const throw() { return what_; }
                         ^~~~                                                                                                                                                                                                                                                                                         
lib/oscpack/ip/posix/UdpSocket.cpp:43:10: fatal error: netdb.h: No such file or directory
 #include <netdb.h>                                                                                                                                                                                                                                                                                                   
          ^~~~~~~~~
compilation terminated.                                                                                                                                                                                                                                                                                               
make: *** [build/lib/oscpack/ip/posix/UdpSocket.cpp.o] Error 1

Fullscope no inputs

My Fullscope only has five knobs on the bottom right, to the left there are no inputs at all :(

fullscope no inputs

Bouncing Balls Module

Is your development of the Bouncing Balls Module your take on SOU - Source Of Uncertainty or something else?

Polyphony in NoteSeq

I can't tell if I'm being dumb or NoteSeq is not working right. My expectation was that when I had three notes stacked in the grid that it would send three channels of notes out the poly v/oct jack. As it is it seems to send 16 channels of notes with most of them being set to zero. This means that if I send that into Bleak (for instance) it will produce 16 channels of notes rather than the 3 I want. Am I missing something? I know there's an "include inactive" switch but that doesn't seem to do very much.

(win 7)

make in arch linux failed gsamplerate problem.

make
g++ -fPIC -I../../include -I../../dep/include -MMD -g -O3 -march=nocona -ffast-math -fno-finite-math-only -Wall -Wextra -Wno-unused-parameter -DARCH_LIN -Wsuggest-override -std=c++11 -c -o build/src/BouncyBall.cpp.o src/BouncyBall.cpp
In file included from src/BouncyBall.cpp:2:0:
src/JWModules.hpp:27:7: warning: ‘virtual void FullScopeWidget::step()’ can be marked override [-Wsuggest-override]
void step();
^~~~
src/JWModules.hpp:28:10: warning: ‘virtual json_t* FullScopeWidget::toJson()’ can be marked override [-Wsuggest-override]
json_t toJson();
^~~~~~
src/JWModules.hpp:29:7: warning: ‘virtual void FullScopeWidget::fromJson(json_t
)’ can be marked override [-Wsuggest-override]
void fromJson(json_t rootJ);
^~~~~~~~
src/JWModules.hpp:40:8: warning: ‘virtual rack::Menu
GridSeqWidget::createContextMenu()’ can be marked override [-Wsuggest-override]
Menu createContextMenu();
^~~~~~~~~~~~~~~~~
src/JWModules.hpp:94:7: error: ‘void SmallWhiteKnob::onChange()’ marked ‘override’, but does not override
void onChange() override {
^~~~~~~~
src/JWModules.hpp: In member function ‘void SmallWhiteKnob::onChange()’:
src/JWModules.hpp:95:23: error: no matching function for call to ‘SmallWhiteKnob::onChange()’
RoundKnob::onChange();
^
In file included from ../../include/gui.hpp:2:0,
from ../../include/rack.hpp:8,
from src/JWModules.hpp:1,
from src/BouncyBall.cpp:2:
../../include/app.hpp:219:7: note: candidate: virtual void rack::SVGKnob::onChange(rack::EventChange&)
void onChange(EventChange &e) override;
^~~~~~~~
../../include/app.hpp:219:7: note: candidate expects 1 argument, 0 provided
In file included from src/BouncyBall.cpp:2:0:
src/JWModules.hpp: At global scope:
src/JWModules.hpp:121:43: error: expected class-name before ‘{’ token
struct MyBlueValueLight : ColorValueLight {
^
src/JWModules.hpp: In constructor ‘MyBlueValueLight::MyBlueValueLight()’:
src/JWModules.hpp:123:3: error: ‘baseColor’ was not declared in this scope
baseColor = nvgRGB(25, 150, 252);
^~~~~~~~~
src/JWModules.hpp:123:3: note: suggested alternative: ‘bndTextColor’
baseColor = nvgRGB(25, 150, 252);
^~~~~~~~~
bndTextColor
src/BouncyBall.cpp: At global scope:
src/BouncyBall.cpp:31:7: warning: ‘virtual void BouncyBall::step()’ can be marked override [-Wsuggest-override]
void step();
^~~~
src/BouncyBall.cpp:32:7: error: virtual function ‘virtual void BouncyBall::initialize()’
void initialize(){
^~~~~~~~~~
In file included from ../../include/rack.hpp:7:0,
from src/JWModules.hpp:1,
from src/BouncyBall.cpp:2:
../../include/engine.hpp:70:15: error: overriding final function ‘virtual void rack::Module::initialize()’
virtual void initialize() final {}
^~~~~~~~~~
src/BouncyBall.cpp:32:7: warning: ‘virtual void BouncyBall::initialize()’ can be marked override [-Wsuggest-override]
void initialize(){
^~~~~~~~~~
src/BouncyBall.cpp:36:10: warning: ‘virtual json_t
BouncyBall::toJson()’ can be marked override [-Wsuggest-override]
json_t toJson() {
^~~~~~
src/BouncyBall.cpp:41:7: warning: ‘virtual void BouncyBall::fromJson(json_t
)’ can be marked override [-Wsuggest-override]
void fromJson(json_t rootJ) {
^~~~~~~~
src/BouncyBall.cpp: In member function ‘virtual void BouncyBall::step()’:
src/BouncyBall.cpp:62:39: error: ‘gSampleRate’ was not declared in this scope
bool pulse = gatePulse.process(1.0 / gSampleRate);
^~~~~~~~~~~
src/BouncyBall.cpp:62:39: note: suggested alternative: ‘glSampleMaski’
bool pulse = gatePulse.process(1.0 / gSampleRate);
^~~~~~~~~~~
glSampleMaski
src/BouncyBall.cpp: At global scope:
src/BouncyBall.cpp:89:7: warning: ‘virtual void BouncyBallDisplay::draw(NVGcontext
)’ can be marked override [-Wsuggest-override]
void draw(NVGcontext *vg) {
^~~~
make: *** [../../compile.mk:54: build/src/BouncyBall.cpp.o] Error 1

NoteSeq does memory allocation and leaks memory on each step

NoteSeq is performing memory allocations with new and overwriting the cells variable on each step of life, rotate, flip and shift. This has two consequences:

  • Performing memory allocation is inherently costly, so it introduces more chances of audio tearing.
  • Old memory from the previous cells value is not reclaimed so it leaks over time, ultimately consuming all available memory.

A potential solution to this is to continuously flip between two preallocated cells arrays.

Fix versioning to be accepted into the Rack community repository

Rack v0.5.1 will include a plugin manager, and plugins need to follow the versioning guidelines in order to be accepted. You can use this example plugin Makefile and Tutorial.cpp file as a reference for making sure the version is the same in the C++, Makefile, and JSON manifest.

  • Your plugin has no version defined in a C++ file. You must set plugin->version using the Tutorial.cpp file as a reference.

Once you've fixed this, send a PR to the Rack community repository and remove the "disabled" property in the JSON manifest file if present.

Inclusion of arch.mk in Makefile

It is not necessary to include arch.mk in Makefile. Also, the relative include does not work since I am overriding RACK_DIR to point to the SDK during build. I am not building out of the tree.

diff --git a/Makefile b/Makefile
index 3345dd9..99ad5b3 100644
--- a/Makefile
+++ b/Makefile
@@ -15,8 +15,6 @@ SOURCES = \
        $(wildcard lib/oscpack/osc/*.cpp) \
        $(wildcard src/*.cpp) \
 
-include ../../arch.mk
-
 ifeq ($(ARCH), win)
        SOURCES += $(wildcard lib/oscpack/ip/win32/*.cpp) 
        LDFLAGS += -lws2_32 -lwinmm

V1.0 NoteSeq 'Speed' Knob Is Broken

If you try and turn the 'Speed' knob -- i.e. what controls the generation time in the Game of Life mode, it goes fully counterclockwise and won't move.

WORKAROUND: You can still set values if you right click on the knob and type in a value.

8face restoring noteseq patterns

I'm reporting this both to you and to stoermelder, as I have no way of knowing where the problem originates.
8vert_noteseq_bug.zip
When 8face recalls the data in NoteSeq, certain of the recalled notes are displayed correctly, but they don't reach the playback mechanism. Re-editing and re-storing the notes will start to correct the problem, if new notes are entered, but the fix is quirky, as this video illustrates.

The missing notes seem consistently to be in the later part of the pattern. If you need more info, I'm at [email protected].

Bouncy Ball

Hello Jeremy,
First, "bravo" and thanks for your great modules.
I am in touch with "phdsg" who asks me to think about a module based on physics.
Since I made a module ChUTE which is a trigger based on a "bouncing ball" movement he thinks, and it makes sense, that I could do something like that carambolage
I have seen in your repository that you launched BouncyBall.cpp.
Is it something that you will push in that direction ?
Best,

Any chance of a trigger input for the randomize button for the xypad?

I guess the topic says it all. I'd like to be able to use a trigger input to randomize the shape of the pattern on the xypad instead of clicking the button. Any chance of this being implemented?

I would also love a trigger input which causes the the pattern to play once, in addition to the current gate input. :)

NoteSeq Crashes with V1.03

I can consistently get NoteSeq v1.03 to crash VCV Rack 1.1.1 by:

1, Load NoteSeq into a rack (doesn't even need to be connected to anything)
2. Draw a few random notes
3. Engage the Life button
4. Increase the speed knob

Result: within a second or two of playing with the speed knob, VCV Rack will crash to desktop.

Using Windows 10 x64, Windows MIDI, RME Fireface via ASIO in case any of that matters.

v1: Crash when selecting blank panels from module browser

Rack v1.0.0 crashes when selecting any of the 3 blank modules ("JW Head") in the module browser.

Stack trace:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button> (e=..., f=&virtual table offset 72, this=0x56529fb188d0) at include/widget/Widget.hpp:122
122                             if (!e.isPropagating())
[Current thread is 1 (Thread 0x7fa8cd649180 (LWP 22220))]
(gdb) bt
#0  0x000056529ca6bf77 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529fb188d0)
    at include/widget/Widget.hpp:122
#1  0x000056529ca6bf77 in rack::widget::Widget::onButton(rack::event::Button const&) (this=0x56529fb188d0, e=...) at include/widget/Widget.hpp:143
#2  0x000056529cabaddd in rack::engine::Module::toJson() (this=0x56529fb188d0) at src/engine/Module.cpp:58
#3  0x000056529caa2174 in rack::app::ModuleWidget::toJson() (this=0x56529edd72e0) at src/app/ModuleWidget.cpp:498
#4  0x000056529ca34e05 in rack::history::ModuleAdd::setModule(rack::app::ModuleWidget*) (this=this@entry=0x56529ed8d490, mw=mw@entry=0x56529edd72e0) at src/history.cpp:51
#5  0x000056529ca9d052 in rack::app::ModelBox::onButton(rack::event::Button const&) (this=0x56529ed4b470, e=...) at src/app/ModuleBrowser.cpp:585
#6  0x000056529ca6bf64 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529ec009a0)
    at include/widget/Widget.hpp:135
#7  0x000056529ca6bf64 in rack::widget::Widget::onButton(rack::event::Button const&) (this=0x56529ec009a0, e=...) at include/widget/Widget.hpp:143
#8  0x000056529ca6bf64 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529ebfdcb0)
    at include/widget/Widget.hpp:135
#9  0x000056529ca6bf64 in rack::widget::Widget::onButton(rack::event::Button const&) (this=0x56529ebfdcb0, e=...) at include/widget/Widget.hpp:143
#10 0x000056529ca6bf64 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529ebfdbd0)
    at include/widget/Widget.hpp:135
#11 0x000056529ca6bf64 in rack::widget::Widget::onButton(rack::event::Button const&) (this=0x56529ebfdbd0, e=...) at include/widget/Widget.hpp:143
#12 0x000056529ca73914 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529ec00870)
    at include/widget/Widget.hpp:135
#13 0x000056529ca73914 in rack::widget::Widget::onButton(rack::event::Button const&) (e=..., this=0x56529ec00870) at include/widget/Widget.hpp:143
#14 0x000056529ca73914 in rack::ui::ScrollWidget::onButton(rack::event::Button const&) (this=0x56529ec00870, e=...) at src/ui/ScrollWidget.cpp:67
#15 0x000056529ca6f23e in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529ec026e0)
    at include/widget/Widget.hpp:135
#16 0x000056529ca6f23e in rack::widget::Widget::onButton(rack::event::Button const&) (e=..., this=0x56529ec026e0) at include/widget/Widget.hpp:143
#17 0x000056529ca6f23e in rack::widget::OpaqueWidget::onButton(rack::event::Button const&) (this=0x56529ec026e0, e=...) at include/widget/OpaqueWidget.hpp:21
#18 0x000056529ca99a52 in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529ebfd770)
    at include/widget/Widget.hpp:135
#19 0x000056529ca99a52 in rack::widget::Widget::onButton(rack::event::Button const&) (e=..., this=0x56529ebfd770) at include/widget/Widget.hpp:143
#20 0x000056529ca99a52 in rack::widget::OpaqueWidget::onButton(rack::event::Button const&) (e=..., this=0x56529ebfd770) at include/widget/OpaqueWidget.hpp:21
#21 0x000056529ca99a52 in rack::app::BrowserOverlay::onButton(rack::event::Button const&) (this=0x56529ebfd770, e=...) at src/app/ModuleBrowser.cpp:110
#22 0x000056529ca6f23e in rack::widget::Widget::recursePositionEvent<void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button>(void (rack::widget::Widget::*)(rack::event::Button const&), rack::event::Button const&) (e=..., f=&virtual table offset 72, this=0x56529e7e7de0)
    at include/widget/Widget.hpp:135
#23 0x000056529ca6f23e in rack::widget::Widget::onButton(rack::event::Button const&) (e=..., this=0x56529e7e7de0) at include/widget/Widget.hpp:143
#24 0x000056529ca6f23e in rack::widget::OpaqueWidget::onButton(rack::event::Button const&) (this=0x56529e7e7de0, e=...) at include/widget/OpaqueWidget.hpp:21
#25 0x000056529ca6ab9b in rack::event::State::handleButton(rack::math::Vec, int, int, int) (this=0x56529e792350, pos=..., button=0, action=1, mods=<optimized out>) at src/event.cpp:124
#26 0x000056529cace733 in processEvent (event=0x7ffffcd9fef0) at /home/cschol/src/Rack-1.0/dep/glfw/src/x11_window.c:1391
#27 0x000056529cace733 in _glfwPlatformPollEvents () at /home/cschol/src/Rack-1.0/dep/glfw/src/x11_window.c:2698
#28 0x000056529cac5de0 in glfwPollEvents () at /home/cschol/src/Rack-1.0/dep/glfw/src/window.c:1070
#29 0x000056529ca649d7 in rack::Window::run() (this=0x56529e7e1560) at src/window.cpp:318
#30 0x000056529c9dd4ac in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at src/main.cpp:174

Grid Seq Rnd Gates

Thanks for the modules! I'm enjoying them.
I've noticed an issue with the gate buttons.
After I hit Rnd Gates it seems like the first click on a gate button that is off has no effect.
I'm on Rack 0.5.1 on Linux.

No gate mode option in NoteSeq

NoteSeq only outputs a short blast of signal when the playhead gets to a note, messing with the ADSR.

A gate mode option like in GridSeq would fix that.

Quantizer / would really like panel to reflect current scale selected by CV

As you know your quantizer module displays the scale that is selected by the scale-selection knob.

image

However it does not display the current scale when it is selected by CV inputs instead. The same is true for the current root note when selected by CV.

image

This makes the module very difficult to use with CVs, unless you really don't care about the result or can easily tell the difference between scattered notes quantized in an Aeolian vs. a Phrygian scale, say.

I'd be grateful if you could update the module to display scales and root notes whether selected by knobs or CVs.

NoteSeq lydian scale

Hi Jeremy,
I've noticed that the lydian scale used by the NoteSeq sequencers isn't quite right, as it has a flat seventh instead of a major seventh. Not a huge issue, but slightly frustrating that the lydian mode isn't right on my favourite sequencer ever.

I love your stuff! helps make some great music.
Cheers

Noteseq16: two suggestions

Hi,

  1. Noteseq16 is awesome, thx for making it!

  2. Can we have pentatonic minor among the scales maybe replacing one of (Aeolian, nat. Minor, Minor which are all the same thing?!?)

  3. I noticed that the grid remains one half step per line if you quantise it with the scale/note nob. Could you perhaps switch the grid view to 1 diatonic step per line so we could get two octaves range on the grid?

Cheers!

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.