On 08/28/2014 04:14 PM, Tobias Boege wrote:
On Thu, 28 Aug 2014, Kevin Fishburne wrote:When you store data files in the project directory and compile the program those files are contained within the resulting .gambas executable. From within the program they can be accessed as though they were in the current directory. Is it possible to access (read only) those files using a command executed by Shell? For example:Shell "cat ./FileInProject" I'm making a very simple SoundFont previewer that calls fluidsynth with the passed SoundFont and a MIDI file embedded in the project/executable. I could load the embedded file then write it to the user's /tmp directory and pass that to fluidsynth, but won't if I don't have to.No, the file is compiled into the .gambas archive. When your Gambas code executes, the interpreter takes care of those relative paths and maps them to the correct places in the (mmap'd?) archive file. An external shell can't do that. If there is some data you normally need during execution, it might be better to provide an installation packages which puts these files to /usr/share. But otherwise you can "unpack" the archive once your program starts up by recursively copying the "." directory (or any subdirectory of that) from inside the Gambas process. We had a thread around here yesterday or so which shows how to copy directories recursively. Then refer to the files using the temporary location you unpacked them to. Regards, Tobi PS: Or what Benoit said... BTW: is the .gambas file in a Gambas-specific archive format?
Thanks Benoît and Tobias. This made it simple enough: Try Copy "Preview.mid" To "/tmp/Preview.mid" ' Set command string.Command = "fluidsynth -apulseaudio -i -n \"" & Application.Args[1] & "\" /tmp/Preview.mid"
' Play sample MIDI file using passed SoundFont. Shell Command WaitI attached the insanely simple program in the event anyone would find it useful. Just associate .sf2 files with the GAMBAS executable and you can double-click a SoundFont in your file manager to hear a preview. It uses PulseAudio and fluidsynth, so adjust as necessary. The general idea is to make the organization of SoundFonts easier by allowing the use of your distro's file manager.
-- Kevin Fishburne Eight Virtues www: http://sales.eightvirtues.com e-mail: sa...@eightvirtues.com phone: (770) 853-6271
SF2Preview.tar.gz
Description: application/gzip
------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/
_______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user