Axoloti wont play back samples!


#1

Hey there everyone happy summer...

Been a while since i have been here and playing around with the axo but the time came for it now... im trying to get a old drum machine i made to run but just get a "error" that it could not find the sample.. checked the sd card to see if it was still there and it was but the axo just comes with this message Axoloti says: file error: FR_NO_FILE, filename:"0:/untitled/606KICK.RAW"

Tried delete the files and load one in again but still the same?!

Anyone who could help a fellow patcher out here

Kalle


#2

What version of the Axoloti Patcher are you using?


#3

Newest just updated it all yesterday... i might recon i need to reformat the sd card?!


#4

samples now need to be in the same directory on the sdcard as the patch. (named the same as patch)
OR prefixed with / (backslash) in the axo object your using.

(so in your example you had probably not named the patch, hence why it was called untitled, so was referring to a directory called untitled)


#5

ahh its a old patch so it never was before all this was changed and i havent really had time to dig in a long time

so i should defo try the / thing out


#6

So lets say i have a sample named 606KICK.raw thrown onto the sdcard not in anyfolder or anything how would the command/string/line of text look to get the axo to find it ?!

/606KICK.raw i tried this but no result..

ahhh okay i might get it now... i create a folder on the sdcard and name it the same as the patch and in there i throw the samples i wanna use and then name the "waveplayer Text" the path of the sample?!

food then try it out :slight_smile:


#7

ok, so I tested out (I dont use samples much, so its been a while)

the /606kick.raw will only work if you use the play (or whatever) with the filename input.
e.g. top wont work, bottom will

the 'principle' as far as i remember is, the first form is where you want your samples with your patch, and axoloti automatically uploads. (so just choose the file, using the choose button and your golden)
the second form is for dynamic samples, e.g. where you might calculate the filename, of course then, its impossible for axoloti to know what files might be required, so your on your own, to place them where you wish.

I guess we could have a play fn, that had both a choose option, but then had a target filename.. or perhaps a target directory for the sample. but takes a bit too much UI patching space really.

another option would be to have an 'option' for where to look for 'remote file', it could default to patch directly, but be overridden by the user, should they wish to have samples etc in a common place on the sdcard.

@johannes, what you do you think on the 'remote file location' (sd card resource directory) option?

also, Ive noticed its creating a patch directory on the sdcard, even if no resources are being saved, we can probably stop this, only create when necessary. (resource to upload, or patch is being saved to sdcard)


#8

Thx alot mr bear :wink: help alot changed a bit since last time


#9

Pushed a fix to git, for the next release.

@thetechnobear
Separating local filename and remote filename, I think only adds confusion.
I think there are two common scenario's:

  • Path to an existing local file given in the patch: assume it is a file on the sdcard in a folder with the same name as the patch, auto-upload if file the file is not present already, and is reasonably small.
    The path to the local file could be one to a file relative to the patch location (just the filename), could be relative, like starting with ../file, folder/file, ../folder/file etc, or an absolute path. Only if the patch is saved relative paths are possible.
  • No resolvable local file: running the patch will try to access the file by the text in the filename field. Without leading "/" this will be relative to the folder with the patch name on the sdcard.

This conflicts when you want to access a file in (or relative to) the root of the sdcard while that file also exists on the local file system. Unless you replicate a folder structure on the sdcard that is similar to the local computer filesystem, like /Users/joe/Documents/test.raw, or store your test.raw on the root of your local filesystem, this is not a problem.


#10

unfortunately, I (personally) think that model is a bit confusing... as it mixes the idea of where to source a file from, and where it goes. /kick.wav seems to refer to a file on your local file system in the root directory.... yet, its basically using the 'absence' of a file to say 'do it yourself'. this of course then leads to a potential problem - lets say a user creates a patch that uses a local sample, but then deletes/moves it (say a month later) on the local machine. now they only get an error when the patch is run (and when the sampled is triggered), since its now a 'dynamically resolved file'.

ideally, I think the way forward is library dependencies (which starts to get us in to packaging)
so... (first , baby steps, so local library dependency only*)
a) libraries are extended, to have a resources directory, with sub types, so we end up with:

/patches/
/objects/
/resources/waves
/resources/samples
/resources/data (?)

(note: the subdirectories under samples are under control of the user, like objects/patches)

b) we then allow a patch to be dependent on other libraries (initially local user libraries)

c) dependent libraries, have their resources sync'd to the SDCard, under the library name
so on a sd card we have potentially have something like:

/mypatch/localsample.raw
/mylibrary/waves/wdorf/mywt.wt
/mylibrary/samples/bigkit/kick.wav

d) play objects etc.
questions here about how to 'reference' a file in a library, it seems possibly you might need something like: of course, this could with a choose option be 'hidden' to some extent from the user, with a library file selection dialog. (the referencing format, is needed for dynamic handling)

I think the above, would allow the user to not only keep there samples etc together and share among patches, but also not have to worry about uploading files manually to the SDCard.. and (for me importantly) it works with multiple axolotis, you don't have to worry, if you have uploaded things to a particular sdcard or not, its 'automatic'
(I suspect for many users, they may just have one library which holds everything, for simplicity)

note: the user already, has a local library, in ~/Documents/Axoloti, so using the above logic, we can place a resources directory there, and immediately have something a user can use without 'thinking about it'

(id say a default library dependancy of factory + contrib +local , is reasonable, and for now we still don't allow resources to be added to user library, as I fear samples etc there, is calling for uncontrolled growth, and slow syncing times ... adding factory, has a nice side effect, that we can finally remove the drums from the flash rom, IF we say an sdcard is required, otherwise we need to support embedded samples in patches :frowning: )

(*) of course, libraries (and resources) can of course be hosted on git still, by local library dependancy, I mean we are not going to say a patch can be dependent on a remote library (package) on the internet, and axoloti, goes download it. the user will have to have already added the remote library in preferences.

anyway something, we can agree on post 1.0.10 release, and then I can take a look at.


#11

whew glad i found this thread :slight_smile:


#12

actually i cant get anything to work. even with files inside the directory. I just get a compile error. Will check some more, but quite confused now.
Tried named patches with files inside, and trying an untitled patch now with a file inside the folder on the sd. Using string object connected to table load object or a wave/ play.
Also not sure how the "choose" button is supposed to work, i don't think it uploads anything into the patch folder on the sdcard, and the filename doesn't get updated.

+
i guess it crashed because it can't find the file:

INFO: . C:/Users/alex/Documents/gcxoloti2/axoloti/axoloti-factory/objects/wave/s
treamer.h
Jul 30, 2016 8:46:28 PM qcmds.QCmdShellTask$StreamHandlerThread run
SEVERE: C:\Users\alex\DOCUME~1\GCXOLO~2\axoloti/build/xpatch.cpp:3:91: fatal error: C:\Users\alex\Documents\gcxoloti2\axoloti\firmware../chibios/ext/fatfs/src/f
f.h: No such file or directory
Jul 30, 2016 8:46:28 PM qcmds.QCmdShellTask$StreamHandlerThread run
INFO: #include "C:\Users\alex\Documents\gcxoloti2\axoloti\firmware../chibios/ex
t/fatfs/src/ff.h"


#13

this looks like you have set the firmware directory in preferences... (not sure why, its pointing where it is)
you should point it to the firmware directory that is contained in the axoloti application directory


#14

Thanks for the reply. The settings (which i didn't touch) seem to be pointing to the correct dirs.


#15

the crash only happens with objects that load a file - took a look at the wave/play object and it has this in it:

<includes>
<include>./streamer.h</include>
<include>chibios/ext/fatfs/src/ff.h</include>
</includes>

maybe this messes with my setup. will edit the chibios dir and see if it helps.
(this is a compiled version of axoloti from latest git)

** yeah it was the ff.h from chibios - thanks. Moved it and edited the objects and not gonna worry about it for now.


#16

unfortunately, I don't have a windows system to hand, get a screen dump of the normal install...
here is the mac equivalent...

as you can see the runtime and firmware directories on initial install are set to the applications directory... not the documents directory.

so the error, was... the patches using the filesystem need to find the firmware files, and they weren't all there.

the only thing, I can think of is perhaps you installed it in the documents directory at some point, and later moved it? or perhaps this was some spurious error on a previous version.

the reason these are configurable, is mainly if you want to do your own firmware development.

anyway, what you could do is just delete the axoloti.prefs file
just remember to set up your community library again, if you have your contributor details set.
also, Id then advise you delete the firmware directory in your documents (if you copied it there), to prevent future confusion.
this could be very important when you upgrade... since if your not careful you may end up running with different firmware on the board, to the header files your patches are compiling with, and this will lead to many spurious errors :frowning:


#17

thanks technobear! really appreciate your help.


#18

my pleasure, hope your samples are now working ok.
happy patching