Release Oolite


Now that I understand what's happening I should be able to create a keyconfig.plist that fixes these combinations, so that they work with the correct (for the Pandora) keys.
My cunning plan to fix the issue with a customised keyconfig.plist failed miserably. :-(


oh well.. I guess I'll just have to keep using the the work-around.


- Neelix
Do you want me to code something? I can probably remap some keys at source level... just tell me witch ones.
 
Now that I understand what's happening I should be able to create a keyconfig.plist that fixes these combinations, so that they work with the correct (for the Pandora) keys.
My cunning plan to fix the issue with a customised keyconfig.plist failed miserably. :-(


oh well.. I guess I'll just have to keep using the the work-around.


- Neelix
Do you want me to code something? I can probably remap some keys at source level... just tell me witch ones.
The issue is with Symbol keys that have their own Fn+key combination on the pandora, but are shifted on a regular keyboard.

ie:   : ? | _ +

There are others this might apply to, but they aren't used in-game by default,  so these are the ones I've found.

Currently we can access those the same was as in DOSbox by shifting the symbol they share a key with to on a normal keyboard, but it's somewhat counter-intuitive if you're expecting ":" to be ":" rather than shift+";"

- Neelix

EDIT:  I'm not sure I'd want these hard coded to their respective actions in-game, as that would make things difficult for those who want to remap the keys,  but if you could find a way to map the relevant keycodes to those symbols... 
 
Last edited by a moderator:
Okay, here are the lines that I think are new from my pndrun.out file.  This run had Deadbeef running in the background, configured to use the ALSA output plugin, but had the music paused (it was a 3hr radio programme, so I didn't want to stop and restart it):
 

ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front

ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
AL lib: (WW) FreeDevice: (0xedf9d0) Deleting 21 Buffer(s)

This then kills all audio until I reboot, as far as I can tell, and also apparently leaves the nubs misconfigured on exit, though it may just be that it was being slow to finish up, as I'd reconfigured my nubs back to the way I like them before my pnd_post_run script evidently got run.
 
Okay, here are the lines that I think are new from my pndrun.out file.  This run had Deadbeef running in the background, configured to use the ALSA output plugin, but had the music paused (it was a 3hr radio programme, so I didn't want to stop and restart it):

ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline


ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline


ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream


ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream


ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave


ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream


AL lib: (WW) FreeDevice: (0xedf9d0) Deleting 21 Buffer(s)
This then kills all audio until I reboot, as far as I can tell, and also apparently leaves the nubs misconfigured on exit, though it may just be that it was being slow to finish up, as I'd reconfigured my nubs back to the way I like them before my pnd_post_run script evidently got run.
The new version use PortAudio for the Audio Backen of OpenAL, so the Speech Synthesis works now.

But maybe there are some bad side effect now. But I'm afraid it will be difficult to have everything running it seems. I have to re-check maybe.
 
Yeah, that's fair enough.  It may be enough that it's outputting to the OSS plugin which conflicts with anything directly communicating with ALSA (which is by design I guess, as OSS is a single-process sound system).  I remember that before I switched Deadbeef from OSS to direct ALSA I was unable to listen to music while playing DraStic, for example (not that that tends to work very well with Nintendo games anyway).  Or perhaps it's not that at all.

Still. I'd got rather used to playing oolite and listening to music at the same time, so it'd be nice to still be able to do that even if it meant I couldn't have speech.
 
Yeah, that's fair enough.  It may be enough that it's outputting to the OSS plugin which conflicts with anything directly communicating with ALSA (which is by design I guess, as OSS is a single-process sound system).  I remember that before I switched Deadbeef from OSS to direct ALSA I was unable to listen to music while playing DraStic, for example (not that that tends to work very well with Nintendo games anyway).  Or perhaps it's not that at all.

Still. I'd got rather used to playing oolite and listening to music at the same time, so it'd be nice to still be able to do that even if it meant I couldn't have speech.
If you don't use espeak functionnality, you can switch OPenAL to default alsa. Look in appdata/oolite/home and mess with the "alsoft.conf" file to switch back to alsa...
 
Thanks. I've had a look at that file now.

In the mean time I've found how to reenable alsa in deadbeef after an audio crash, so you don't have to reboot.  Simply go to edit->preferences and on the first tab (sound) select null audio plugin.  Check the track has restarted playing (albeit silently) and start it if not.  Now, back in preferences set the output plugin to the ALSA output plugin, and that seems to be enough to get playback working again.  My gamma and nubs are still screwed up, but that's relatively straightforward to fix.

However, I've not been able to edit alsoft.conf to stop this crash happening when something else is also using the sound system (albeit paused, what have you).  According to the interwebs, the arguments to the 'drivers' setting are a simple unquoted comma separated list.  The existing setting on the other hand was "port,".  So far I've tried setting it to '"alsa,"', 'alsa', 'alsa,' and 'oss' but the behavour doesn't seem to change - my playing audio stops as the game loads, game sounds are disabled, and I get a crash-type exit on quitting.  Can you advise how settings should look in this file to alter this behaviour in any way?

FWIW if I don't have anything on the sound system audio seems to work fine whatever's in this file, and it doesn't crash on exit.  I've not yet tested enabling voices with non-standard settings though.
 
Same behaviour, I'm afraid - stops alsa playback, kills game audio, crash exit, broken alsa.  Nothing new written to the file.

FWIW, I've worked out the minimal steps to restart ALSA playback in Deadbeef now, in case it's of any use to anyone.  Just go to Edit -> Preferences, Sound tab, Output plugin, set to null then immediately set to ALSA - you should hear sound again now, and can close the preferences.
 
So, I tried to fix the key issue. I know that ":" works, but no idea about the other keys...

I updated glshim also, but haven't notice any effect (negative or positive).

Build 12

----------

  • updated to latest glshim
  • attempt to fix accessibilitie of special keys (namely ":confused:|+", at least : works).
 
Same behaviour, I'm afraid - stops alsa playback, kills game audio, crash exit, broken alsa.  Nothing new written to the file.

FWIW, I've worked out the minimal steps to restart ALSA playback in Deadbeef now, in case it's of any use to anyone.  Just go to Edit -> Preferences, Sound tab, Output plugin, set to null then immediately set to ALSA - you should hear sound again now, and can close the preferences.
Can you try with the new DeaDBeeF release?
 
Will do.  I also noticed a new OpenAl update when I did an upgrade from post-SZ 1.60 to post-1.61, and have been meaning to retest after that too.

Quick test with a still empty alsoft.conf file, still blocks audio on launch (including game audio), still leaves nubs as joystick/mouse and doesn't run my pnd_post script until well after I've gone and reconfigured the nubs.  I also need to wait until it's run my post script and presumably unmounted before I can reinit deadbeef's alsa connection and get the music going again.

Is this not something you can try yourself? I'd hope it's pretty easy to replicate for you or others, unless my setup is in some way peculiar. I'm happy to continue to test this though. of course.
 
Will do.  I also noticed a new OpenAl update when I did an upgrade from post-SZ 1.60 to post-1.61, and have been meaning to retest after that too.

Quick test with a still empty alsoft.conf file, still blocks audio on launch (including game audio), still leaves nubs as joystick/mouse and doesn't run my pnd_post script until well after I've gone and reconfigured the nubs.  I also need to wait until it's run my post script and presumably unmounted before I can reinit deadbeef's alsa connection and get the music going again.

Is this not something you can try yourself? I'd hope it's pretty easy to replicate for you or others, unless my setup is in some way peculiar. I'm happy to continue to test this though. of course.
Yup, I can probably try myself.

But what you discribed is what I had before between Oolite & espeak speech. Now, I can get Oolite sound & espeak working together (I assumed because I have put openal use portaudio first), but not with other apps, so maybe I have to check with the portaudio code, that doesn't seem to like sharing alsa output?!
 
There may be some clues in the pndrun file I guess.  Observing mine, after exiting the game, the pndrun stopped after:

ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1014:(snd_pcm_dmix_open) The dmix plugin supports only playback stream

I then waited for my post-script to run, and checked again:

AL lib: (WW) FreeDevice: (0xfd9260) Deleting 1 Buffer(s)
libGL: built on Jul 12 2014 22:51:56
libGL: framebuffer output enabled
LIBGL: Current folder is:/mnt/utmp/oolite
[ START ]--- Starting user configured post-script ----------
[sUCCESS]--- Starting user configured post-script ----------

LIBGL: Texture shink, mode 2 selected (only > 512 /2 )
[sUCCESS]--- Starting the application ( runscript.sh  ) ----------
 

That had been added the the pndrun log file.  Perhaps some out the output was being buffered (that LibGL stuff looks out of place to my untrained eye) but if not it was that deleting buffer thing that too a long time to complete.  No crash is happening on closer inspection, it just takes a while to sort itself out.

Also that stuff about the dmix plugin might be a pointer to why it doesn't play nice with othter stuff.  In my mind the fact it kills audio if it tries to coexist, and that it's slow to quit are two separate issues, but they probably have the same cause, so it's up to you which one you want to dig into first, if indeed you feel like squashing this bug.
 
FWIW, I've just spotted a configuration option in DeadBeef while looking for something else, and it is of some use in getting it and Oolite to play together nicely (though not at the same time, if you see what I mean).


The option is under the ALSA output plugin config, so you need to go to Edit -> Preferences -> Plugins -> ALSA Output Plugin -> Configure then tick 'Release device while stopped' and hit 'OK'. Now, just having DeadBeef running in the background but stopped no longer causes Oolite to complain, which is a lot more convenient to use.


You still have to beware that if you've got a file open in DeadBeef but paused, that will still be holding a connection to ALSA so will still stuff up Oolite, but you may be able to get around that by switching to a different output plugin after pausing it, not sure. Either way, if you do screw things up, all you need to do now is wait for Oolite to unmount (can take five minutes or so), then stop the track playback and start it again, and audio will be restored, rather than having to fiddle with the configuration to get it working again.


And having a file playing in DeadBeef while trying to play Oolite is still a no-no in this version of Oolite, of course.
 
Last edited by a moderator:
New PND only to make it compatible with firmware 1.62+

Build 13

------------

  • Compatible with Firmware 1.62 and later
  • If on earlier firmware, no need to update
 
Updated released on the repo.

Note that I didn't had a stable bianry when using GCC 5.1 for this one, so I had to fall back to 4.9 (current codeblocks released on the repo) to compile it.

But I used updated libs, and espeicaly glshim, using BATCH mode, I hope I got a few fps more.

Build 14

------------

  • Updated to 1.82 version
 
Back
Top