Revision as of 01:34, 9 August 2010 by axeljaeger (Talk | contribs)

Music keyboard example in Qt

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic, Nokia N97 mini
Platform(s): S60 5th Edition
S60 5th Edition
Keywords: Qt Resource System, Animation Framework, GraphicsView, Orientation
Created: (06 Apr 2010)
Last edited: axeljaeger (09 Aug 2010)

Underconstruction.pngUnder Construction: This article is under construction and it may have outstanding issues. If you have any comments please use the comments tab.



Although Qt 4.6.3 ships with an audio backend for S60, it is unusable at the moment because of this bug: http://bugreports.qt.nokia.com/browse/QTBUG-9402

So a proper version that does not have to depend on native code has to wait till this bug has been fixed. Vote for it if you are interested.


The keyboard demo shows a music keyboard that can play tones in either square, saw or triangle sound wave.

In portrait mode, the user can choose a waveform and adjust the volume. A small keyboard for sound-test is provided in the bottom. In landscape mode, the whole screen is filled with a keyboard to be used for actual playing of a song.

The whole user interface is implemented with QGraphicsWidgets in a QGraphicsScene. Animated transitions between portrait and landscape are provided. Switching modes by rotating the device is provided using the XQDeviceOrientation-mobile-extension.

The whole project can be compiled also for the desktop. The UI is surrounded by a device skin then and a control panel to give the device orientation is provided.

Sound playback is provided when compiled for S60 using native code. As soon as the is a backend for Qt multimedia for Symbian is available, the example will be ported to use the Qt audio system. Playback will then on both mobile and desktop using the same code path.

Because of XQDeviceOrientation, the example uses ReadDeviceData and thus cannot be self signed. Use symbian signed online for your own testing.





110 page views in the last 30 days.