MadTracker.org
Forum - Music software programming
Log in Log in Profile Profile Search Memberlist Usergroups FAQ FAQ
 Forum
General discussion
 Music software programming
Reply to topic Post new topic  
Chaduke
User


Joined: 22 Feb 2005
Location: Lafayette, LA
PostPosted: Sat Jun 25 2005 17:09    
Music software programming
Reply with quote

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
View user's journal Send private message Visit poster's website
Yannick
MadTracker Author


Joined: 16 Apr 2003
Location: Belgium
PostPosted: Sun Jun 26 2005 14:13    
Reply with quote

Stick to the good old Win32 MIDI functions, they work well. For the audio, you may want to use ASIO.

Yannick
 Back to top
View user's journal Send private message Visit poster's website
Chaduke
User


Joined: 22 Feb 2005
Location: Lafayette, LA
PostPosted: Sun Jun 26 2005 18:07    
Reply with quote

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
View user's journal Send private message Visit poster's website
oldbrian
Registered User


Joined: 18 Aug 2004
Location: hungary
PostPosted: Sun Jun 26 2005 20:02    
Reply with quote

directSound and directMusic are both in the dx9.0 c sdks (in all 4 of them Smile ) 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... Very Happy ) 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
View user's journal Send private message Send e-mail
Chaduke
User


Joined: 22 Feb 2005
Location: Lafayette, LA
PostPosted: Mon Jun 27 2005 15:47    
Reply with quote

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
View user's journal Send private message Visit poster's website
technoid
Regular


Joined: 21 Sep 2003
Location: Oregon USA
PostPosted: Tue Jun 28 2005 01:34    
Reply with quote

You may also want to check out another popular tracker, ModPlug. It became opensource around 1 or 2 years ago, can't remember, after Olivier (the original author) gave up the source code (pressured by ModPlug's users/community, heh). They may want someone else on their coding team.

Main site: http://www.modplug.com
Developer site: http://sourceforge.net/projects/modplug
Forums/resources: http://www.modplug.com/community/index.php3?session=


~techie
 Back to top
View user's journal Send private message Send e-mail
Chaduke
User


Joined: 22 Feb 2005
Location: Lafayette, LA
PostPosted: Tue Jun 28 2005 06:30    
Reply with quote

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
View user's journal Send private message Visit poster's website
Reply to topic Post new topic  
Display posts from previous:   
Page 1 of 1 All times are GMT + 1 Hour


Powered by phpBB © phpBB Group

Copyright © 1998-2005 Yannick Delwiche
All rights reserved