Thom's Modules Thread Update to V2.0.1

Hi :slight_smile: I’m proudly present my very first module for vcv now… I wanted to make something unique, and got an idea: Making sound out of an image! Kind of painting some music. Sounds a bit crazy at first (i know). But it’s easy to understand. It’s just a matter of converting the color of a pixel (RGB values) read from an image(png) into control voltages for vcv.

Technically my module named Pictogram is an image sampler that collect pixel data and yields cv values. I’m not the first one with such an idea. Look at Emil and liMonADe from Bidoo. These modules are image controlled oscillators. (ICO’s) :smiley: Thank you Bidoo for making it open source! So i had a good starting point to begin the development. And thank you Steve Russell for your code addition, that makes it possible to build pictogram on Windows :smiley: But i’am not able to provide a mac build or a Win build from my side.

The license is GPL v3 or later.

Source on Github and the manual and the Linux binary

Pictogram in Action:

In the module browser Pictogram appears without the image. You’ll find it here in this github folder The image has the same license as Pictogram. Pictogram can handle png images with any side ratios and sizes up to 14Mb and maybe more… (so far tested).

Here is an example patch with a link to soundcloud

Questions, critic, ideas are very welcome and bug reports too, of course. So grab it and have fun with it. My plan is it to push it to library some day after a testing time. And i’ am open to develop more modules… Cheers, Thomas

Update to V2.0.1
Replaced Ctrl-Drag with Space-Drag for resizing the selectbox

11 Likes

this looks interesting,
I would like to try a win binary

delete

I compiled for windows:

3 Likes

I just tried it with the build from ahornberg and a test-image to understand how it works. I think there is something wrong on windows. I suppose the square is the part of the image where the CV is generated from. Should I be able to move thta square or should the square itself move when clocked? Because none of that is happening.

I just tested that and you are right, seems to be static, and not move, or able to move with the mouse. This is on MacOS 11.6.4, Rack2 Pro 2.1.0

Well I’m on Windows 10 here and I have some sounds via it possibly but I did change the clock to Slimechildaudio’s and messed with the randomisation on the Pictogram module. However I can’t see the rectangle moving on the image.

Here’s my patch:

shimmer04-Thomas Michels.vcv (5.3 KB)

Thanks to all for responsing :slight_smile:

@Ahornberg Thanks for the binary!
@ady34 I’ll playing with your patch and give a response to this :slight_smile:

@mosphaere @fractalgee
Did you try Shift-Click or Shift-Drag to move the square? Ctrl-click or Ctrl-drag should resize the square. The clock trigger does not influence the square. It’s just a kind of a sub window that defines an area to read the pixels from.

Here is the code snippet that is responsible for this user action:

  void onDragHover(const event::DragHover &e) override
  { 
    OpaqueWidget::onDragHover(e);
    int modKeys = APP->window->getMods();
    bool isCtrl = (modKeys & GLFW_MOD_CONTROL) == GLFW_MOD_CONTROL;
    bool isShift = (modKeys & GLFW_MOD_SHIFT) == GLFW_MOD_SHIFT;
    if (isCtrl)
      boxView.SetEndPoint(e.pos.x, e.pos.y);
    //Without it, dragging a cable will move the box.
    if (isShift)
      boxView.moveTo(e.pos.x, e.pos.y);
    boxView.changed = true;
  }

If this code runs not on Win or Mac then i need some advice…

1 Like

Thanks for answering so quick, the Shift drag does indeed work for moving the square/rectangle. Also the resizing works . Huzzah, now we know what does what. Much appreciated!

Thanks I’m happy now :slight_smile:

And your patch sounds like entering a new world that want to be explored…

Thanks, the ‘new world sound’ has to better than the world we are currently in!

sadly on the Mac I can get the shift click to move it, but cmd-click does nothing and ctrl-click is right click menu in MacOS… so only half way there :wink:

Sorry to see that. To solve it i have check on which OS the code is running and then use a key combination maybe Cmd-shift-click. I need time to figure it out…
Is there a developer on mac who can help please? (I only have a linux machine…)

Since Cmd-click isn’t mapped to anything I would use that instead of shift-Cmd-click, less keys is better :slight_smile:

Ok, that’s good information, i’ll have a try to implement it. When it’s finished i’ll post it here :slight_smile:

Oh wait, Cmd-Click used to be ‘move all modules same direction of module that is touched if dragged’ so maybe the shift-cmd-click is better indeed, in case that comes back (used to work before Rack2 2.1.0)

1 Like

Thanks for more tools and more fun!

1 Like

This is great, I was waiting for a module like this for quite awhile, a similar module never made it into v2 Thanks

@fractalgee and all others, i did an update to solve the cmd issue. To resize the selectbox now simply press the Spacebar while the mouse pointer is inside the picture. Shift key works as implemented before.

Release V2.0.1

1 Like

As with many things, others have had similar ideas and implemented them.

ANS (1950’s/60’s)

ANS Virtual (2013 or so) https://www.warmplace.ru/soft/ans/

Metasynth (2006 - now)

But, there’s always room for a new take…and yours sounds promising, linking it to the modular world.