Hey !!!
I'm on hollyday and your message come right to my heart Jalex smile
For me it's a : "I like your soft".

This last month, my spare time was spent on arduino, stm32, and usb, i'd like to create a hardware sequencer, so I spend time learning those new things.
Unfortunately it has impact on picoloop, I have not spent enough time on picoloop  this month... But there will be more trust me, I work secretly on it at the same time wink

do you know if adding a wav export for the 4 different tracks at once would be easily doable?

Hi garvalf smile
Yes, it is doable, really smile

Like all feature, I take times to do, but really this one is doable.
I have not done it already for some reason, I will explain first the workflow of the sound :
- each "machine" send a mono stream to a monomixer;
- the "monomixer" has an amplifier which boost/reduce the signal and clip it if it is too loud, it has a send effect which goes to the FX, a delay ( here I should be able to replace the delay with wathever ) ;
- a global mixer ( AudioMixer ) receive the 4 monostream and send one new monostream which is the addition of the 4 monostream and apply the global amplification ( esc+up, esc+down) to the AudioEngine ;
- the audioEngine push the sound to the audiocard via the AudioDriver and sync it with the midi, at the same time it write the wav file ;

So to add the 4 wavefile stream feature, I need to :
- remove the audioMixer wich is really useless, today it only add the 4 mono stream together, which can be done elsewere for example in the AudioEngine ;
- use only the MonoMixer and the AudioEngine and create 4 wav file instead of one....

So really, there is not a lot of work to do it..
But, if I do it, i'd like to "be able" to change the effect of the FX menu. Because, ok we have a delay, but we can have a chorus, a bitcrusher, a reverb ( on pc desktop ), or other kind of delay, and at the same time have stereo and stereo effect...
I need to add a bitcrusher or some FX which is really not cpu intensive to have two different effect on all platform.

So yes, it is doable, and it will be done. it does not need a lot of work to do it, really smile But like all thing, I take long time to think twice about it. Because I don't want to do the work multiple time.
I need to redesign the FX to be able to have different UI which are linked to the FX use on a step ;
The 4 wav stream export need the stereo feature too smile
Now you better understand the design and how i will implement it smile

In the end, I think I will keep the FX like this, for now and add the multiple audio stream... Because it will be too much stuff, but I need to switch to stereo sample, I don't have choice... And I will only use 44.1KHz 16 bit stereo.

It's like ten to twenty hours of works I think, so, it can be done smile

oh, it's quite too much work. Don't bother with this if you believe it's not that useful.

Hmm, it's quite usefull IMHO, so yes smile
But I can not promise anything.
For me developping this software is like a giant puzzle, you need to put the right piece at the right time and I need to keep the fun, so I don't want to think too much at deadline, because it kill the fun and I don't planned to live from money on this software, my dayjob and my spare time are my top priority wink

So yes smile because stereo is usefull and it need to be solved. But when ???

Awesome!!! Waiting new version with p-locks!!!
Good luck!!

I'm pretty determined to get this to build on osx.. any tips on which flags to try?

Specifically for the pattern player make file, the other two are easy to figure out

for osx you'll probably have to change the makefile because OSX is using CoreAudio instead of Alsa. But since Picoloop is using rtaudio which support several backends and OS, it should be possible. But it won't work out of the box. I can't help more, I'm sorry.

yoyz2k adviced to start from Makefile.Patternplayer_raspi1

Last edited by garvalf (Jun 7, 2017 6:46 am)

Yes !

Like Garvalf say, the simpliest way to do the first build is using Makefile.PatternPlayer_raspi1_RtAudio
It will compile lots of .o file and RtAudio, then link all .o file to a big binary.

So, RtAudio on MacOSX should not use this -D__LINUX_ALSA__ -D__LINUX_PULSE__, so remove it from the Makefile, you will use the MACOSX.
Replace the two -D by this one -D__MACOSX_CORE__

Then, I think the compilation could continue until the link.
The link stage will not need this line from the Makefile.PatternPlayer_raspi1_RtAudio :-lasound -lpulse  -lpulse-simple
It will need library from macosx and here... I can not help, because I have only use few time a mac osx in my life... But reading the lgpt makefile I think this one should works : -arch i386 -framework SDL -framework Cocoa -framework Carbon

And install the SDL1.2 for macosx from SDL1.2 site.

And sent me via https://gist.github.com/ ( if it work again ).


OK. I'll give it a try. I shouldn't try getting the SDL2 version to compile, but stick to SDL1 ?

Here's what I used and what I got:

https://gist.github.com/minikomi/a1ab33 … 35fa5a986e

Hmm, ok, so it use clang instead of gnu gcc.
I will install it and try to debug the compilation from my debian laptop, thanks !
I have now access to a mac osx I will dig this.

Last edited by yoyz2k (Jun 8, 2017 8:41 am)

Yeah, I think since 10.8 clang became the default.

I've made a binary with clang on linux.
I had the same compiler error, so it's a clang issue here AND a code which was written with a not too restrictive compiler ( which is cool but not too good ).

Clang is really a strict compiler and lots of 'undefined behaviour' ( const char * vs char * ) which are allowed with -fpermissive on gcc are strictly forbiden on clang.
So I will try to workaround theses issue on linux before trying to make a osx binary.

Today drop the idea to make a picoloop binary by yourself if you use a clang compiler !
It's just too much work before I clean this pedantic issue on clang compiler wink

So picoloop is not clean enough for this compiler smile

Last edited by yoyz2k (Jun 8, 2017 6:17 pm)

Got it. i'll give it a try with g++ today.