I've begin to write a nanoloop clone.
it is available on github.

It is not as good as 1.6, 2.7 or the iOS/android apps.
The idea is to have a opendingux, gp2x, gcw zero apps for this kind of music apps.
Someone had try to use it yesterday, and I think it is clean enough to let you dig the source.
Unfortunately I have not the skill to implement good FM or good VA today...

Don't hesitate to grab the source and tweak it.

https://github.com/yoyz/audio

Johann

Interesting! Could you upload a screenshot?
I'm thinking of making a nanoloop clone (or at least inspired by) intended for sequencing OSC/MIDI messages.
Ideally you would be able to control it with a gamepad of your choice to achieve a similar feel of the original.

Here is a photo of picoloop running on my dingoo a320.
I run it on my Debian laptop also, but I don't use it this week.

http://twitter.com/yoyz2k/status/443031 … 12/photo/1

IMHO, it should be possible to implement midi.
Every step of the sequencer store multiple data type.

Oh man! This is gorgeus! I use a dingoo and a gp2x and I'm totally digging this!

Awww, too bad, this doesn't works for me. Take this two pastes of compiling and running so you can check what's going wrong:

Compiling: http://pastebin.com/Y7XNYQED
Running: http://pastebin.com/iX5hnNRp

I'm sorry but my system is in spanish, but I guess maybe it can help you figure out what's going on smile

Hi pak-zero,

To solve the issue of spanish system, you can try this :
# export LANG=C

I have two different idea for the problem.
It could come from audio or video.

First thing synchronize the git :
# git pull

To check the video :

yoyz@yoyz-laptop:~/tmp/audio/picoloop/ make -f Makefile.WaveView
g++ -c -DLINUX -I. -LSDL/lib -g WaveView.cpp -o WaveView.o
g++ -lSDL -lSDL_gfx -lSDL_ttf WaveView.o -o WaveView
jobs:0 err:0 time:12:34:03
yoyz@yoyz-laptop:~/tmp/audio/picoloop/ dd if=/dev/urandom of=bla bs=512k count=1
1+0 records in
1+0 records out
524288 bytes (524 kB) copied, 0.0685502 s, 7.6 MB/s
jobs:0 err:0 time:12:34:25
yoyz@yoyz-laptop:~/tmp/audio/picoloop/ ./WaveView ./bla
---------------------------
File Size:              524288 bytes
Number of Links:        1
File inode:             1649110
File Permissions:       -rw-r--r--

SDL initialized.
loop 0
new event:1 unknown key
No new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msNo new event
sleeping 100msloop 1
Exiting...

You should see an audio noise file in the screen



To check the audio :
# make -f Makefile.Oscillator
# ./Oscillator

You should hear a "note".


Tell me if one or two failed.

Johann

None worked, it seems like I'm missing some dev libraries:

› CLI log

The linking failed because I think on your linux you need to put -lasound and -lpthread at the end.
I added it in the Makefile.Oscillator, so you can git pull it.
On my debian, it is done magically....

I have this library installed :

PTRHEAD
yoyz@yoyz-laptop:~/tmp4/tmp4/ dpkg -l|grep pthread
ii  libpthread-stubs0:amd64               0.3-3                              amd64        pthread stubs not provided by native libc
ii  libpthread-stubs0-dev:amd64           0.3-3                              amd64        pthread stubs not provided by native libc, development files

ALSA
yoyz@yoyz-laptop:~/tmp4/tmp4/ dpkg -l|grep asound
ii  lib32asound2                          1.0.25-4                           amd64        shared library for ALSA applications (32 bit)
ii  lib32asound2-dev                      1.0.25-4                           amd64        shared library for ALSA applications -- development files (32 bit)
ii  libasound2:amd64                      1.0.25-4                           amd64        shared library for ALSA applications
ii  libasound2:i386                       1.0.25-4                           i386         shared library for ALSA applications
ii  libasound2-dev:amd64                  1.0.25-4                           amd64        shared library for ALSA applications -- development files
ii  libasound2-plugins:amd64              1.0.25-2                           amd64        ALSA library additional plugins


SDL
yoyz@yoyz-laptop:~/tmp4/tmp4/ dpkg -l |grep -i sdl
ii  libsdl-gfx1.2-4:amd64                 2.0.23-3                           amd64        drawing and graphical effects extension for SDL
ii  libsdl-gfx1.2-dev:amd64               2.0.23-3                           amd64        development files for SDL_gfx
ii  libsdl-image1.2:amd64                 1.2.12-2                           amd64        Image loading library for Simple DirectMedia Layer 1.2, libraries
ii  libsdl-image1.2-dev:amd64             1.2.12-2                           amd64        Image loading library for Simple DirectMedia Layer 1.2, development files
ii  libsdl-mixer1.2:amd64                 1.2.12-3                           amd64        Mixer library for Simple DirectMedia Layer 1.2, libraries
ii  libsdl-net1.2:amd64                   1.2.8-2                            amd64        Network library for Simple DirectMedia Layer 1.2, libraries
ii  libsdl-ttf2.0-0:amd64                 2.0.11-2                           amd64        TrueType Font library for Simple DirectMedia Layer 1.2, libraries
ii  libsdl-ttf2.0-dev:amd64               2.0.11-2                           amd64        TrueType Font library for Simple DirectMedia Layer 1.2, development files
ii  libsdl1.2-dev                         1.2.15-5                           amd64        Simple DirectMedia Layer development files
ii  libsdl1.2debian:amd64                 1.2.15-5                           amd64        Simple DirectMedia Layer
ii  libsdl1.2debian:i386                  1.2.15-5                           i386         Simple DirectMedia Layer
rc  libsdl1.2debian-all                   1.2.14-6.1                         amd64        Simple DirectMedia Layer (with all available options)
rc  libsdl1.2debian-alsa                  1.2.14-6.1                         amd64        Simple DirectMedia Layer (with X11 and ALSA options)

check this, git pull again, then check that oscillator work.

Johann

Last edited by yoyz2k (March 11, 2014 1:17 pm)

I couldn't get it to remove notes from the default pattern setup.

Oscillator works, but the PatternPlayer doesn't. I'm going to check the other test you sent before big_smile

› WaveView compilation

Last edited by PaK-Zer0 (March 11, 2014 1:23 pm)

Hi Pak-Zero, could you check you have the ".h" file in /usr/include/SDL/
If this is the case, could you copy the directory /usr/include/SDL in your build directory, I think, it doesn't fetch the ".h" in /usr/include/SDL/.
So if the file are located in "./SDL/*.h", it may find them.

# cp -Rv /usr/include/SDL/  .
# make -f Makefile.WaveView

Hi IceWolf, here are the key :

KEYS
=====


ESC   : Select key/escape key
ENTER : Start key/enter a menu
L-CTRL: A key
L-ALT : B key

Quit  : ESC+ENTER

=======================

First check Oscillator works, and you have sound.
If this is the case, it's great.


You could do this to learn how it works.
Remove the file which contain my data, then create an empty one :

# rm data.pic
# touch data.pic

launch PatternPlayer

With the CTRL you add a "trig", or remove a trig.
with UP,DOWN,LEFT,RIGHT, you can check if the trig is activated or not.

type "ESC", you will see a BAR at the bottom of the screen.
you should see "[A/R]", this tell you that you are in the Attack/Release section.
Type ALT+RIGHT then ALT+UP, you will see two RECTANGLE moving.
You have set up part of the enveloppe, but you have not setup a NOTE.

Type ESC, then RIGHT,  you will be in the [NOTE] menu.
Type ALT+RIGHT then ALT+UP, you will see two RECTANGLE moving.

You should hear a sound.

Tell me if it works.

› Again

Thanks for the work btw wink

Last edited by PaK-Zer0 (March 11, 2014 2:01 pm)

It's a pleasure for me to help you wink

I'm dumb, the header was found, ( I think ).
The error come from the  g++ linking line, this one : "g++ -lSDL -lSDL_gfx -lSDL_ttf WaveView.o -o WaveView".
lt failed to find the library in the linking process.
So it should be related to "*.so" file not found in the linking process...

Just to help me to understand why, copy the content of the SDL library in your build directory.
Grab the .so by seeking them on your filesystem.

# ls -l /usr/lib      |grep -i sdl
# ls -l /usr/lib64 | grep -i sdl

find the SDL directory and copy it in your home directory.
with something like this

# cp -Rv /usr/lib64/SDL  .
# cp -Rv /usr/lib/SDL  .

Check the header are available in your working directory too, it is not a problem to copy them.
And check you find the "SDL_init" function there :

# grep SDL_Init SDL/*.h

Check the .so are available too

# ls -l SDL/*|grep -i so

The "-I." in "g++ -c -DLINUX -I. -LSDL/lib -g WaveView.cpp -o WaveView.o" tell g++ to add the header from your working directory.
The "-L./SDL" tell g++ linker to add the ".so" file in the "./SDL" directory in your linker resolution.

Then try this compilation line ( I add -lasound which is link to alsa lib, -lpthread wich is link to pthread library, -LSDL which is add the SDL directory from the SDL lib directory in your build directory  )  :

# g++ -I./SDL -L./SDL -lasound -lpthread -lSDL -lSDL_gfx -lSDL_ttf   WaveView.o -o WaveView

If this fix the issue, it's great, I will try to resolve this in the git tonight.

Johann

I'll test this tonight. Good work m8, keep it up big_smile

yoyz2k wrote:

Hi IceWolf, here are the key :

KEYS
=====


ESC   : Select key/escape key
ENTER : Start key/enter a menu
L-CTRL: A key
L-ALT : B key

Quit  : ESC+ENTER

=======================

First check Oscillator works, and you have sound.
If this is the case, it's great.


You could do this to learn how it works.
Remove the file which contain my data, then create an empty one :

# rm data.pic
# touch data.pic

launch PatternPlayer

With the CTRL you add a "trig", or remove a trig.
with UP,DOWN,LEFT,RIGHT, you can check if the trig is activated or not.

type "ESC", you will see a BAR at the bottom of the screen.
you should see "[A/R]", this tell you that you are in the Attack/Release section.
Type ALT+RIGHT then ALT+UP, you will see two RECTANGLE moving.
You have set up part of the enveloppe, but you have not setup a NOTE.

Type ESC, then RIGHT,  you will be in the [NOTE] menu.
Type ALT+RIGHT then ALT+UP, you will see two RECTANGLE moving.

You should hear a sound.

Tell me if it works.

I tried all that and no sound now hmm

Edit: works now, tried some more stuff

Update: it's not working consistently, most times it's being buggy, not playing all the sounds, or just one, or none at all.

Last edited by IceWolf (March 11, 2014 8:16 pm)