/libntxm

libntxm - An XM Player Library for the Nintendo DS

Primary LanguageC++OtherNOASSERTION

              libntxm v0.2 - An XM Player Library for the Nintendo DS
                                                             by 0xtob

                                    http://code.google.com/p/libntxm/

WHAT'S THIS?
------------

  libntxm (NitroTracker XM library) is a library for playing XM music
  in Nintendo DS homebrew software. It's very CPU friendly, because
  it uses the DS sound hardware directly instead of doing software
  mixing.


WHO SHOULD USE THIS?
--------------------

  This library is intended for use in homebrew games and applications.
  As it does not support the complete XM format yet, other libraries
  may still be preferrable. So, use it only if you can live with the
  limitations listed below.


LIMITATIONS
-----------

  libntxm does not yet support all instrument settings and effects.
  In order to keep the lists short, here are the _unsupported_
  instrument settings and the _supported_ effects:

  Unsupported instrument settings:
    - Panning
    - Fade out
    - Vibrato
    - Envelope sustain point
    - Envelope loop

  Supported effects:
    - Arpeggio
    - Set loop
    - Set volume
    - Pattern break
    - Note cut
    - Volume slide
    - Set speed and tempo


INSTALLATION
------------

  libntxm was developed using devkitARM r21 and libnds 20071023. It will
  probably not work with earlier versions of these.

  - Make sure you have the above mentioned versions of devkitARM and libnds
    or higher, and make sure libfat is installed.

  - Copy the include/ntxm folder to your libnds include path, such that
    your include path has a subdirectory named ntxm that contains the
    headers.

  - Copy the contents of the lib folder (ntxm7.a and ntxm9.a) to your
    libnds library path.


USAGE
-----

  The provided example explains how to use the library. You need to
  have a custom ARM7 binary. Make sure to link to the respective
  libraries in the arm7 and arm9 makefiles. For testing the example,
  you need to have a file called test.xm on your card.


NOTES
-----

  libntxm uses some memory behind the libnds IPC struct for exchanging
  messages. Make sure that you are not already using that memory area
  for your own purposes.


DEVELOPMENT
-----------

  You want to help by adding new features to the library? Great!
  If you want to help out, please drop me a line first, so we can avoid
  collisions :)


VERSION HISTORY
---------------

 v0.2 (2008-04-13)
  - Relicensed under Noncommercial zLib License / GPLv3
  - Now using the same codebase as NitroTracker for easier integration

 v0.1 (2007-04-15)
  - Initial Release

CONTACT
-------

  e-Mail: me@nitrotracker.tobw.net
  IRC: _0xtob in #dsdev on Blitzed



Happy coding!
     - 0xtob