Hi
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)
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 But i’am not able to provide a mac build or a Win build from my side.
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).
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
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.
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.
@Ahornberg Thanks for the binary! @ady34 I’ll playing with your patch and give a response to this
@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…
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!
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…)
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)
@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.