Chaduke
User
Joined: 22 Feb 2005
Location: Lafayette, LA
|
Posted: Sat Jun 25 2005 17:09 Music software programming |
 |
If I were to create a program similar to Madtracker or something like CuBase or Cakewalk, what would you suggest as far as programming libraries to research?
I'm a business software programmer by profession and I'm very familiar with VB and can work with C/C++ fairly well. My first instinct was to check out DirectSound and DirectMusic. It's difficult to tell where Microsoft is going with this technology as they don't even include it in the newer versions of the DirectX SDK. There's also very few current articles about it on MSDN so I'm wondering how much it is worth researching. There's also the MCI API which seems fairly easy to learn but it looks pretty old and I'm not sure what to think about it. I'm hoping to find something that allows me easy access to MIDI functionality but also has capability or works well with other libraries to work with sampled audio and modern techniques of manipulating it as well as sound synthesis.
I appreciate any suggestions from programmers out there. |
|
|
Back to top |
|
 |
|
Yannick
MadTracker Author

Joined: 16 Apr 2003
Location: Belgium
|
Posted: Sun Jun 26 2005 14:13
|
 |
Stick to the good old Win32 MIDI functions, they work well. For the audio, you may want to use ASIO.
Yannick |
|
|
Back to top |
|
 |
Chaduke
User
Joined: 22 Feb 2005
Location: Lafayette, LA
|
Posted: Sun Jun 26 2005 18:07
|
 |
Thanks Yannick that's exactly what I wanted to know. I've been messing around with the Win32 midi stuff through a add-on library that someone wrote for Blitz3D. Blitz in case you weren't familiar with it is a 2D/3D game programming IDE that uses BASIC. It allows you to write your own declaration files that define functions in external dlls so you can use them in Blitz. Right now I have a simple program that plays and records midi and updates 3D objects based on note and velocity. Not really useful but I'm thinking something cool could be done with it, like a music game perhaps.
I'm really enjoying it so I figured I should try to just do it with Visual C++ and learn more about working with sampled audio and synthesis as well. Maybe I'll write some VST plugs eventually.
Anyway thanks again for your reply. |
|
|
Back to top |
|
 |
oldbrian
Registered User
Joined: 18 Aug 2004
Location: hungary
|
Posted: Sun Jun 26 2005 20:02
|
 |
directSound and directMusic are both in the dx9.0 c sdks (in all 4 of them ) tho in the latest (april) sdk update there were no directMusic samples - but i don't remember whether there were any in the dx 9 sdks, maybe they'll get united like the 3D and 2D (or like the imediate and retained mode were, and so on, and so on... ) graphics parts were. but dunno if it's worth the fuss.
there's an open source music prog called psycle: http://psycle.pastnotecut.org/database.php?action=show_cat&cid=4&styleid=1 - maybe helps a bit. |
|
|
Back to top |
|
 |
Chaduke
User
Joined: 22 Feb 2005
Location: Lafayette, LA
|
Posted: Mon Jun 27 2005 15:47
|
 |
Thanks much oldbrian, I'll definitely check out psycle. It looks to have everything I'm interested in.
I guess I should have made my statement different about DirectMusic. I knew it had been included in the initial release of DirectX9, but there was an update last summer, then in October, then April, and now one this month, and never anything dealing with sound or music, so it makes me wonder. Not that it would just totally disappear or anything though.
I downloaded the ASIO SDK yesterday and compiled the sample client and host apps. It's definitely not for the beginner. I found it strange that the sample projects were made for Visual C++ 5 and it hasn't been updated. I had to make a few changes to the code to get it to compile in .NET |
|
|
Back to top |
|
 |
technoid
Regular

Joined: 21 Sep 2003
Location: Oregon USA
|
|
Back to top |
|
 |
Chaduke
User
Joined: 22 Feb 2005
Location: Lafayette, LA
|
Posted: Tue Jun 28 2005 06:30
|
 |
Cool, I've used Modplug quite a bit. I followed it's development all thru the beta stages several years ago but I didn't know the source was released. I remember reading where Olivier said he used inline ASM for the EQ and some other features. I'll check out the code and see what it looks like. |
|
|
Back to top |
|
 |
|
|