Panorama


ok, let's avoid confusion here... are you saying that Pandora IS using Phonon? or that it should be able to handle Phonon?

What I was saying is that Pandora currently seems to use a mix of ALSA and OSS that I can't fully wrap my head around...
 
Custom Processing Unlimite said:
ok, let's avoid confusion here... are you saying that Pandora IS using Phonon? or that it should be able to handle Phonon?

What I was saying is that Pandora currently seems to use a mix of ALSA and OSS that I can't fully wrap my head around...
It should be able to handle it is what I meant... Aargh, words. Fail. Me.

Anyways, tl;dr: Your problem, not mine :D
 
Last edited by a moderator:
dflemstr: First of all, great to have you working on this. Also, if I've forgotten to credit you somewhere, please let me know :p. I do try.

Regarding the sound issue, I'll try to look into it this weekend. If panorama is hoarding the sound device, it should affect all other programs, right? But some games like giana's return or zelda classic still have sound when launched from panorama. Only games using SDL_Mixer seem to be influenced.

I pulled and compiled/packaged the new panorama/pandora-libraries to a PND, but noticed two regressions: first, PND applications don't get icons anymore. Second, applications can't be launched anymore. I'm a bit on the whisky already so I'll look into these later. The new settings format is something I thought of doing myself at some point, but I'm glad you did it already :)
 
B-ZaR said:
Only games using SDL_Mixer seem to be influenced.
All my games using SDL_Mixer have :
export SDL_AUDIODRIVER="alsa"

you might want to try to force this too. Else disabling phonon is just a matter of dropping the library ;)
 
Last edited by a moderator:
B-ZaR said:
dflemstr: First of all, great to have you working on this. Also, if I've forgotten to credit you somewhere, please let me know :p . I do try.

Regarding the sound issue, I'll try to look into it this weekend. If panorama is hoarding the sound device, it should affect all other programs, right? But some games like giana's return or zelda classic still have sound when launched from panorama. Only games using SDL_Mixer seem to be influenced.

I pulled and compiled/packaged the new panorama/pandora-libraries to a PND, but noticed two regressions: first, PND applications don't get icons anymore. Second, applications can't be launched anymore. I'm a bit on the whisky already so I'll look into these later. The new settings format is something I thought of doing myself at some point, but I'm glad you did it already :)
Yeah I feel plenty credited already, no worries...

I pushed some more settings changes, and I know what the icon bug is, so I'll fix that next.

EDIT: Fixed.

Oh, and I obviously don't own a Pandora so I can't test anything related to the sound bug. Yes, I developed that PND finding code without ever testing it, why do you ask? :p
 
Last edited by a moderator:
Can someone give me a list of buttons on the Pandora and what key codes they are mapped to, along with preferred functionality for each button (e.g. what is the best button for opening a configuration menu for panorama, what is the best button for launching the app, or showing more details, or favoriting it, etc)?

I can greatly improve the user experience of the application if someone would be so kind :p
 
X - pgdn
Y - pgup
A - home
B - end

D-pad: arrow keys
Start - ALT
SELECT - rctrl (I think)
L-trig: shift
R-trig: lctrl

This is as long as nobody has changed it in their configuration, which does happen. So I'd suggest you make it tweakable.
 
Alerino said:
do you need xmodmap key codes?
Maybe... How would I go about determining which button was pressed independent of the mapping? I don't wanna open "/dev/event..." manually, so what's the best option one level above that?
 
Last edited by a moderator:
dflemstr said:
Alerino said:
do you need xmodmap key codes?
Maybe... How would I go about determining which button was pressed independent of the mapping? I don't wanna open "/dev/event..." manually, so what's the best option one level above that?

well for the dpad buttons there is:
http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=include/pnd_io_evdev.h;hb=HEAD

and for a single keypress check there is:
http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=include/pnd_io_ioctl.h;hb=HEAD

these are pandora specific functions, though. dont know if that fits your needs.
 
Last edited by a moderator:
crow_riot said:
dflemstr said:
Alerino said:
do you need xmodmap key codes?
Maybe... How would I go about determining which button was pressed independent of the mapping? I don't wanna open "/dev/event..." manually, so what's the best option one level above that?

well for the dpad buttons there is:
http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=include/pnd_io_evdev.h;hb=HEAD

and for a single keypress check there is:
http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=include/pnd_io_ioctl.h;hb=HEAD

these are pandora specific functions, though. dont know if that fits your needs.
Right, I remember messing with that code 2 years ago...

So I added direct, no-nonsense support for Pandora buttons in UIs. Could someone test them by running the UI "TestSuite" using the latest panorama build?
 
Last edited by a moderator:
^ Running now. Also added a missing include to the pandora version.

EDIT: Ran testsuite. the full screen test seems to only toggle between fullscreen and windowed when a button is being pressed, eg. d-pad down. Settings test doesn't seem to have much effect, et least visible. The buggon names are not printed with html formatting, but in plain text containing the span-tags.

The UI seems to now draw for the first time only after the first input event is received. Before that the UI is just one color. Actually the UI updating seems to break entirely when the game controls are enabled. It works really erratically.
 
B-ZaR said:
^ Running now. Also added a missing include to the pandora version.

EDIT: Ran testsuite. the full screen test seems to only toggle between fullscreen and windowed when a button is being pressed, eg. d-pad down. Settings test doesn't seem to have much effect, et least visible. The buggon names are not printed with html formatting, but in plain text containing the span-tags.

The UI seems to now draw for the first time only after the first input event is received. Before that the UI is just one color. Actually the UI updating seems to break entirely when the game controls are enabled. It works really erratically.
OK, this means that pnd_evdev_catchup(1); doesn't behave like I expected; can you try with pnd_evdev_catchup(0);?

If it still doesn't work, I'll use a different method of input handling.
 
Last edited by a moderator:
Did. Now UI updates almost normally. For some reason GridView (at least in Tabbed) doesn't scroll when the higlight moves (partly) off screen until the next time it's moved (eg. sideways), but otherwise works peachy. HTML rendering is better now, no more tags visible, and start/stop text shows the right color. The button press texts are not supposed to have color, right? Settings and fullscreen tests work correctly now too. L/R buttons are not reported though.

The PND launching problem is probably because panorama tries to start "application.pnd-e". I think there's a space missing somewhere in string catenation.
 
B-ZaR said:
The PND launching problem is probably because panorama tries to start "application.pnd-e". I think there's a space missing somewhere in string catenation.
Can you elaborate on this? The related code is obviously:
Code:
void PanoramaUI::execute(const QString &sha1)
{
    QString command(AppAccumulator::getExecLine(sha1));
    if(!command.isEmpty())
    {
        Application app(AppAccumulator::getApplication(sha1));

        //Fill in FDF fields
        command.replace("%c", app.name);
        if(!app.icon.isEmpty())
            command.replace("%i", app.icon);
        command.replace("%k", app.relatedFile);
        command.remove(QRegExp("%\\w"));

        QProcess::startDetached(command);
    }
}

Can you insert qDebug() calls to see whether the exec line is wrong, or if its this code that causes the error? Alternatively, can you send an example PND-generated .desktop file?
 
Last edited by a moderator:
Here's one:

Code:
[Desktop Entry]
 Name=Panorama
 Type=Application
 Version=1.0
 Icon=/tmp/iconcache/bzar-panorama.png
 X-Pandora-UID=bzar-panorama
 Comment=A user interface engine based on Qt Quick
 Exec=/usr/pandora/scripts/pnd_run.sh -p "/media/mmcblk0p1/pandora/desktop//panorama.pnd" -e "scripts/panorama.sh" -b "panorama"
 Categories=Utility;Qt;
 X-Pandora-Source=libpnd
 
Back
Top