Aria's thread of barely working betas and bug squashing: Psychopump (in library soon)

Thank you! Family support is absolutely crucial, and I’m very glad she can count of the support of someone like you.

In other circumstances, I would disengage from this conversation, since I treat my gender identity as something that’s neither a secret, nor something that has any relevance whatsoever to operating blinky toys that make bleeps. It might come up as a topic in my songs, but it’s not relevant to the practice itself.

But since you’re mentioning this community being safe, having a direct interest in it, let me react:

I remember seeing on this forum a few tiresome meta-discussions about welcoming women, about adopting a “code of conduct”: this stuff is just a red flag that I’m entering a safe space for upper-middle-class performative social climbers. It conveys zero useful information whether I’m actually welcome to take part in the community, or whether I will be treated like a stranger by hypocrites who know they will be banned if they call me slurs.
And I’m French: I don’t want to be a liberal’s fashion accessory to prop up to the front lines of American civil wars that have nothing to do with me.

What matters is that acted earnestly in the community, came to the scene with a different skillset and outlook than most, but had no difficulty being treated as a peer. I didn’t face inappropriate comments, and compliments about my work don’t seem to be forced on account on my identity. If it was all cheap talk, nobody would have availed themselves of the discreet donate button, after all.

What matters is that the artist who introduced me to VCV is trans. She isn’t active in the community, and no longer advertises her identity, so I will regrettably not link to her work. She was instrumental in encouraging another LBGT person I know to create modules present in the library. (They do not broadly advertise their identity, so once again, I will not name them).

What matters is that lmao if bigots don’t realize they pulled up to the wrong neighborhood when they’re playing an instrument pioneered by Wendy Carlos. Lmao if they get into hardware and learn about the identity of the person behind of one of the most popular brands (if you know whom I’m talking about, you also know that person has been discreet about it, so no names please).

I’d like this state of affairs not to change, and for the topic not to overshadow my work.

Nah, this conveys weakness and invites trolls. If I’m to record spoken videos, I’m the kind of person who’d show my face and open up with a joke about the topic, then let idiots get shouted down in the comments section. I’d just prefer if I didn’t have to deal with it at all.


Anyway, I don’t want to suppress conversations about the topic, but if they must happen, I’d like for them to be split off my thread, so I can excuse myself if they turn into American politics and shouting contests.

Here’s a good conversation derail: have you looked at my future plans page? I’ve documented many of them! Do they inspire any reaction?

13 Likes

The Alien Communication Device certainly sounds interesting!

I’m working on fixing a bit my own component library, as it’s a mess. While I’m at it I’m trying to improve Lights Off compatibility, but it’s not a priority and I’m not sure I can get the lit Darius knobs to work.

As you know, I use lit jacks extensively to convey info. For now, only my jacks that are capable of changing colors are visible in Lights Off, but in my mind, if it were real hardware, all my jacks would be backlit (some blinking, some not), so I’m thinking I should make them all show up in Lights Off. Thoughts?

1 Like

there would be knots. Lots of knots! I guess this is not feasible in Rack or you’d have already released your Komically Komplicated Kable Knotter :frowning:

2 Likes

@xandra-max sent me a DM about how Lights Off is supported in Algomorph. The explanation was, to say the least, quite the epic, and taking a whole day to implement this when I could be making new modules instead didn’t feel like a very good use of my time.

Still, I went with partial support: I draw on the light below knobs a little segment at the same position it is on the knob. That segment is only visible in Lights Off mode. It doesn’t look perfect at every opacity, but should be satisfactory. Up to Lights Off to provide a better API!

Here’s how it looks:

image image

You can still operate it with the mouse while in Lights Off mode, which is what matters.

3 Likes

Well, there we go.

I’d still like to light up the piano, buttons, and the indicators on the MSR segment displays.

I’ve removed halos, as they are slated for removal in VCV 2.0, and because of the size of my jacks and their density, they were a bit too distracting (especially on Aleister). Cf:

5 Likes

Every aspect of making this work is way harder than it has any right to be, and I have a crash I have no clue how to elegantly resolve without complexifying my code a lot. Plus, the MSR display is gonna be a real pain to retool.

Aria, you might know that I’ve written the Lights Off module for Modular Fungi, and I assume we agree that it is a ugly hack of Rack‘s drawing system. I think you are wasting far too much time and creativity on making this work!
That been said, if I can do anything to make your life easier in this matter, please let me know. I know some C++ but it is not good enough to create some API in one plugin with is usable in another plugin…

2 Likes

Ideally, I would be able to just have

bool emitsLight;
bool overlapsLight;
float luminosity;

in any widget, but as for how it could be technically achieved, I have no clue.

Anyway, I have solved most of the problems by now, and my code doesn’t seem too nasty, so future widgets will be easier.

And there we go.

Be sure to try it out and let me know if there are any issues!

5 Likes

Looking very cool Aria!

1 Like

Looking good on linux! Thank you.

1 Like

The more I’m thinking about it, the more obvious it is that I can’t make the QQQQ series work elegantly with scales/chords optionally having a root note.

Adding buttons to set the root note manually on QQQQ would be confusing, as QQQQ would do nothing with information, merely forward it to future modules that don’t exist yet. That’s as non-user-facing as it gets. Very few people understand yet how my collection fits together, and mostly use separate elements. Almost nobody realizes that Poly External Scales even exist. People also don’t realize just how many different sources can program QQQQ (piano keys, key/scale knobs, scene slots, Poly External Scale input, and expander) - resulting in a lot of potential for confusion. And most people think of quantizers in terms of scales, not chords.

I’m thinking of removing all knowledge of a tonic from QQQQ altogether, and leave it to a dedicated chord/scale programmer. That one would think in terms of actual pitches rather than positions on the scale. In effect, once PES tonic information reaches QQQQ, it would be discarded.

It’s all a very hypothetical thing since there are no modules that make use of this information yet - I just have plans for it. I’m not really sure yet - feel like I kinda designed myself into a corner on this one.

1 Like

Sounds good to me. Using Meander with QQQQ etc. via PES works fine right now. As long as PES still allows the scale root to be designated even if the info is thrown away, Meander will continue working fine with your modules that support PES input.

Basically my 3 options:

  • Qqqq silently infers the tonic. This behavior will trip up users
  • Qqqq overtly infers and let you program the tonic - but being a quantizer, it makes no use of it. It becomes a makeshift chord programmer - but it’s obviously not suited to the task
  • Qqqq discards the tonic. Another module is used to program chords and scales with a tonic. People might not understand why Qqqq can’t be used with modules requiring a tonic

None of the options satisfy my right now.

Yeah, when you throw chords on top of scales, your module data architecture has to totally change. This is especially true if you support other than heptatonic scales. As mentioned before, Meander once allowed arbitrary scales including pentatonic, hexatonic and octatonic on top of heptatonic. Trying to do a variety of chord types such as major, minor, diminished and 7th (which is pretty much the absolute minimum that has to be supported) with an arbitrary scale type is a near impossible task. I had an A.I. engine that tried to do all of this, but I was never satisfied with it, after years of messing with it. Thus, Meander for VCV Rack only handles heptatonic scales.

Of course I am no music theory expert and others may know how to do this where I failed.

The difference between a chord and scale is purely one we make as musicians anyway. I’m concerned with series of definite pitches, and positions on any scale that are allowed. Converting from the first to the second representation is lossless.

1 Like

For sure! Meander composes melody either based on the scale (scaler) or the current chord (chordal) for the allowed notes. Human composers and musicians then throw in accidentals, naturals and blues notes (for example) and others that are very hard to handle algorithmically and have it sound good. Accidentals are another thing I dropped from Meander for Windows.

Most of what I said can probably be ignored. I tend to think in terms of western heptatonic scales and keys or modes and roots and chord progressions based on the circle of 5ths within that parent scale.

Was anyone using Darius at audio rates? Using it as a waveshaper of sorts is a neat curiosity, but I never once got a half-decent sound out of it.

In the next version, by default, Darius will no longer operate at audio rates, which is a significant performance boost (3x faster). It also solves hard to debug issues that only happen at audio rates - I really don’t care to debug them as this was one of my first modules, and the code is really bad.

If people were using it at audio rates, I can add a right-click option to re-enable it. Otherwise it will process every 32 samples (so over once per millisecond).

2 Likes