Cabbage Logo
Back to Cabbage Site

LCD Display

Following one from @Michel question about creating an LCD display, I thought I would share a quick one I just throw together. That’s an hour of my life back I’ll not get back (thanks Michel!), but it was totally worth it :crazy_face:

LCDDisplay.csd (7.3 KB)

Wow ! that’s great :slight_smile:
I was also tweaking something after your answer, but mine is way simpler !
crop is my friend :sweat_smile:!(upload://cwOA4NdGUtphBxEytKPqdxmkCw3.png) testdisplay.csd (1013 Bytes)

testdisplay.csd (1.9 KB)

1 Like

testdisplay.csd (2.1 KB)

Ouuuut of control :rofl::rofl::heart_eyes: !!

Here’s mine, with back light !
Peek%2016-11-2019%2013-54 (521.3 KB)

It mimics the Juno-1/2 LCD display :slight_smile:

1 Like

Looks really great. That back-light really sets it off!

I’m running into a problem though, the alpha of the light in my test doesn’t seems to work (alpha.png).
Can we have 2 superposed image with alpha ?

I’m not sure. Could you use a Cabbage image with an alpha channel. No need for a png then?? But that’s probably not what you need…?

I found the problem, even if i’m not sure it’s a problem but linked to the k-rate nature of S variables ?

when I use the same S variable, I have a strange side effect :

when I use 2 different S variables, it’s working as intended:

Strange :astonished: !

That’s because chnset currently works with i-time channel strings only. I fixed this last week. So this code should work done in the next version of Csound. I’m also working on a set of channel opcodes that take string arrays of channel names and output arrays of data. They should be useful too.

Btw, I have a CI build of the latest Csound for OSX here. You can try that one. Just rename the current /Library/Frameworks/CsoundLib64.framework before you install this. Then you can simply rename either to switch between versions. It would be cool if you could try it.

I use Ubuntu, not OSX :-), could you compile it for Linux ?

In that case just build from the current dev branch of Csound. Have you built Csoud on Linux before? It’s pretty simple.

Yes, I’m on master but I’ll give a try on develop and drop you a line !

Great. Let me know if they work. Note that when chnget is used this way, you will be causing the opcode to copy string memory twice on each k-pass. In this case it’s not that big an overhead. However, if you put the chnget in a loop with say 20 channel names in it, then you will start to see some performance issues. So the idea of looping through a bank of 40 oscillators to create some kind of additive synth in this fashion would not be a great idea.

That’s why I’m working on array versions of chnget/set. You’ll be able to do the same thing without having to constantly copy memory.

Compiled dev branch : bug is gone :slight_smile:

Great, but it wasn’t actually a bug. I don’t think the channel opcodes we ever supposed to work like this. But I think most people expected them to.

Yes, I hesitated a few seconds between “bug” and “feature” when posting :innocent: