Pandora Compiling Seq24 (Midi Sequencer) On The Pandora


Ok, git & libpnd set up (I'm running Ubuntu). Here's what my working dir looks like:

Code:
pnd_make.sh
PXML.xml
seq24.png
/seq24/preview.png
/seq24/readme
/seq24/run.sh
/seq24/seq24 (binary)
/seq24/seq24.png
/seq24/libs

PND create command:

Code:
bash pnd_make.sh -p seq24.pnd -d seq24 -x PXML.xml -i seq24.png

This creates a PND successfully, but it's not running yet.

Here's my run.sh, straight from the template on the wiki basically:

Code:
#!/bin/sh

# Do stuff here...

export LD_LIBRARY_PATH=`pwd`/libs
./seq24

# Clean-up

And for the record here is my PXML:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<PXML xmlns="http://openpandora.org/namespaces/PXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PXML_schema.xsd">
  <application id="seq24-0.8.7-pandora">
    <title lang="en_US">Seq24</title>
    <exec command="run.sh" x11="req"/>
    <description lang="en_US">Seq24 is a minimal loop based MIDI sequencer written by Rob C. Buse.</description>
    <previewpics>
      <pic src="preview.png"/>
    </previewpics>
    <icon src="seq24.png"/>
    <author name="Ported by Gruso" website=""/><!--Optional email and website, name required-->
    <version major="0" minor="8" release="7" build="1"/><!--This programs version-->
    <categories>
      <category name="Audio"><!--category like "Games", "Graphics", "Internet" etc-->
	<subcategory name="MIDI"/><!--subcategory, like "Board Games", "Strategy", "First Person Shooters"-->
      </category>
    </categories>
  </application>
</PXML>

Here's the output on the Pandora:

Code:
rm: cannot remove `/tmp/cpuspeed': No such file or directory
not mounted on loop yet, doing so
LoopMountedon: 
/dev/loop1
Filetype is ISO
sudo mount /dev/loop1
mounting union!
Filesystem is vfat
[------------------------------]{ App start }[---------------------------------]
/usr/pandora/scripts/pnd_run.sh: line 37: ./run.sh: Permission denied
[-------------------------------]{ App end }[----------------------------------]
cleanup done

(To do after this: Look into squashfs (pnd is 14MB), add snd-seq module loading stuff to script. But I'll get it running on my modified firmware image first)
 
Looks like you may need to chmod +x your script before making the PND. SquashFS is definitely worth looking at, but make sure your squashfs-tools are at least version 4.0 (last time I looked, Ubuntu only had 3.something in the repo).
 
Ah yes, after reading this thread I started looking at permissions. You will probably reel in horror at this, but all I did was select all files in /seq24, opened properties, and set global permissions to executable. This cowboy method worked, the new PND now runs on my (modified) firmware. :D

Now to test on a fresh firmware image.

[edit] Progress:

Each run was giving me a lib error, for example asking for libgtkmm-2.4.so.1 where the actual lib name was libgtkmm-2.4.so.1.1.0. After a couple of these I took a punt and edited them all to one digit (ending with so.x).

After doing this, the next output was asking for the snd-seq module. I take this to mean that the libs are all sorted and I've got one step to go. :)

[edit] Success! :) Adding this to the run script (thanks sebt3) did the trick:

Code:
if ! lsmod|grep -q snd-seq;then
  # the module isn't loaded
  if ! grep -q snd-seq /etc/modules;then
    # not loaded automagically
    gksudo -D "load MIDI module on startup ?" "echo snd-seq>>/etc/modules"
  fi
  gksudo -D "load MIDI module" "modprobe -k snd-seq"
fi

The last remaining issue is that it prompts for password on first run (which is not so bad), but it doesn't seem to load the module permanently, so it will prompt for password again after a system reboot.

So, anyone want to try it? http://users.tpg.com.au/pw2007/seq24.beta1.pnd (14MB, temporary link only)

(There is a minor GUI glitch: When maximising the window, it doubles some of the detail at the bottom of the window. Minimising then maximising fixes it. This, and the multi-windowed nature of the program, makes it unsuitable for use in Minimenu (unless you like lots of alt-tabbing). I'm happy with it as is, and won't be looking at the issue. :/)

To do list:
- squashfs
- fix snd-seq module loading if possible
- update readme for pandora version (how does one make this appear in the Documentation menu?)
 
Last edited by a moderator:
Gruso said:
Ah yes, after reading this thread I started looking at permissions. You will probably reel in horror at this, but all I did was select all files in /seq24, opened properties, and set global permissions to executable. This cowboy method worked, the new PND now runs on my (modified) firmware. :D
Well, yee-haa! Overkill maybe, but it could be worse ;-) You should only really need +x for executables, scripts and probably the shared libraries.

- fix snd-seq module loading if possible
Can't see anything wrong with the script. Is the extra line showing up in /etc/modules?

- update readme for pandora version (how does one make this appear in the Documentation menu?)
Take a look at the "info" tag, really easy.

Nice work - congrats on your first PND!
 
Last edited by a moderator:
Gruso said:
No need for a script, launches straight from my wee icon now.
...
Gruso said:
[edit] Success! :) Adding this to the run script (thanks sebt3) did the trick:
You're welcome, I knew it would help you :p

Gruso said:
To do list:
- squashfs
sudo aptitude install squashfs-tools
then :
pnd_make -c ...

Gruso said:
- fix snd-seq module loading if possible
SteveM question is right...

Gruso said:
- update readme for pandora version (how does one make this appear in the Documentation menu?)
http://pandorawiki.org/PXML_specification#The_info_element
 
Last edited by a moderator:
Neither. Perhaps I should have mentioned that earlier. It's just the standard password prompt. Gruso fail, I wasn't even reading the smaller text under the bold password prompt. :rolleyes: I'll do some more prodding, currently experimenting with running these commands direct from command line vs PND script.
 
I couldn't get this working last night, alas .. just kept asking me for the password over and over .. don't know why. I'll have another look at it tonight, maybe time for a bit of dissection, but I really look forward to using it on my Pandora -its very fun on the Touchbook (which is, alas, busted right now..)
 
Ok, following on from my last (edited) post. Running this in the terminal (pasted straight from script) gives me permission denied:

Code:
gksudo -D "load MIDI module on startup ?" "echo snd-seq>>/etc/modules"

snd-seq is not appearing in /etc/modules, so I'm thinking that the PND is only running each time thanks to this line in the script:

Code:
modprobe -k snd-seq

What does load snd-seq into /etc/modules is this:

Code:
sudo su
echo snd-seq>>/etc/modules

I'll incorporate this into a PND tonight and see how it goes. Question, is it overly naughty to do it this way?
 
Gruso said:
What does load snd-seq into /etc/modules is this:

Code:
sudo su
echo snd-seq>>/etc/modules

I'll incorporate this into a PND tonight and see how it goes. Question, is it overly naughty to do it this way?
It's pretty bogus but I don't think it'd work anyway. The "su" would start a new shell which would most likely hang as it won't receive any input. Even if it didn't hang, the "echo" will be run in to old, non-privileged, shell so you're not getting any further. I think you need to get the gksudo line debugged. It's probably something to do with quoting and/or redirection. As a last (and rather inelegant) resort, you could always make another tiny script which only does the echo and have gksudo run that.
 
Last edited by a moderator:
Gruso said:
Code:
sudo su
   echo snd-seq>>/etc/modules
just try this then :

Code:
gksudo -D "your label" su -c "echo snd-seq>>/etc/modules"
:)
EDIT:
SteveM said:
It's pretty bogus but I don't think it'd work anyway. The "su" would start a new shell which would most likely hang as it won't receive any input.
Actually most of the time "su" check if an tty is actually connected to its stdin. But there are work around :)
Code:
 su -c sh <<ENDROOT
 echo snd-seq >>/etc/modules
 ENDROOT
Anyway, you're right on the fact that this script may just hang : How will sudo have his password passed when launched from an icon/minimenu ?
 
Last edited by a moderator:
Not having any luck with any variations. Need to sleep now and look again with a fresh head tomorrow. :)

[edit] Continued in beta thread here: http://www.gp32x.de/board/index.php?/topic/56517-seq24-midi-sequencer/
 
Last edited by a moderator:
Sorry to bump but did anything ever come of this?

Audio tools were one of the most promising non-gaming possibilities on the Pandora. Unfortunately aside from a couple of trackers with less-than-ideal interfaces for the Pandora's screen.

Maybe I'll have to take a look at some stuff when I get my new Pandora. Hmm
 
Back
Top