
Windows Mobile application development
Mobile and compact devices become more and more popular in our society. Each of us faces with them every day. Certainly each of us has mobile phone, hand-held computers or other hi-tech devices.
All of these devices have different mobile platforms. There are such known platforms as Windows MobileM, iPhone, BlackBerry, Symbian OS, Android, Maemo, OpenMoko etc. All of them have different history and advantages and failings.
Introduction
Such platforms as Windows Mobile, BlackBerry, iPhone are «closed» enough and limited by either their own devices (BlackBerry, iPhone) or development complexity. Among other problems of above mentioned platforms there is limited API. Even Java platform for mobile devices has some failings such as great number of limitations; very different APIs; device dependent code. Symbian and Windows Mobile platforms are better from this point as far as they support wider range of devices and their APIs give more options.
Common problem here is also that there are a lot of platforms. Talking about OpenSource and Cross-Platform solutions we should say that they are still developing at the moment and are not widespread yet.
In this article we’ll pay our attention to the Windows Mobile platform.
Microsoft Company released its first platform for inbuilt devices at the end of the 90th. In 2002 Windows CE.NET platform appeared. And at that time Pocket PC based on Windows CE 3.0 platform and higher were released. Further development of wireless communication technologies managed to combine telephone and personal computer. Thus Pocket PC 2002 Phone Edition appeared which supported the standards of GSM, GPRS, Bluetooth and wireless HS network access. In the same time another device concept was developing that was much similar to the above mentioned but was closer to the telephone then to personal computer. This device was named SmartPhone 2002. Fundamental difference between Smartphone and Pocket PC is that Pocket PC has touch screen while Smartphone has only control buttons. They also had different application scopes and supported different standards and technologies.
Windows Mobile platform more belongs to smartphones, communicators and small personal devices. Windows CE and Windows Embedded platforms are commonly used in different industrial equipment.
Now we have Windows Mobile 5 and Windows Mobile 6 generations and Windows Mobile 7 will be released soon. Modern devices based on Windows Mobile Pocket PC; have 500-600 MHz processors and 64-128 MB RAM that is not little for such devices.
1. Development Tools
There are a few models of development of applications for Windows Mobile:
- Win32 API
- MFC
- .NET Compact Framework.
Microsoft Co gives developers all necessary tools for development of applications for PDA, Pocket PC; and Smartphone.
Here are some advices about different code type choosing.
- Use Native Code for achieving the burst performance, direct work with hardware, and also for minimization of system resource requirements.
- Use Managed Code for development of GUI-oriented applications which main requirements are development and market deployment terms. Managed Code is also good for the easy work with web-services.
- Use Server-Side Code for work with different devices through a single code base, and also if wide stable communication channel with a device is present.
Below are the reviews of present development tools for PDAs, Pocket PCs and Smartphones.
eMbedded Visual C++ 4.0
Microsoft eMbedded Visual C++ 4.0 development environment is meant to create applications for devices with Windows CE .NET 4.2 operating system and also (with package of updates SP3) for PDA and Smartphones on the Windows Mobile 2003 Second Edition platform. The development environment eMbedded Visual C++ 4.0 is good for creation of native code for mobile and inbuilt devices with Windows CE .NET 4.2 OS. It allows developer to perform Just-In-Time Debugging for diagnostics of unhandled exceptions, Attach-to the process for the extended debugging of processes, and also interaction with an emulator.
Visual Studio .NET and SDP functions
SDP (Smart Device Programming) functions of the integrated environment of development Visual Studio .NET 2003 (2005, 2008) allow to create applications, that uses possibilities of Microsoft .NET Compact Framework platform. Thus a developer can create the distributed mobile data-processing systems, workings both in scenarios with connection and without permanent connection. Vast class library of .NET Compact Framework platform makes application development much quicker than with traditional development tools.
Visual Studio .NET lets create applications for the Pocket PC 2002 devices and (with proper SDKs) Pocket PC 2003, 2005 and Smartphone 2003, 2005, applying the same tools as those used for the development of applications for desktop PCs. Library .NET Compact Framework is installed together with Visual Studio .NET. This library is specially developed for devices with the limited resources. Developers can also use new languages C# and Visual Basic .NET for applications for mobile and inbuilt devices. They are good in workings with web-services and ADO.NET technologies.
Control elements of ASP .NET Mobile Controls extend SDP functions and .NET Compact Framework platform. They give opportunities to use possibilities of .NET Compact Framework and Visual Studio .NET for development of mobile web-applications due to the data delivery to various mobile devices by means of ASP.NET technology. This approach allows to create single mobile web-application in the Visual Studio .NET environment, that will automatically perform data rendering for displaying on various devices: mobile phones, smartphones, PDA, Pocket PC. The integrated development environment makes it possible to create mobile web-applications simply by dragging control elements on forms.
ASP.NET System sets no components on a client device. For adaptation of formatting under concrete browsers server logic is used. It generates information in the formats of Wireless Markup Language (WML), HTML, and Compact HTML (cHTML).
Microsoft SQL Server
Microsoft SQL Server Compact Edition (SQL Server CE) is a compact DBMS for rapid development of applications that extend possibilities of work with enterprise data due to the mobile devices using. SQL Server CE is a tool facilitating development of mobile applications due to support of SQL syntax and usage of application and API interface model that is compatible with SQL Server.
SQL Server CE provides the basic set of relational database functions, in particular optimized query handler; support of transactions and heterogeneous types of data – with unpretentious requirements to the system resources. Remote access to the data and replication by confluence provide reliable delivery of information from the SQL Server bases, possibility of autonomous work with by information and subsequent synchronization with the server. SQL Server CE is good for the systems with mobile devices and wireless networks.
SQL Server CE DBMS is developed for integration with .NET Compact Framework by means of Visual Studio .NET. It simplifies development of applications for work with databases on mobile and built devices. New data supplier of SQL Server CE for code management in the Common Language Runtime environment helps to develop distensible applications with possibilities of autonomous work with information in scenarios without permanent connection.
Microsoft .NET SqlClient gives API for work of both .NET Framework and .NET Compact Framework applications. For the common Windows systems SqlClient Microsoft with SQL Server are used, and SqlServerCe for Microsoft SQL Server Compact Edition databases for Compact Framework.
Name space of SqlClient is in both versions. So we can interact:
- Using .NET Compact Framework SqlClient to have an access to SQL Server from device on Desktop.
- Using .NET Compact Framework SqlServerCe to have an access to SQL Server Compact Edition directly on a device.
Work with databases on a device is similar to the work on Desktop. To access to SQLServer on Desktop system SQL uses TCP/IP connection thus in this case it is possible not to have SQL Server Compact Edition installed on a device.
All of the mentioned models are implemented on the desktop systems. So the experience of their application can be carried for development of the programs for Windows Mobile. Using Win32 API we rapidly get compact code, and also can use it for development of drivers and system component. Using MFC we have extensions of API functions, and also designer for development of interface. And using Compact Framework we have at our disposal well developed interface, automatic garbage collection, support of XML and other options. Also there is even more truncated version — Micro Framework, where there are less SDK functions.
After SDK for MS Visual Studio installation new configurations of assembling appear as well as new functions for assembling under these platforms. Suit also contains Emularor for software development and testing without physical connection between device and computer.
As far as many devices that are based on Windows Mobile have ARM processor it is also possible to compile units using other compilers: AVR32, ARM (RealView), GNUARM, IAR Systems.
2. Building Windows Mobile Applications for Windows Mobile devices using MS Visual Studio .NET
Visual Studio development environment together with Compact Framework enable to develop applications using a vast graphic interface, databases, archiving and encrypting tools, USB, Serial, Bluetooth, and also wireless network connections and telephony. All of these is provided by SDK as well as libraries and heading files from Platform Builder.
2.1 User Interface
Due to the presence of good designer in VS and SDK we can easily develop GUI for mobile applications just the same as for Desktop applications. The only difference is in sets of graphic components for Desktop systems and for Windows Mobile. There is also difference between components of Smartphone and Pocket PC versions caused by that Pocket PC has a touch screen and SmartPhone has not. Therefore development of interface for SmartPhone is more complex. One should take it into account when developing software for both platforms.
Here we should also mention that software built for Pocket PC won’t start on the SmartPhone platform while the opposite situation is possible – till the moment when some special Smartphone function is called.
It is naturally that many graphic components as well as majority of functions from full-size Framework were taken away from Windows Mobile SDK to reduce the size of the SDK on the device side. Only the most needful elements were left. But the productivity and volumes of memory are increasing so the number of function included in SDK becomes greater. So the difference between Compact Framework 1.0 and 2.0 is enormous. Version 1.0 was very limited.
In general the development of GUI with ?ompact Framework on ?# is similar to the development of the common Win32 application on C#.
It is also possible to develop a graphic interface using assembling of the 3D rendering-engines. They are such as GAPI (Game API), OPENGL ES (Embedded System), OPENVG (Vector Graphics), and other projects. Certainly it is rather labor intensive process as far as it is very important to write an optimal code because of the relatively low productivity of mobile devices.
2.2 Communications
To date mobile devices have a wide range of communicational options. They have an access to the wireless high-speed network using 802.11 WiFi Connection standard. They also use IrDa, Bluetooth, and USB host/client functionality. While the usage of Irda is gradually getting less protocols and standards of Bluetooth, WiFi, Edge, GSM, and also USB are used quit often.
Microsoft Company provides such APIs:
- ActiveSync API provides functionality for work with services of synchronization, file filters, etc.
- Bluetooth API provides functionality for wireless access to mobile and peripheral devices.
- Connection Manager API serves for the automation of connection process, network connection management. Devices are using Connection Manager to establish connection and also to inform about the supposed connection (for example Internet).
- Object Exchange (OBEX) API provides functionality for work with effective, compact binary protocol just suitable for devices with the limited possibilities.
- Remote API (RAPI) provides functions for management and remote call of methods on the device side. Such functions are available: access to the register, files, databases and different configurations of device from the Desktop-system. The most important option is Remote Procedure Call when we simply call the method «CeRapiInvoke()» on the Desktop side, transmit the name of DLL on the device side and the name of function in this DLL and then just call this method.
- Pocket Outlook Object Model API provides functions for work with the objects of Pocket Outlook. It provides interfaces for synchronization and access to the objects: Task, Calendar, Contacts.
-
Telephony API (TAPI) includes:
- Assisted API
- Extended API
- Phone API
- SIM Manager API
- Short Messages Service (SMS) API
- Telephony Service Provider (TSP) API
- Wireless Application Protocol (WAP) API.
Also mobile devices have possibility to work with Serial (USB) ports. There are a few COM-ports in many devices. Usually the first 3-5 of them are reserved for IrDa, Bluetooth, SerialPort and others. Other ports are available to for user. Some devices have USB-Host functionality in other words they are USB On-The-Go (OTG) devices which can serve both as USB Client and USB Host. For this purpose device should have necessary Hardware and Software (Device Driver).
Device Driver is a driver which is an intermediate layer between the driver of HOST and level of applications. Such driver provides «Stream Interface Driver» and must contain such functions as:
- XXX_Init
- XXX_Open
- XXX_Close
- XXX_Write
- XXX_Read
- XXX_IOControl
Here “XXX” is replaced with «prefix» (for example «COM», «DSK»).
This prefix registers in the registry when a driver registers in the system. More detailed information about Device Driver Interface can be obtained from MSDN.
Also a developer can use such APIs not concerning communicational ones:
- Device Configuration API
- File and Application Management API
- Game API
- Home Screen API
- HTML Control API
- MIDI API
- Shell API
- Speech Recognizer API
- Vibrate API
- Voice Recorder Control API.
2.3 P/Invoke and Native Interop
As far as Compact Framework contains basic functions and methods from complete
Framework we have such functionality as:
- XML Serialization
- Cryptography
- Security
- Reflection
- Interop Services et al.
Certainly Platform Invoke calls are accessible. For this purpose – as well as in complete Framework – we use functions and attributes from namespace System.Runtime.InteropServices and DllImport attribute for description of functions which will be called from non-managed code.
However the functionality of these methods is limited. So Marshal class has PtrToStructure, GetComInterfaceForObject, Copy() and Read() functions but, for example, there is no such function as GetDelegateForFunctionPointer() in it. So it is impossible to make Marshaling just with Delegate. The GetFunctionPointerForDelegate function is available only. If we want to transmit a pointer to the function from Managed code we should get its FunctionPointer and only after that transmit it to the unmanaged code for subsequent call of it from there. Also we can not transmit some objects because Compact Framework can not count SizeOf() for some objects. Therefore frequently we have to transmit data of Blitable types only and arrays of these types (Int, byte, char, but not bool), and transmit and receive classes and structures by means of IntPtr. Certainly it is explained by aspiration to increase the performance. It is therefore recommended to use primary types for Marshaling and «GCHandle» class for storing an object in the process memory and to make this memory «visible» for unmanaged code
Certainly the performance of P/Invoke calls from C# application in C++ DLL is almost twice less than the performance of method calls between C++ DLLs. However the performance of devices grows and it becomes possible to use such calls.
2.4 Debugging
MS Visual Studio enables to make debugging of applications under
Windows Mobile just the same as for Desktop applications. We have Emulator, Device Emulator Manager and other to functionality such as Breakpoints, Threads, Watches panel etc.
However to make Debug using Native and Managed code simultaneously is impossible. Therefore it is possible to start either C++ projects or Managed ones. It’s also so for «Attach to process». There is a possibility of attaching to the processes on the device side (or emulator side). ActiveSync is required to provide communication between a device and the system, it is installed with SDK. An emulator also can be connected to the computer by means of ActiveSync. We obtain almost complete emulation of Windows Mobile devices. Here are both SmartPhone and Pocket PC (or Pocket PC Phone Edition) emulators. However only one Windows Mobile device can be connected to the computer at one time moment. Therefore Debug on two devices simultaneously which for example interact in some way is rather difficult. Certainly we talk only about Debug of applications developed by us but not about applications and services of the system. For such debugging we need the complete built of the system created by means of Platform Builder (in the last versions of Platform Builder it’s included in Visual Studio). We can also create our own SDK for Visual Studio and Windows CE platform.
An emulator also enables to emulate connection with the GSM network and GPS support. It makes possible to test and develop large spectrum of applications without having a physical device in hands.
Talking about Debug with IDA we should mention that version 5.1 already has the possibility to perform Debug by means of this interactive disassembler with the use of their plugin which is installed on a device.
With SDK appearance such option as «Deploy» appears in Visual Studio environment. Now there is «Deploy» item in project context menu additionally to “Build”, “Clean”, “Debug”. After you choose this item DLL or EXE file built by current configuration is transmitted to the device. Also new column appears in Configuration Manager where not only «Build» in some configuration option is available but also «Deploy». Deployment of .NET projects transmits not only the unit but also those builds that are depended on it (Dependencies).
3. Deployment and installation
Development of applications for Windows Mobile supposes also their assembling and creation of installation package. For this purpose there is such concept as ?abinet (.cab) file in Windows Mobile. It is a common archive but it is a installation package also (a sort of MSI package). It is assembled by means of Cab Wizard (cabwiz.exe) from MS VisualStudio (or from a command line). This utility creates processor dependent «.cab» file. WinCEApplicationManager transmits and starts CAB on a device, so user can install the application using instructions appearing on device screen. It is also possible to create the project of MSI Installation which includes CAB file by means of Visual Studio. This built package will be started on user computer and then transmit ?AB installation on a device to continue installation process.
There is special Uninstall Manager on the device side. One should attach configuration INI-file to CAB file. This INI file includes settings to manage installation process such as path, shortcut name to create, minimal OS version to install the application and others written in special syntax. It is also possible to include your own DLL into CAB-file to widen installation options. This DLL contains such functions as «Installer_AfterInstall», «Installer_BeforeInstall», «Installer_AfterUnInstall», «Installer_BeforeUnInstall», code in these functions will be executed on the device side in the certain moments of installation or uninstallation process.
When developing CAB installation it is possible to attach files, different resources, built units, add information to the registry. They are designated as «Project Output. That’s why there is no need to reset anything after CAB-file creation: it will collect all included projects and files and assemble in an archive.
4. Security Model for Windows Mobile 5 and Windows Mobile 6
Devices based on Windows Mobile receive, send and analyze potentially important information which should be protected from unsafe applications. To protect device the starting of unknown applications is disabled, the access to some API is restricted and some registry parts changing is forbidden. Units can be marked as Trusted and Untrusted and system uses this information to prevent starting of unauthorized applications and limit their access to the system. Also the access to the system by means of RAPI (Remote API) through ActiveSync can be restricted. Security Certificates Security Rights are used for the executable units (EXE, DLL) and for CAB-files.
Protection Against Threats and Risks
The followings options help to protect devices:
- Strict password protection.
- PIN code protection.
- Devices corrupt deleted information to prevent access to it (WM 6).
- Devices corrupt deleted information on memory cards to prevent access to it (WM 6).
- Storages encryption and Advanced Encryption Standard for SSL (WM 6).
- Own certificates usage.
- Detecting a device via Bluetooth can be protected (WM 6 Smartphone).
- 2 layer system of application starting (One-tier and Two-tier access).
- No support of macros, therefore viruses can make much harm.
The start of applications is based on Permissions. Windows Mobile devices use such models:
- Privileged
- Normal
- Blocked
Privileged applications have the widest access. They can access any API, write in the protected areas of registry and have the complete access to the system.
Most applications have Normal model. They do not have access to the trusted API and do not have the complete control of the system.
Application can not be started at all if it has “Blocked” status. It means that it’s not signed with the proper certificate or user forbade the start by the proper warning of the system.
Analogical situation is with Cab-files. The executable units with Normal status can start Privileged DLL but then they will work as Normal. However Privileged executable units can not start the units having Normal status.
Written by Eugene Kordin, Apriorit specialist.
Learn more about development process of Apriorit here.
About the Author
iPlay Duets – Demo – Most Expressive iPhone/iPod Touch/iPad App by tkviper
|
|
ION Audio iCUE3 Discover DJ System $129.99 The ION Audio iCUE3 Discover DJ System easily allows you to mix and scratch your computer music library at your fingertips. Simply load the included MixVibes Cross LE software, plug in the ION Discover DJ and you’re ready to be a star DJ. Mix tracks with the DJ crossfader, scratch, EQ, and even do more advanced DJ effects like pitching up and down! The Discover DJ works with all of your MP3s an… |
|
|
Line 6 & Planet Waves create iPhone MIDI application: groundbreaking collaboration turns popular Apple iPhone into powerful tone library, editor, and … OPINION): An article from: Music Trades $9.95 This digital document is an article from Music Trades, published by Music Trades Corp. on July 1, 2009. The length of the article is 545 words. The page length shown above is based on a typical 300-word page. The article is delivered in HTML format and is available immediately after purchase. You can view it with any web browser.Citation DetailsTitle: Line 6 & Planet Waves create iPhone MIDI appli… |
|
|
Line 6 MIDI Mobilizer II iPhone MIDI interface $69.99 From the creators of the original MIDI interface for iPhone comes the Line 6 MIDI Mobilizer II, the most portable MIDI system that connects all MIDI devices to your Apple iPhone, iPad or iPod touch. Descended from the original MIDI interface for Apple iOS devices, it’s the ideal MIDI interface for GarageBand and other iPad and iPhone music apps. |
|
|
IK Multimedia iRig MIDI Interface for iDevices $69.95 The IK Multimedia iRig MIDI is an ultra-compact standard Core MIDI interface for iOS that connects any MIDI compatible device to the iPhone, iPod touch and iPad. |
|
|
Alfred’s Basic Piano Library General MIDI – Complete Level 1 (1A/1B) $9.95 “By Willard A. Palmer, Morton Manus, and Amanda Vick Lethco. For Piano. Method/Instruction; Piano – Alfred’s Basic Piano Course. Alfred’s Basic Piano Library. Children. Beginner. General MIDI Disk. Published by Alfred Music Publishing” |
|
|
Hal Leonard Piano Lessons Book 1 Accompaniment General Midi Disk Hal Leonard Student Piano Library $8.96 Hal Leonard Piano Lessons Book 1 Accompaniment General Midi Disk Hal Leonard Student Piano Library |
|
|
Line 6 Midi Mobilizer $69.99 The Line 6 MIDI Mobilizer may be the most portable MIDI system ever, and it’s probably the only one of its kind. Connect the MIDI Mobilizer it to an Apple iPhone, or iPod touch to play, record, and store MIDI information anytime, anyplace.MIDI Mobilizer from Line 6 is truly one of a kind. Not only is it the world’s only hardware MIDI interface for the Apple iPod touch, iPhone and iPad-it’s also the most portable system in the history of MIDI. Connect it to a supported Apple mobile device to play, record and store MIDI information anytime, anyplace. Transform your Apple mobile device into a MIDI control surface, synth, sequencer or complete music production studio with new apps available now on the Apple App Store.Go mobileStop dragging around your computerbring this portable MIDI system instead. Powered by your iPod touch, iPhone, or iPad, MIDI Mobilizer delivers the fastest, lightest, and easiest way to manage all your sounds, sequences, and other MIDI data, and to have creativity on the go. Now there’s no more need to wait for your computer to start up or to lug it to gigs.Apps turn your Apple product into a complete music production studioDozens of developers all over the world have been creating exciting apps for MIDI Mobililzer. Turn your iPod touch, iPhone, or iPad into anything from a MIDI control surface to a high-quality synth, a multitrack sequencer, an advanced arpeggiator, or a complete music production environment. More apps are being released all the timeall ultra-mobile. These apps are available at the Apple App Store.Bring your backups with MIDI Memo RecorderMIDI Memo Recorder is a free app from Line 6 that backs up and transfers your MIDI parameters from all your MIDI gear, including Line 6 amps, POD products, and more. Rescue yourself from dreaded on-stage equipment failures. With MIDI Mobilizer you can import your MIDI sound data into replacement keyboards, and nearly all classic and modern MIDI equipment. Now you can rent gear at your destination instead of traveling with itjust take your data, Apple device, and MIDI Mobilizer.Quick capture of musical ideas and inspirationsMIDI Memo Recorder and other third-party apps let you record MIDI whenever inspiration strikes. In the time it takes to fire up your DAW, you’ll be making music and documenting your ideas. MIDI Memo Recorder appFree at the Apple App Store, the MIDI Memo Recorder app from Line 6 is a simple way to record and play any MIDI data from any MIDI device. Its streamlined interface makes it easy to store, find, and recall all your synth sounds, POD patches, musical inspirations, and more. Plus, MIDI Memo Recorder makes sending music to collaborators easier than ever. Email your music as an SMF (Standard Music File) that can be opened and edited within virtually all Mac or PC-based digital audio workstations or transferred to your computer via iTunes.MIDI Mobilizer is the only MIDI interface for all models of Apple iPod touch, iPhone, and iPadFast, light, and easy way |
|
|
Alfred’s Basic Piano Library General MIDI – Hymn Level 1A $9.95 “By Willard A. Palmer, Morton Manus, and Amanda Vick Lethco. For Piano. Method/Instruction; Piano – Alfred’s Basic Piano Course. Alfred’s Basic Piano Library. Children; Sacred. Beginner. General MIDI Disk. Published by Alfred Music Publishing” |
|
|
Ik Multimedia Irig Midi Interface $69.99 The IK Multimedia iRig MIDI is an ultra-compact standard Core MIDI interface for iOS that connects any MIDI compatible device to the iPhone, iPod touch and iPad.iRig MIDI connects MIDI keyboards, drum machines, drum pads, pedal boards and more to an iOS device to control not only the included SampleTank FREE* but also a world of MIDI-compatible apps such as GarageBand. You can also use iOS apps to control external MIDI equipment such as sound modules, DAWs or lighting systems right from the mobile device.iRig MIDI is the only compact iOS MIDI interface sporting 3 MIDI ports: IN/OUT/THRU. These connect to any standard MIDI jacks using the included 2 x 1.6m/5.2 cables. iRig MIDI also has 2 LEDs for displaying the MIDI activity on the IN and OUT ports.iRig MIDI also exclusively provides a micro USB port with included cable that connects to any standard USB power supply source so that the iOS device can stay fully powered during long sessions.Standard Core MIDI interface connects any MIDI hardware device to Core MIDI-compatible apps like SampleTank FREE and GarageBandDirectly connect MIDI keyboards, synthesizers, drum machines, drum pads, pedal boards and more using the included 2 x 5.2 (1.6 m) MIDI 5-pin DIN cables3 MIDI ports: IN/OUT/THRU2 LEDs for MIDI IN/OUT activity displayMicro USB port can charge the iOS device while in useFree apps included*: SampleTank FREE* the powerful sample-based sound module app and iRig MIDI Recorder FREE** All IK mobile apps will be available for download from the App Store. |
|
|
Looney Tunes Piano Library – Porky Pig’s Christmas Songs (with CD & MIDI) $10.36 “(Level 4 — Porky Pig’s Christmas Songs). For voice and piano. Piano Collection; Piano Supplemental. Looney Tunes Piano Library. CD and diskette contain accompaniment tracks. Sacred and Play Along. Intermediate. Songbook, accompaniment CD and general MIDI diskette. Vocal melody, piano accompaniment, lyrics and chord names. 28 pages. Published by Alfred Music Publishing” |
|
|
Alfred’s Basic Piano Library General MIDI – Lesson, Recital & Fun Books Level 1A $14.95 “By Willard A. Palmer, Morton Manus, and Amanda Vick Lethco. For Piano. Method/Instruction; Piano – Alfred’s Basic Piano Course. Alfred’s Basic Piano Library. Children. Beginner. General MIDI Disk. Published by Alfred Music Publishing” |
|
|
Alfred’s Basic Piano Library General MIDI – Lesson, Recital & Fun Books Level 3 $14.95 “By Willard A. Palmer, Morton Manus, and Amanda Vick Lethco. For Piano. Method/Instruction; Piano – Alfred’s Basic Piano Course. Alfred’s Basic Piano Library. Children. General MIDI Disk. Published by Alfred Music Publishing” |
|
|
Sylvester’s Snappy Songs Looney Tunes Piano Library Primer Level With CD and MIDI Disk Included $12.95 “(Primer — Sylvester’s Snappy Songs). For Piano. Piano Collection; Piano Supplemental. Looney Tunes Piano Library. Early Elementary. Book, CD & General MIDI Disk. 24 pages. Published by Alfred Music Publishing” |
|
|
Alfred’s Basic Piano Library General MIDI – Lesson, Recital & Fun Books Level 2 $14.95 “By Willard A. Palmer, Morton Manus, and Amanda Vick Lethco. For Piano. Method/Instruction; Piano – Alfred’s Basic Piano Course. Alfred’s Basic Piano Library. Children. General MIDI Disk. Published by Alfred Music Publishing” |
|
|
Alfred’s Basic Piano Library General Midi – Lesson, Recital & Fun Books Level 1B $14.95 “By Willard A. Palmer, Morton Manus, and Amanda Vick Lethco. For Piano. Method/Instruction; Piano – Alfred’s Basic Piano Course. Alfred’s Basic Piano Library. Children. Beginner. General MIDI Disk. Published by Alfred Music Publishing” |
|
|
Piano Lessons Book 1 Accompaniment General Midi Disk $8.96 Hal Leonard Piano Lessons Book 1 Accompaniment General Midi Disk Hal Leonard Student Piano Library |
|
|
Used Ik Multimedia Irig Midi Interface $63.69 The IK Multimedia iRig MIDI is an ultra-compact standard Core MIDI interface for iOS that connects any MIDI compatible device to the iPhone, iPod touch and iPad.iRig MIDI connects MIDI keyboards, drum machines, drum pads, pedal boards and more to an iOS device to control not only the included SampleTank FREE* but also a world of MIDI-compatible apps such as GarageBand. You can also use iOS apps to control external MIDI equipment such as sound modules, DAWs or lighting systems right from the mobile device.iRig MIDI is the only compact iOS MIDI interface sporting 3 MIDI ports: IN/OUT/THRU. These connect to any standard MIDI jacks using the included 2 x 1.6m/5.2 cables. iRig MIDI also has 2 LEDs for displaying the MIDI activity on the IN and OUT ports.iRig MIDI also exclusively provides a micro USB port with included cable that connects to any standard USB power supply source so that the iOS device can stay fully powered during long sessions.Standard Core MIDI interface connects any MIDI hardware device to Core MIDI-compatible apps like SampleTank FREE and GarageBandDirectly connect MIDI keyboards, synthesizers, drum machines, drum pads, pedal boards and more using the included 2 x 5.2 (1.6 m) MIDI 5-pin DIN cables3 MIDI ports: IN/OUT/THRU2 LEDs for MIDI IN/OUT activity displayMicro USB port can charge the iOS device while in useFree apps included*: SampleTank FREE* the powerful sample-based sound module app and iRig MIDI Recorder FREE** All IK mobile apps will be available for download from the App Store. |
|
|
The Music Tree – Time To Begin/Primer (MIDI Disk) $12.95 “By Frances Clark, Louise Goss, and Sam Holland. For Piano. Frances Clark Music Tree. Frances Clark Library for Piano Students. Beginner. General MIDI Disk. Published by Alfred Music Publishing” |
|
|
Line 6 Midi Mobilizer Ii Portable Interface $69.99 MIDI mobilizer II is a portable MIDI interface that connects all your modern and classic and MIDI gear to your Apple iPod touch, iPhone or iPad. It lets you make music any time, any place. With just a MIDI instrument and your Apple iOS device you can record pro-sounding tracks, capture song ideas or simply play with any of the incredible synths, samplers, sequencers, control surfaces and more available on the app storesm.Compatible with CoreMIDIMIDI Mobilizer II is compatible with CoreMIDI, the newly developed apple standard for iOS MIDI apps. An extension of MIDI, the world standard for all non-audio digital recording, coreMIDI has been established as the exclusive MIDI language for all iOS music apps. MIDI mobilizer II is also compatible with GarageBand for iPad, the great new version of the program that makes real music creation on iPad incredibly easy.Use vintage and modern MIDI gear.Still attached to your classic MIDI controller? Whether youve got a modern beatbox or the first MIDI board ever made, no matter with MIDI mobilizer II, you can connect it to your Apple device and play away. MIDI Mobilizer II is compatible with iPod touch (3rd and 4th generations), iPhone 4, iPhone 3gs, iPad 2 and iPad.The most portable MIDI system ever.MIDI Mobilizer II is the fastest, lightest and easiest way to manage all your sounds, sequences and other MIDI data. Stop dragging around your computer. MIDI Mobilizer II alleviates the startup time, heavy lifting, fragility, and the complexity of using MIDI with computers.No batteries, no power supply.MIDI Mobilizer II is designed to use very little power, so it can be powered directly from your iPod touch, iPhone or iPad. You’ll never have to hunt for an outlet or fresh batteries.Capture inspiration.Creativity comes in bursts, and not always when youre sitting with your laptop. MIDI Mobilizer II lets you record ideas anytime inspiration strikes using our free MIDI Memo Recorder app. Email your music as a Standard MIDI File (SMF), and open and edit the file within virtually all Mac or PC- based digital audio workstations.Fully loadedMIDI Mobilizer II comes with all the hardware and cables you need to connect to any MIDI instrument with a 5-pin in and/or 5-pin out. It’s easy to set up and its LEDs light up when MIDI messages are being passed through.High quality, low profile.MIDI Mobilizer II is constructed of high-quality polycarbonate. Its ready for studio sessions, fly dates and regular home use. The low-profile design makes it super-portable, which is good for you, and super-light, which is good for your Apple iOS devices 30-pin connector. Sketching out new songs, capturing inspiration, sharing musical ideas and making music just for the fun of it has never been this easy.Your controller, your way.Control GarageBand for iPad with vintage MIDI gear. Control the coolest analog synth apps with cutting-edge MIDI keyboards. MIDI Mobilizer II is the perfect partner for all your classic and modern MIDI gear. It gives |
|
|
WB Christian Piano Library $9.95 (Worship & Praise). Arranged by Gail Lew and Chris Lobdell. For Piano. Piano Collection; Piano Supplemental. WB Christian Piano Library. Sacred. Elementary. Book & General MIDI Disk. 32 pages. Published by Alfred Music Publishing |
|
|
Looney Tunes Piano Library $12.95 “(Level 2 — Sylvester Jr.’s Jazzy Songs). For Piano. Piano Collection; Piano Supplemental. Looney Tunes Piano Library. Jazz. Late Elementary. Book, CD & General MIDI Disk. 24 pages. Published by Alfred Music Publishing” |
|
|
MIDI Solutions MIDI Event Processor $129.99 MIDI Solutions MIDI Event Processor |
|
|
MIDI Solutions MIDI Velocity Converter $129.99 MIDI Solutions MIDI Velocity Converter |
|
|
MIDI Solutions 2-input MIDI Merger $59.99 MIDI Solutions 2-input MIDI Merger |
|
|
Rapco Horizon MIDI to MIDI Connector $3.69 Rapco Horizon MIDI to MIDI Connector |
|
|
Midi Solutions Midi Event Processor $129.99 MIDI Solutions MIDI Event Processor |
|
|
Midi Solutions Midi Velocity Converter $129.99 MIDI Solutions MIDI Velocity Converter |
|
|
Rapco Horizon Midi To Midi Connector $3.69 Rapco Horizon MIDI to MIDI Connector |
|
|
Midi Solutions 2-Input Midi Merger $59.99 MIDI Solutions 2-input MIDI Merger |
|
|
Popular Piano Library Movie Hits $11.16 “(Level 5). Arranged by Gail Lew, Eug’©nie R. Rocherolle, and Tom Roed. For Piano. Piano Collection; Piano Supplemental. Popular Piano Library. Movie; play along. Late Intermediate. Book, CD & General MIDI Disk. 48 pages. Published by Alfred Music Publishing” |
|
|
Popular Piano Library: Movie Hits, Level 1 $9.95 Arranged by Gail Lew and Chris Lobdell. For Piano. Piano Collection; Piano Supplemental. Popular Piano Library. Movie. Elementary. General MIDI Disk. Published by Alfred Music Publishing |
|
|
Live Wire MIDI(F)-MIDI(F) Connector $5.99 Live Wire MIDI(F)-MIDI(F) Connector |
|
|
Rocktron MIDI MATE MIDI Control Pedal $199 Rocktron MIDI MATE MIDI Control Pedal |
|
|
Hal Leonard What’s MIDI?/Que Es MIDI? $5.95 Hal Leonard What’s MIDI?/Que Es MIDI? |
|
|
MIDI Solutions M8 8-Input MIDI Merger $199.99 MIDI Solutions M8 8-Input MIDI Merger |
|
|
MIDI Solutions MIDI Event Processor Plus $169 MIDI Solutions MIDI Event Processor Plus |
|
|
Echo MIA MIDI Digital Audio and MIDI Card $179 Echo MIA MIDI Digital Audio and MIDI Card |
|
|
MIDI Solutions Continuous MIDI Data Pedal Controller $129.99 MIDI Solutions Continuous MIDI Data Pedal Controller |
|
|
MIDI Solutions 2-Output Active MIDI Thru Box $39.99 MIDI Solutions 2-Output Active MIDI Thru Box |
|
|
M-Audio X-Session Pro Usb Midi Dj Mixer Controller $88 The M-Audio X-Session Pro USB MIDI controller is the easiest way to bring traditional DJ mixer-style control to the world of computer DJing and live performance. With a single USB connection, you get dedicated tactile controls for volume, pitch, EQ, cueing, transport and a crossfader. As a class-compliant USB MIDI controller, you can use it to control applications like Ableton Live, Traktor DJ Studio or any software that supports MIDI Learn, enabling you to bring DJ-inspired crossfades and filter sweeps into your live performances as well as studio. Plays Well with Others The X-Session Pro brings DJ mixer-style tactile control to any software that supports MIDI Learn. The unit is a class-compliant MIDI device under Mac OS X and Windows XP, so you’ll never need extra drivers to make it interface with your favorite DJ applications, soft synths or DAWs – from Ableton Live and Traktor DJ Studio to Pro Tools M-Powered and more. For example, you can easily assign the crossfader on the X-Session Pro to the crossfader within Ableton Live and add a new dynamic to your live performances or studio work. With a digital DJ application like Traktor, you can assign the various level, EQ and crossfader controls to the X-Session Pro. The possibilities are virtually endless. Built to Rock Today’s powerful laptop computers have brought near limitless options to DJs and performing electronic musicians. But the combination of a mouse and keyboard is not the most natural or musical interface for live performance. The X-Session Pro fuses the standard controls of a two-channel DJ mixer with the transport and pitch controls of a turntable or DJ CD player, enabling you to control everything from a single interface. The mixer controls allow you to adjust level, cueing and EQ, plus make smooth crossfades – while the integrated transport and pitch controls allow you start, stop and beat-match digital files within software applications. Free Enigma Editor/Librarian Software This product includes the free download and full registration of Enigma–a powerful software editor/librarian for Mac and PC that lets you easily program, store and load setups for M-Audio and Evolution USB MIDI controllers. Enigma includes a huge library of files for your favorite VST plug-ins, instruments and host apps. Programming is as simple as dragging the software parameter you want to control onto the graphic representation of the controller on your screen. With Enigma, your library of controller presets is virtually unlimited. The X-Session Pro USB MIDI DJ Mixer Controller also ships with Torq LE. Torq LE is now available as a free download for all X-Sessions Pro owners! (www.m-audio.com/index.php?do=media.new&ID)4 MIDI sliders 12 MIDI knobs 10 MIDI buttons MIDI crossfader DJ mixer-inspired layout USB Powered On/off switch MME & Core MIDI Compatible Class compliant under Windows XP & Mac OS X Ships with Torq LE software |