Git Product home page Git Product logo

microsoft / drumkitx Goto Github PK

View Code? Open in Web Editor NEW
22.0 70.0 17.0 8.14 MB

A Windows Phone 8 port of the ​Drumkit XNA example using Direct3D and XAudio for fast graphics and low latency sample playback. This demo app lets you play percussion sounds by tapping the screen. You can record your beats, play them back later and also play drums on top of your latest recording.

License: Other

C 12.99% C++ 65.79% C# 15.49% FLUX 4.93% Shell 0.80%

drumkitx's Introduction

DrumkitX

DrumkitX is a Windows Phone 8 port of the Drumkit XNA example using Direct3D and XAudio for fast graphics and low latency sample playback. This demo app lets you play percussion sounds by tapping the screen. You can record your beats, play them back later and also play drums on top of your latest recording.

This example application is hosted in GitHub: https://github.com/Microsoft/drumkitx

Developed with Microsoft Visual Studio Express for Windows Phone 2012.

Compatible with:

  • Windows Phone 8

Tested to work on:

  • Nokia Lumia 520
  • Nokia Lumia 820
  • Nokia Lumia 920

Instructions

Make sure you have the following installed:

  • Windows 8
  • Windows Phone SDK 8.0

To build and run the sample:

  • Open the SLN file
    • File > Open Project, select the file DrumkitX.sln
  • Select the target, for example 'Emulator WVGA 512MB'.
  • Press F5 to build the project and run it on the Windows Phone Emulator.

To deploy the sample on Windows Phone 8 device:

About the implementation

Important folders:

Folder Description
/ Contains the project file, the license information and this file (README.md)
DrumkitX Root folder for the implementation files.
DrumkitX/DirectXTK DirectX ToolKit.
DrumkitX/DrumkitX DrumkitX Windows Phone managed application implementation.
DrumkitX/DrumkitX/Assets Application assets, tiles for example.
DrumkitX/DrumkitX/Properties Application property files.
DrumkitX/DrumkitX/Resources Application resources.
DrumkitX/DrumkitXComp Native components for DrumkitX application.
DrumkitX/DrumkitXComp/images DirectDraw surface files for drumkit graphics.
DrumkitX/DrumkitXComp/sounds Audio files for drum sounds.

Important files:

File Description
MainPage.xaml The main page of the application with a drawing surface for DirectX graphics.
MainPage.xaml.cs The code-behind file of the main page bridging managed side with native side.

Important classes:

Class Description
Direct3DInterop Acts as a bridge between the managed and native worlds.
DrumkitRenderer Responsible of rendering the drumkit and playing the drum sounds.
Recorder.cs Records the drum strokes.

You can read more about Direct3D for Windows Phone 8 from http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207062(v=vs.105).aspx

Another Nokia Developer example on creating DirectX application on Windows Phone is available at http://www.developer.nokia.com/Community/Wiki/DirectX_on_Windows_Phone:_2D_Game_Example_using_DirectX_Toolkit

More information on XAudio2 can be found from http://msdn.microsoft.com/en-us/library/windows/apps/Hh405049 and from an example application http://code.msdn.microsoft.com/windowsapps/Basic-Audio-Sample-9a5bb0b7 demonstrating the use of XAudio2 in an app.

Known issues

No known issues.

License

See the license file delivered with this project. The license is also available online at https://github.com/Microsoft/drumkitx/blob/master/License.txt

Version history

  • 1.1 Support for 720p resolution.
  • 1.0 Application tiles and icons. Removed unnecessary capabilities.
  • 0.6 Code cleaning, copyrighting and commenting. Button graphics added.
  • 0.5 First public beta version

drumkitx's People

Contributors

mikpiipp avatar tompaana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.