Code Monkey home page Code Monkey logo

sharpmod's Introduction

sharpmod

Imported from Codeplex without history. (Revision 17477)

Somebody (perhaps original author) please take over maintaining this.

My changes:

  • Move source under src
  • (TODO) Port to .NET 4.6.2
  • (TODO) Make Nuget package

---- Original Readme below ----

Project Description

A Soundtracker Module music player in C# (100% Managed, without interops), At the beginning, a simple port in C# of the famous Mikmod Library. Today, it has some improvements. Three versions are avaible : NAudio Output, Silverlight and XNA (Windows Phone 7, Windows and Xbox360).The code is shared by links between projects from a trunk "Core" Project. Audio renderers are saved in each project files (Windows, Silverlight and XNA)

SilverLight Screenshot :

Winforms Screenshot :

Command line, with track view and position

Project's Goal

This library allow you to add soundtracker music replay to your .NET applications. It's designed for framework 3.5 and 4.0. Actually, Protracker, FastTracker ans ScreamTracker formats are implemented.

5 Lines of code to do this :

SongModule myMod = ModuleLoader.Instance.LoadModule("SongModule.Mod|S3M|XM"); ModulePlayer player= new ModulePlayer(myMod);

// Silverlight Driver SharpMod.SoundRenderer.SilverlightDriver drv = new SharpMod.SoundRenderer.SilverlightDriver(MyMediaElement); // Or NAudio Driver SharpMod.SoundRenderer.NAudioWaveChannelDriver drv = new SharpMod.SoundRenderer.NAudioWaveChannelDriver(NAudioWaveChannelDriver.Output.WaveOut); // Or XNA Driver SharpMod.SoundRenderer.XnaSoundRenderer drv = new XnaSoundRenderer(new DynamicSoundEffectInstance(48000, AudioChannels.Stereo));

player.RegisterRenderer(drv); player.Start();

Where can I found a Song Module ???

On you're Amiga old floppies or....

The Mod Archive http://www.modarchive.org Amiga Music Preservation : http://amp.dascene.net/home.php and many other ways :o)

Performance

  • The replay routine take between 1% and 18% Cpu depending of module played on my PM1.5Ghz centrino laptop.
  • Better on my E6300 1.8Ghz desktop.
  • Seems to have minor problems on my wife's N270 1.6 netbook (have to test again). Have tested, it's the FFT and visualizers who are too expensive.
  • Seems to play fine with the WP7 Emulator. I Need some help to test on real WP7 Hardware.
  • Take a maximum of 5% on my new I5-2537 Alienware M11X on complex Module (32 chans with lots of effects and big samples)

Known issues

The Naudio version will hang up on 64 bits systems (error while loading the NAudio assembly). I'll try to fix it with a modified version of NAudio.

History

29/05/2011.. first XNA's renderer work

  • Thx to the DynamicSoundEffectInstance class... the first attempt to play Mod on WP7 is successful

23/07/2011 All Xna Platforms are are ok -See the source code, release will be coming soon.

07/11/2011 Welcome to a new developer

  • Since the november 4th, Waldog78 will contribute to the project with me.I Hope that we can deliver a new release as soon as possible, including the full XNA binaries and samples for all platfroms and major fixes of the issues.
  • The VS2008 solutions will be obsolete, all code will be maintened under VS2010. The target Platforms are .NET 3.5, Silverlight 4 and XNA 4.0

The XNA sound renderer is present in the svn source code. Not yet avaiable as stable release.

14/09/2012 SharpMod is still alive

  • A Major release will be coming soon, stay tuned

  • Enjoy the new SharpMod Logo :)

Donate

SharpMod is a free open source project that is developed in personal time. You can show your appreciation for SharpMod and support future development by donating.

(See codeplex page for donate link)

Future

  • try to solve bugs
  • make a Mono sound renderer (Have some ideas with PortAudio)
  • Test and adapt for Moonlight

Have fun !

sharpmod's People

Contributors

jaredthirsk avatar bsoja 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.