HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > SoundFonts and MIDI


Reply
 
Thread Tools
Old Nov 10, 2003, 11:29 PM   #1
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

Megafont source code in work

Hi,

Next to many discussions, I decided to try to update megafont and to keep it compatible with kx Project.

I made a compile and have the next problem :

when using the LoadPreset from sfman32.dll, an error code unknown is returned : 110.

Does any of kx project developers have an idea about this error code ? Is there some special parameters that should be passed to LoadPreset ?

Thank.
Mikol is offline   Reply With Quote


Old Nov 11, 2003, 12:20 AM   #2
DriverHeaven Junior Member
 
Join Date: Jun 2003
Posts: 81
Rep Power: 0
lucioblues is on a distinguished road

In an old mirror of Megafont (still available) you'll see that some extra components are needed for build it. Maybe that's the problem.

http://www.geocities.com/lstnght2000/mf_download.htm

"Brad Stowers' DFS TSystemTreeView and RX-Lib are needed (...)"

the first I found here (but the link to the file is dead ):

http://members.aye.net/cgi-bin/dfs_c...ts.cgi?systree

the second here:

http://sourceforge.net/projects/rxlib/

Good Luck
lucioblues is offline   Reply With Quote
Old Nov 11, 2003, 10:10 AM Threadstarter Thread Starter   #3
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

Thank for this links.

But the project I try to update is only megafont, not the mf_tools. I made a copy of mf_tools with my re-compiled megafont and it works fine. Except that the LoadPreset function (of sfman32.dll) does not work !

Is there any tips ? Or should I implement other soundfont support ?

Does the kx developers have any idea ?
Mikol is offline   Reply With Quote
Old Nov 11, 2003, 01:15 PM Threadstarter Thread Starter   #4
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

After some tests, the main problem with megafont seems to be that kx Drivers doesn't support load of preset but only load of banks.

I modified megafont and now I can load soundfonts with it but only complete banks, not only a part of a bank (preset).

Is it a limitation of drivers ?

I'm going to see if there are any solution with kx sdk.
Mikol is offline   Reply With Quote
Old Nov 11, 2003, 04:54 PM   #5
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

there's no 'load_preset' option currently available
but there's a working version of "SFDEV_VIENNA_LOAD_PRESET" function
(review 'undocumented' Vienna SDK for details -- http://kxdev.narod.ru)

so, if you add a 'workaround' for the LoadPreset function, this will fix megafont incompatibility...
(note that 'SFDEV_VIENNA_LOAD_PRESET' is highly limited at the moment)

/E
Eugene Gavrilov is offline   Reply With Quote
Old Nov 12, 2003, 07:24 PM Threadstarter Thread Starter   #6
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

Thank for your answer.

I tried to use LoadPreset Vienna API but I don't know how to pass soundfont to message. Documentation says that I have to give a memory pointer. Should I load the soundfont file ? And can I load a soundfont preset at a specific bank and program number with this function ?

Another solution I'm going to try is to save the preset I need at runtime to a temporary file and load it with the LoadBank function which is implemented.
Mikol is offline   Reply With Quote
Old Nov 12, 2003, 09:32 PM Threadstarter Thread Starter   #7
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

A short message just for telling readers about my "megafont conversion" project progress ...

I made a try to load presets by temporary soundfont bank ... it seems to work (I finally can play with some soundfonts loaded successfull by megafont) but there's many problems related to my method (create soundfont file with only the preset needed). Each time I change preset in a bank that I've already load, old presets are deleted and only the last preset stay in memory. I should add new presets of same bank in my temporary file and manage more than one temporary file. A temporary file per bank.

Another problem is soundfont release. Megafont uses ClearLoadedPreset but this is not implemented. I made a quick update and now entire bank are deleted. There's work to do with this part too because when only a preset of a bank should be unloaded (automatic unload of megafont), all presets of bank are deleted !

That's all for now.
Mikol is offline   Reply With Quote
Old Nov 12, 2003, 10:14 PM   #8
DriverHeaven Addict
 
Join Date: Sep 2003
Posts: 266
Rep Power: 0
PITmaster is on a distinguished road

Oh God, thank You for Mikol and his great idea to revive MegaFont project
Mikol I would help you if I only could.

People, programmers - follow Mikol.

PITmaster
PITmaster is offline   Reply With Quote
Old Nov 12, 2003, 11:07 PM   #9
DriverHeaven Junior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 68
Rep Power: 0
HarmLammers is on a distinguished road

And programmers who are not able to help Mikol, but can program quite well: try to change the tool Eugene has given so we can test the soundfont implementation of kX and CT and eleminate the differences... untill now no one with enough programming skills has showed up :-(
HarmLammers is offline   Reply With Quote
Old Nov 15, 2003, 01:18 AM Threadstarter Thread Starter   #10
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

Thank for your support !

My progress is now : when a bank or preset change is received, megafont manage temporary bank file (so maximum temporary files number can be 128) and ask to kx driver to load entire bank.

This seems to be ok and works.

My last problem now is with Cubase soundfont support. Patch and bank names are not received correctly ! Megafont seems to send them incorrectly. I didn't found any information about this and it's difficule to know where to find doc.

See you soon ...
Mikol is offline   Reply With Quote
Old Nov 15, 2003, 01:52 AM   #11
DriverHeaven Junior Member
 
Join Date: Jun 2003
Posts: 81
Rep Power: 0
lucioblues is on a distinguished road

Quote:
Originally posted by Mikol

My last problem now is with Cubase soundfont support. Patch and bank names are not received correctly ! Megafont seems to send them incorrectly.
As I can remember Megafont doesn't sends anything to the sequencer. It just receives (via Hubi/MIDI Yoke) the Bank/Program changes. You first must create an "instrument definition" file (like .ins files in Cakewalk/Sonar) via "mappings editor" (mf_tools.exe) and load it into the sequencer previously (that will treat the soundfont as an instrument).
The "mappings editor" can export it into several formats. There are for Cubase two options for exportation in .dev format (that I don't know if can be recognized in SX).
lucioblues is offline   Reply With Quote
Old Nov 15, 2003, 09:11 AM Threadstarter Thread Starter   #12
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

Yes, I know that megafont can export instrument definition.

But on last versions, a new great function was added for soundfont device : automatic bank and patch names send.

In fact, megafont reacts (via midi yoke or hubi's lb) as a soundfont device and send all mappings instrument definition to software which allows to access all sounds without having to prepare and export a mapping.

This option is great and allow to win time ! But there are some mistake between what cubase is waiting for and what megafont send. But this is a known problem and I'm going to fix it (and add support for sx cubase version).
Mikol is offline   Reply With Quote
Old Nov 16, 2003, 02:24 PM Threadstarter Thread Starter   #13
DriverHeaven Junior Member
 
Join Date: Oct 2003
Location: France
Posts: 25
Rep Power: 0
Mikol is on a distinguished road

Let's see new thread for news :

http://www.hardwareheaven.com/showthre...threadid=31063
Mikol is offline   Reply With Quote
Old Nov 16, 2003, 04:11 PM   #14
DriverHeaven Addict
 
Join Date: Sep 2003
Posts: 266
Rep Power: 0
PITmaster is on a distinguished road

Sorry doesn't work.

First, I think it's important, CL's sfman.dll v4.06.501 should be in system directory during installation of megafont last version 1.24.2. The another version of sfman file is installed with kX drivers.

With yours files application starts but after turning on:

Exception EAccessViolation dans le module MEGAFONT.EXE dans 0000461E
Violation d'access a l'adresse 0040461E dans le module 'MEGAFONT.EXE'. Lecture de l'addresse 00BEFFF8.

PITmaster
PITmaster is offline   Reply With Quote
Reply

Thread Tools