• Stars
    star
    128
  • Rank 272,986 (Top 6 %)
  • Language
    Haskell
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Feedforward, an experimental editor for TidalCycles (c) Alex McLean 2021 Released under the terms of the GNU Public Licence version 3

https://github.com/yaxu/feedforward

Demo: https://www.youtube.com/watch?v=hkgKuD6Yvog

Installation

Please let me ([email protected]) know if you get it installed on Windows 10 and how.

Installation on Debian

First install ncurses:

apt-get install libncurses5-dev

Install feedforward (into ~/.cabal/bin) with:

git clone http://github.com/yaxu/feedforward
cd feedforward
cabal install

Installation on Arch

Set these in ~/.cabal/config

library-vanilla: True
shared: True
executable-dynamic: True

program-default-options
  ghc-options:
    -dynamic

Then do a cabal update

Then clone latest Tidal repository and do a cabal install there.

git clone https://github.com/tidalcycles/Tidal.git
cd Tidal
cabal install

Then clone this repository, and execute the following

git clone https://github.com/yaxu/feedforward.git
cd feedforward
cabal update
cabal install c2hs
cabal install ncurses --flag force-narrow-library
cabal install

Mac OSX

If you do not have ncurses installed already, you can install it on OSX with:

brew install ncurses

ncurses install info available at https://gist.github.com/cnruby/960344#gistcomment-3236294

Next, install feedforward into ~/.cabal/bin with:

git clone http://github.com/yaxu/feedforward
cd feedforward
cabal install

Then follow the usage instructions below.

VU meters

To get in-text VU meters on patterns, switch on RMS sending from SuperDirt.

Before starting SuperDirt, do this: s.options.maxLogins = 8;

After starting SuperDirt (e.g. with SuperDirt.start), do this: ~dirt.startSendRMS;.

Do all this before starting feedforward.

The VU meters will also work if you use the latest develop version of superdirt.

Usage

At the moment it sends a lot of info to stderr, which you'll need to direct somewhere, e.g. by running like this:

feedforward 2> err.txt

If .cabal/bin isn't in your path, you could run it with:

~/.cabal/bin/feedforward 2> err.txt

At the time of writing..

  • Some emacs keys work for navigation. (^n, ^p, ^a, ^e, ^b, ^f, ..)
  • Alt-Enter to evaluate all the code in the buffer
  • F2 replays a previous session (experimental)
  • F10 quits
  • ctrl-h hushes everything
  • ctrl-l redraws the screen (in case something gets corrupted)
  • Different patterns automatically get sent to different orbits
  • There is no cut and paste yet
  • Mouse clicks position the cursor on some terminals, but it's a bit clunky
  • alt-0 .. alt-10 toggles patterns on and off

By default, feedforward will work with SuperDirt, running on the same computer. To switch between Classic dirt and SuperDirt, edit Feedback/Edit.hs and look for dirt = ... Set it to either dirt = Classic or dirt = Super.

The stuff in Drum/ is a server for laptop ensembles, for centralised recording of keystrokes and for taking coordinated snapshots. Probably not interesting to you just yet.

Contributions

This is very early stage software, but I'm nonetheless happy to hear bug reports:

https://github.com/yaxu/feedforward/issues

More Repositories

1

p5dirt

Thingie for echoing superdirt parameters to processing
Processing
50
star
2

pihkal

Haskell
32
star
3

spicule

31
star
4

SuperDirt

SuperCollider implementation of the Dirt sampler for the Tidal programming language
SuperCollider
31
star
5

hstexture

Haskell
24
star
6

tidal-worksheets

SuperCollider
16
star
7

remake

An attempt at rewriting tidal from scratch
Haskell
16
star
8

tidal-websocket

JavaScript
13
star
9

smooth

Superseded by /yaxu/tidal/
Haskell
12
star
10

dirt-jv1080

Samples for dirt/superdirt ripped from my Roland JV-1080 digital synth
10
star
11

clean-breaks

9
star
12

nime20

TeX
9
star
13

mvt

Minimal Viable Tidal
Haskell
8
star
14

embedded

Files from ODI/Sound and Music embedded residency
Haskell
8
star
15

texture

Texture - experimental visual front-end for haskell
C
7
star
16

patternlib

JavaScript
7
star
17

hylia-haskell

Haskell
5
star
18

tidalbot

tidalcycles twitter bot
Python
4
star
19

aacp

things for AI as Collective Performance project
JavaScript
3
star
20

thrum

Multicast OSC time sync thingie
C
3
star
21

by-example

HTML
3
star
22

dirt-impulse

Impulse responses for use as percussive samples
3
star
23

click

Thingie for triggering solenoids from tidal
Haskell
3
star
24

acidsketch

Acid Sketching for Python
Python
3
star
25

slub

My parts of the original slub system
C
3
star
26

tidal-pi

Shell
2
star
27

screencast

Various ways of using gstreamer
C
2
star
28

workspace

Haskell
2
star
29

distcult

Distributed culture
HTML
2
star
30

volca-tidal

Experimental and unstable experiment with controlling volca beats and keys with Tidal patterns
Haskell
2
star
31

Petrol

Haskell pattern library and things
1
star
32

soundchoreographer

Sound Choreographer
Processing
1
star
33

0mqosctest

C
1
star
34

Tidalish

Haskell
1
star
35

vphscrape

Perl
1
star
36

lighthouse

hackthemarine
JavaScript
1
star
37

misc

1
star
38

drumming-circle

HTML
1
star
39

Speaking-code

1
star
40

tidalguide

TeX
1
star
41

mrid

Python
1
star