123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- Drumkit v1.2
- ============
- This Java ME application demonstrates the usage of multiple audio players on a
- Series 40 device. It is a virtual drumkit that lets you play percussion sounds
- by tapping the screen. You can record your beats and play them back later. It is
- also possible to play on top of your latest recording. The updated version has
- a new acoustic kit and pad kit views and multitouch support for Series 40 full
- touch devices, optimised graphics drawing, and audio playback.
- This example demonstrates:
- - How to use the Mobile Media API
- - Managing multiple simultanous audio players
- The application is hosted in Nokia Developer Projects:
- - http://projects.developer.nokia.com/JMEDrumkit
- For more information on the implementation, visit the wiki page:
- - http://projects.developer.nokia.com/JMEDrumkit/wiki
- -------------------------------------------------------------------------------
- PREREQUISITES
- Java™ Platform, Micro Edition (Java™ ME) basics
- -------------------------------------------------------------------------------
- IMPORTANT FILES & CLASSES
- SoundManager.java - The class that handles all audio playback and recording.
- FullTouchDrumkit.java - GUI optimised for 400x240 resolution with multitouch.
- TouchAndTypeDrumkit.java - GUI optimised for smaller resolutions.
- DrumKit.java - Abstract base class for both GUI types.
- WheelMenu.java - The drum selection menu used in TouchAndTypeDrumkit.
- -------------------------------------------------------------------------------
- DESIGN CONSIDERATIONS
- Audio latency was the main concern when designing the application. Luckily, on
- Series 40 it is fairly easy to get low latency, at least on the majority of
- devices. The main concern was managing multiple concurrent audio players and
- dealing with memory limitations.
- From UI point of view, the application has been optimised for 240x320 and
- 240x400 screen resolutions using two sets of graphics.
- -------------------------------------------------------------------------------
- KNOWN ISSUES
- - The application graphics have not been optimised for Symbian devices.
- - There is notable audio latency on Symbian devices. Also, the MIDlet does not
- perform well on lower-end Nokia Asha devices, such as the Nokia Asha 305 and
- Nokia Asha 306.
- -------------------------------------------------------------------------------
- BUILD & INSTALLATION INSTRUCTIONS
- This example was created with NetBeans 6.9.1 and the Nokia SDK 2.0 for Java.
- The project can be easily opened in NetBeans by selecting 'Open Project' from
- the File menu and selecting the application.
- Before opening the project, make sure the Nokia SDK 2.0 for Java is installed
- and added to NetBeans. Building is done by selecting 'Build main project'.
- To install the application on a mobile device, transfer the JAR file via Nokia
- Suite or Bluetooth.
- -------------------------------------------------------------------------------
- RUNNING THE EXAMPLE
- On devices with 400x240 display resolution the application starts in landscape
- mode. The GUI has two modes: acoustic drum kit and pad drum kit. On touch and
- type devices the application starts in portrait mode, and only pad drum kit is
- available.
- You can record sequences of your drumming and then play the sequences
- afterwards. It is also possible to play pads on top of your last recording.
- A long tap on a pad opens a wheel menu, which can be used to change samples on
- the pads.
- -------------------------------------------------------------------------------
- COMPATIBILITY
- Series 40 full touch and touch and type devices.
- Tested on:
- Nokia Asha 303 (Java Runtime 1.1.0 for Series 40)
- Nokia Asha 305 (Java Runtime 2.0.0 for Series 40)
- Nokia Asha 306 (Java Runtime 2.0.0 for Series 40)
- Nokia Asha 309 (Java Runtime 2.0.0 for Series 40)
- Nokia Asha 311 (Java Runtime 2.0.0 for Series 40)
- Nokia X3-02 (Series 40 6th Edition FP1)
- Nokia C2-03 (Java Runtime 1.0.0 for Series 40)
- Developed with:
- NetBeans 7.2
- Nokia SDK 2.0 for Java
- -------------------------------------------------------------------------------
- CHANGE HISTORY
- 1.2.0 New UI for 400x240 resolution with multitouch support. Optimised graphics
- drawing and audio playback. Refactored source code.
- 1.1.0 Refactored UI framework and updated graphics and icons. Optimised to run
- on Nokia Asha 311.
- 1.0.0 First release.
|