maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [BETA RELEASE] PhoneME Advanced (Java Mobile) (https://talk.maemo.org/showthread.php?t=81969)

Arthuro_Adam 2012-03-07 10:30

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1175714)
I do it a bit differently. I actually don't care if I am in landscape or
portrait mode. If I just get informed after rotation, that the window
width and height has changed, that is all I need.

Based on what I have read, it is a limitation of pure Qt4 on MeeGo.
The MeeGo SDK has APIs that are somewhat similar to Qt4. I
might have a go at implement it myself, but have no way to test
auto-rotation with the emulator so you guys could give me a hand
with that.

Davy

If you upload a new version, I will test it on N9.

DavyP 2012-03-07 10:57

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by freemangordon (Post 1175720)
And my code is an example for how to get this information in the correct way on Maemo5, relying on hildon-desktop force-rotation option is a hack. Would you mind to share how exactly you are doing it now?

I basically intercept window resize events with resizeEvent(QResizeEvent* event).

I use this both to capture going fullscreen or normal screen, but also for screen rotations.

I agree that the forcerotation was a hack. And I was able to get rid of that by adding setAttribute(Qt::WA_Maemo5AutoOrientation, true); But I don't need another signal/slot to figure out whether I am in portrait or landscape mode (I just care about the window ize).

So thanks for the feedback.

Davy

DavyP 2012-03-07 12:18

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by Arthuro_Adam (Post 1175778)
If you upload a new version, I will test it on N9.

It seems that setAttribute(Qt::WA_Maemo5AutoOrientation, true);
does not compile for MeeGo ('WA_Maemo5AutoOrientation' is not
a member of 'Qt'). So I had to '#ifdef Q_WS_MAEMO_5' that
instruction.

The latest build of today is available on
http://davy.preuveneers.be/phoneme/public/maemo/deb/

Though on the N9, I don't think you will see any auto-rotation.
There seems to be an approach to wrap QWidgets in a QML
project to support auto-rotation.

http://www.developer.nokia.com/Commu...d-N9-qt-Widget

I will first have a look at that before I go and restart rewriting the
UI frontend.

Davy

geneven 2012-03-07 12:42

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
I am just running Opera on my N900 with this, and every version works beautifully for me, with few exceptions.

freemangordon 2012-03-07 12:53

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1175801)
I basically intercept window resize events with resizeEvent(QResizeEvent* event).

I use this both to capture going fullscreen or normal screen, but also for screen rotations.

I agree that the forcerotation was a hack. And I was able to get rid of that by adding setAttribute(Qt::WA_Maemo5AutoOrientation, true); But I don't need another signal/slot to figure out whether I am in portrait or landscape mode (I just care about the window ize).

So thanks for the feedback.

Davy

Well, stritly speaking, you should not rely on your window size to decide if you are landscape or portrait, that is why desktop size is. Anyway, it is up to you.

When I am back home I will post some other Maemo5 specifics for fullscreen that might boost performance even further.

Arthuro_Adam 2012-03-07 16:22

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1175853)
It seems that setAttribute(Qt::WA_Maemo5AutoOrientation, true);
does not compile for MeeGo ('WA_Maemo5AutoOrientation' is not
a member of 'Qt'). So I had to '#ifdef Q_WS_MAEMO_5' that
instruction.

The latest build of today is available on
http://davy.preuveneers.be/phoneme/public/maemo/deb/

Though on the N9, I don't think you will see any auto-rotation.
There seems to be an approach to wrap QWidgets in a QML
project to support auto-rotation.

http://www.developer.nokia.com/Commu...d-N9-qt-Widget

I will first have a look at that before I go and restart rewriting the
UI frontend.

Davy

You were right, nothing visible change on N9.

DavyP 2012-03-07 16:38

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by freemangordon (Post 1175873)
Well, stritly speaking, you should not rely on your window size to decide if you are landscape or portrait, that is why desktop size is. Anyway, it is up to you.

When I am back home I will post some other Maemo5 specifics for fullscreen that might boost performance even further.

Actually, I don't make any distinction between running in portrait
or landscape mode, i.e. I don't need the window size to decide if
I am in landscape or portrait mode. I need the windows size for
other purposes. Let me try to explain this:

The phoneME backend is responsible for rendering a midlet in a
virtual framebuffer, i.e. a 16-bit RGB buffer of size width*height.
The Qt4 frontend then draws this buffer (after wrapping it in a
QPixmap). If the width or height changes (after going full screen
or after rotation), I get a Qt4 window resize event, and pass along
the new width and height to the phoneME backend so it can
update its RGB buffer accordingly.

Furthermore, since phoneME is drawing in a virtual framebuffer, it
only needs to know what the width and height of the framebuffer
is, not whether it is running in portrait or landscape mode.

Basically, the Qt4 front-end is only responsible for displaying a
16-bit RGB buffer and for redirecting all pointer and keyboard
events to the phoneME backend. The phoneME backend informs
the Qt4 front-end when the 16-bit RGB buffer has changed so that
the front-end can repaint it again. Next to that the front-end also
notifies the backend about window size changes, and can also
draw text on the RGB buffer using the local font (if you are not
using the monospace bitmap built-in font). The phoneME backend
does not use any Qt4 at all.

Anyway, I am looking forward to any tips you may have to further
improve the full screen drawing performance.

Cheers,
Davy

DavyP 2012-03-07 18:14

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Another request for N9 owners:

In my latest meego build available from http://davy.preuveneers.be/phoneme/public/maemo/deb/
I added some sound feedback for MIDP alerts. As the N9 emulator
does not seem to be producing any sound, could you check if you hear
anything when running the microemu demo midlet (Alert->Alarm alert etc).

You are supposed to hear some wav samples from /usr/share/sounds/ui-tones/

snd_default_beep.wav
snd_warning.wav
snd_information.wav
snd_query.wav
snd_warning_strong.wav

Thanks,
Davy

Arthuro_Adam 2012-03-07 19:19

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1176050)
Another request for N9 owners:

In my latest meego build available from http://davy.preuveneers.be/phoneme/public/maemo/deb/
I added some sound feedback for MIDP alerts. As the N9 emulator
does not seem to be producing any sound, could you check if you hear
anything when running the microemu demo midlet (Alert->Alarm alert etc).

You are supposed to hear some wav samples from /usr/share/sounds/ui-tones/

snd_default_beep.wav
snd_warning.wav
snd_information.wav
snd_query.wav
snd_warning_strong.wav

Thanks,
Davy

No sound on N9.

santiago 2012-03-07 20:06

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
My God!!! You added the sound support?!?!?!
Oh God!!!

!!!!!!A M A Z I N G!!!!!!!


thx thx thx thx thx!!!!!!!!!!!!

U made my day!!!!


All times are GMT. The time now is 10:32.

vBulletin® Version 3.8.8