currently, not … I need to expose some kind of graphics api.

Good to know. I always find “the thing it can’t do”, given any system I’ve not used before :wink:

Another couple of questions:

  1. Is it possible to have a file-load parameter on an ORAC param page?
  2. Is it possible to have a parameter choose from a pre-set list of string options, currently (“option 1”, “option 2”, etc.)?

not really

file load - the issue here is Orac is built to allow a completely remote interface.
so what I currently do for things like samples is have a concept of kits/sample slots number.
whilst Id like this to be more descriptive (see below), i prefer kit/sample slots to messing about with filename - its a bit more versatile for users.

options - current no, its a similar issue - the patch is not passing arbitrary data around, its describing the data model … and this is then sent to the client as ‘meta data’, for it to choose how to render in its own way.

obviously though, I do want to improve the UI on these elements but without killing the remote interface ability.

in 2.0 I added ‘resource’ stream which the patch is able to send to the UI, this is how UI knows things like what modules are available.

so the idea is I will extend this, so that in module.json you will be able to define an enumerated type, that will be passed as a resource to the UI.

for sample kits/slots names - id probably similarly start sending resource names.
i guess that could be extended to allow ‘arbitrary’ collections defined by patches - for those needing things other than samples.

I’ve not done anything on this recently, as other pressing things… but its all open source so you are welcome to look into and send PR.

(just don’t put anything in MEC that breaks this clients/server type relationship…as id not bring it in :wink: )

Thanks for your reply, @TheTechnobear. I will work through that in a moment.

In the meantime, I’m having a lot of problems getting to sidekick.

All 3 buttons seem to work fine individually, but holding them all down at the same time for 5 seconds only rarely opens the sidekick menu. Almost always, it opens the same menu usually accessed by clicking button 1 on it’s own.

Is it a hardware problem, perhaps?

I’ve installed the latest Fates and Orac updates.

I’ve also been through the steps to setup the VNC server, but now can’t start the server, as I can’t access the sidekick menu.

Is that

~/sidekick/system/startvnc.sh

?

“System” doesn’t exist in ~/sidekick/.

Does the script need the Bash shebang and an “exit 0” line at the end?

I’m not getting anything appearing in the sidekick menu (when I can manage to access it) that allows me to turn on the VNC server.

Following your instructions, I’m unable to connect to my Fates via VNC. I get a “The connection was refused by the computer” error in VNC Connect (downloaded from the RealVNC site).

I’m on MacOS Catalina, if that makes any difference.

FWIW - I just re-installed ORAC and I notice that it takes a solid 7-8 count for ORAC to come up.

This may be due to recent changes in norns for the button 1 long-press but I’m not sure.

I have got it to work a bit more reliably now, I think. I changed the time in Orac sidekick prefs .json file from 5000 to 2000.

Now it reliably brings up the sidekick menu, but you do have to hold the buttons for a lot longer that the specified 2 seconds.

Hi,
when I did an apt upgrade (that I needed for another project I run on my Rpi) it broke norns on my fates.

It crashed with “Supercollider Fail” and I narrowed it down to “qt.qpa.screen: QXcbConnection: Could not connect to display” in the journalctl.
This seemed to be a classic problem when starting supercollider without a display so I tried to set some environment variables (export QT_QPA_PLATFORM=‘offscreen’; export DISPLAY=:0) in various bash config files and in /etc/environment but it didn’t resolve te issue.

I then looked at the apt upgrade history and saw that that I upgraded all supercollider packages from version 1:3.9.10-0norns1 (which seems to be a custom version for norns) to 1:3.10.0+repack-1+rpi1…

After rolling back those packages the issue was indeed resolved.
(I wrote this down for others that might try to apt upgrade on fates)

What would be the best way to go?
Is it fundamentally wrong to try run other projects on fates and are there a lot of possible conflicts?
Is it better to separate them clearly, maybe with containers ?
For now I told apt-mark to hold onto these supercollider versions and will try to get everything running under the same roof.

Thanks a lot for the amazing work!! :kissing_heart:

To the best of my knowledge, this is the big one, and apt-marking those packages should protect the system; I was unable to make it work properly and kept getting conflicts.

I personally wouldn’t try to run much more that fates on a single board, though @okyeron is certainly the expert in this domain :slight_smile:

1 Like

FIWW - I’ve been burned enough times by this that i NEVER do apt upgrade.
Check individual packages and see what versions you need. Update specific packages if needed.

You’ve already figured this out and probably understand it better than me. Norns needs a specifically compiled version of Supercollider without the QT business.

Not fundamentally wrong, no. You just need to get a sense of what versions of things are running and if you change dependencies, just be aware that it could muck up the works.

1 Like

Sorry if this is extremely basic but I just built a fates from denki and installed norns and orac fine with no problems. I got my Launchpad Pro working with Fates somehow, I think it was from installing the Midigrid script, but I’m not positive. So i can control synth scripts with note in from the LPP but I can’t get midi input at all in Orac. I’m searching all over the place and I can’t find a basic rundown of how to build a basic patch in Orac. I can see the demo 1 running and hear everything, but if i put a sequencer, a synth, and an effect in a parallel chain, i don’t get any results, regardless of midi input.

I was able to get audio coming in with a ‘cvaudioin’ device on A1 then through to CLDS on A2, so that’s good. But i can’t tell where i’m going wrong here because I can’t figure out even the basic signal flow for Orac. I’ve watched plenty of videos, almost all of Technobears, Loopops, anything else on youtube. Reading my way through these threads and can’t really find any of the basics.

It seems like midi in is not as simple as with norns. I will set up a routing cell and set midi and vel. channels to 1 (LPP) but nothing happens. I’m obviously not familiar with this platform at all and am missing some very fundamental workflow concept here. I feel like if someone wouldn’t mind uploading a short video like quickly running through how they set up an Orac chain like Seq> Synth>Fx and get it running, start to finish & then maybe also just set up a Synth in Orac and have incoming midi from any external midi device (preferably a launchpad), that would solve all of my problems.

Or maybe point me in the direction of an ALSA tutorial or something. I just have no context for where to start here, there doesn’t seem to be a ‘midi menu’ like there is on the norns side

thanks

connecting midi devices is done with aconnect
explained briefly in this post

we talked about adding amidiauto as this ‘auto connects’ midi devices, but I believe this is better in Fates, rather than orac - as its not really anything to do with Orac/Sidekick, its just useful for any application that uses alsa midi

1 Like

FWIW I thought I put amidiauto in the last pi4 fates disk image (can’t remember on pi3)

aconnect -l will show you what midi devices are connected/active

I can’t seem to get the vnc server working, per these instructions, unfortunately.

After installing the script at

~/sidekick/system/startvnc.sh

(I assumed you meant ~/sidekick/system/ as ~/sidekick/System/ doesn’t exist), should I see an additional menu item in Sidekick allowing the VNC server to be enabled/disabled?

You say it’s supposed to be a Bash script. Probably a stupid question, but doesn’t it need the Bash shebang, and an “exit 0” at the bottom?

I have this:

#!/bin/bash
vncserver
exit 0

in ~/sidekick/system/startvnc.sh. It still doesn’t seem to do anything, though, sadly.

In fact, if I run the command ‘vncserver’ via SSH on it’s own, the VNC server does in fact start, and I can connect to it.

Maybe I was wrong to think that Sidekick is supposed to provide some way to run this script, and you’re just supposed to run it manually via an SSH session from another machine.

After running this in a terminal in the VNC client window, I get:

starting sidekick
using framebuffer /dev/fb0
load startup patch: Orac
launch : Orac
exec : cd "./patches/Orac"; ./run.sh &
exec : "./post-patch.sh"
starting orac
Connection failed (Invalid argument)

…then nothing.

Is this expected?

~/sidekick/system/startvnc/run.sh

Ah… I will try that, then.

Thanks!

Aw… progress. Now I Do get a new item in the Sidekick menu to start the VNC server. When I activate it, though, it seems to hang at

Launch...
startvnc

and becomes unresponsive to any of the hardware controls, except to return to the Sidekick menu.

I can connect to it via VNC, but can’t seem to do anything useful once I’m there. Maybe I’m misunderstanding what you’re supposed to be able to do via VNC.

You’ll need to launch in the background ( use &, might need nohup too)

Sorry, I don’t have a script to share as I always do this manually by logging in via ssh - as I tend to use the command line and only use vnc when doing pd patches. So above post was really just a hint at how to get started rather than a ‘guide’ :wink:

OK. I need to setup an environment for pd patch-creation and editing.

Having not used it before, though, I’m a little dispirited by the dependency hell I seem to drop into whenever I attempt to open any of the publicly-available patches on my Mac.

Maybe I’d have more luck setting up my old RPi 2 as a dedicated pd editing machine, if I can’t use Fates for that purpose.

Incidentally, Orac doesn’t appear to work out of the box in MacOS 10.15.x (Catalina). The OS keeps offering to put important parts of the system “in the bin” for me.

More a reflection on Apple’s ever-increasing security paranoia than on your work, I’m sure.