Getting experimental FeedForward editor to work

Any chance, your experimental editor would work on osx? i have been looking for ages to get following cursors on the patterns, would great to have this with atom !

It is possible, but would take some fiddling about, I don’t have a mac myself. Perhaps there is someone else here who has managed it. Here’s the source:

Looks like its being installed, but i am not sure i follow how to run it tho, i followed the supercollider stuff but then i hit a wall :slight_smile:

err.txt dumps
feedforward: sigaction

it looks like the keys doesnt work as expected
i can't evaluate for example...

That looks good! alt-enter to evaluate…

(moved to its own topic)

thank you, make sense.
what could i do to try to help make it running on mac?

It looks like it is working, to me. Does alt-enter not work?

nope it doesn’t.
i replaced alt-enter by option-return on mac ( option is usually used instead of alt)

here is what i do and what i see

  • start supercollider
  • evaluate s.options.maxLogins = 8;
  • evaluate (
    s.waitForBoot {
    s.options.numBuffers = 1024 * 256; // increase this if you need to load more samples
    s.options.memSize = 8192 * 32 * 64; // increase this if you get “alloc failed” messages
    s.options.maxNodes = 1024 * 32; //
    ~dirt = SuperDirt(2, s); // two output channels
    //~dirt.loadSoundFiles("/Users/freeka/Dropbox/Desktop/audioCoding/TIdal/MYDIRTS/"); // specify sample folder to load
    "); // specify sample folder to load
    s.sync; // wait for supercollider to finish booting up
    ~dirt.start(57120, [0, 0]); // start superdirt, listening on port 57120, create two orbits each sending audio to channel 0
    //~numWireBufs = 128;
  • evaluate ~dirt.startSendRMS; ( supercollider start to dump: exception in real time: alloc failed, increase server’s memory allocation (e.g. via ServerOptions) )
    which i tried to change in my server options but still the same problem.
  • start feedforward 2> err.txt in my terminal
  • try a pattern: s “bd”
  • evaluate with (option+return, cmd+return, shift etc any combination possible) no sounds, or anything happening, trying to evaluate those ways just make a carriage return
  • trying to delete the carriage return or any characters using the delete key add ^? instead of deleting.

i tried to leave superdirt + feedforward open and send a pattern from atom which return
Control listen failed. Perhaps there’s already another tidal instance listening on that port?

which means feedforward is actually doing something

i feel feedforward doesnt understand the keyboard mapping of the mac, would it make sense?

It’s possible @freeka.freeka , although I thought another mac user had it working…

Looking at the code I remember that ‘ctrl-x’ also evaluates, so you could try that.

1 Like

cool it did the trick, ctrl-x evaluate, got the cursor following, and the vu-meter, i guess now i need to figure out the other commands or how to change them on mac. any idea where i could start?

i looked a bit in Edit.hs for the part with the commands, its a bit unclear for me why only
keyCtrl mvS 'x' = eval mvS would work and not the rest...

ps: hush doesn't work but ctrl+h act as the delete key instead, how odd!Screen Shot 2020-04-07 at 5.54.25 PM


I’m also interested in trying the feedforward editor and am seeing similar problems to those described by @freeka.freeka. I’m using Fedora 32 and compiled/installed following the instructions for Arch after installing a couple of extra packages;

$ sudo dnf install alex happy ncurses-devel

Alt-Enter works OK but F10 doesn’t seem to have any effect, so I’m unable to stop the program; is there an alternative key combination that I can use? If I just close the terminal window and supercollider, top reports feedforward’s cpu usage as close to 100% - I’m also unable to stop the process with the kill command.

Is there a key-binding that can be used to evaluate a single line instead of the whole file?


It’s really just a working prototype and isn’t supported in any way… You could look into the source code for adjusting key combos etc. killall -9 feedforward or similar should force quit processes.

Hi @yaxu on your github page you mention it is probably very difficult to get it installed on windows. Do you know if there’s someone who has managed to get it up and running?
I really like the performative feel of the feedforward editor, however I’m not much of a programmer so don’t think I’d be able to make it work without some directions.

Is this something you know someone has been working on. Or if there’s the intention and time to develop the editor for other platforms? I guess otherwise I could always run it in a vm

Long term I’d like to make a cross-platform gui based on the same principles. I can’t help with compiling ffwd under windows, but hopefully someone else can help.

1 Like

Thanks @yaxu, I modified the quit key combo to use the F8 key and everything works fine now. I can’t find anything in my settings that uses or intercepts the F10 key so have no idea why the F10 wasn’t working. I understand that it’s not supported and probably not in your intended syllabus so am very grateful for you getting back to me.


Hey @jimwatson,
would you mind sharing how you changed the key? i presume its in the edit.hs?
Its weirdly hard to find keycommand for haskell on mac…


Hello @freeka.freeka, I changed line 705 in Edit.hs from;

  Just (EventSpecialKey (KeyFunction 10)) -> unlessKiosk quit


  Just (EventSpecialKey (KeyFunction 8)) -> unlessKiosk quit

This moved the quit function from F10 to F8. There’s something strange about the behaviour of F10 on my laptop but I can’t find anything to explain why.

1 Like

yes same here, can’t really understand whats going on. atleast you lucky its one, on mac only one is working heheheh

Feedforward runs in a terminal window, maybe the terminal application you’re using blocks F10. I would have used ctrl-enter / shift-enter like in atom etc, but unfortunately it seems that it’s just not possible to get those key combos for such console applications. I will reimplement it as a gui someday…