|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 |
|
DriverHeaven Newbie
Join Date: Jan 2005
Location: Prague
Posts: 16
Rep Power: 0 ![]() |
kX Soundfonts API
Hi,
I'd like to ask if there is any API for soundfonts handling? I.e. loading a soundfont into a bank, retrieving names of loaded soundfonts, getting soundfont cache status etc.? My problem is as follows: I'm currently writing an app that is aimed at soundfont handling and previewing. So far I've been using the original Soundblaster drivers that came bundled with my SB Live 5.1. I haven't encountered any problem till I've installed the kX driver. Fortunatelly my app doesn't crash but it doesn't handle soundfonts properly anymore. The main issue is with obtaining the soundfont names. I use sfman's API call to accomplish this but with kX driver the names appear as follows: 1 - *chorused piano 2 - *chorused piano 3 - *chorused piano 4 - chorused piano (this is a case when I loaded 4 different soundfonts into the first 4 banks and the last one loaded was the "chorused piano". Banks 1, 2 and 3 contain ABSOLUTELY different soundfonts! )There is another issue regarding the soundfont cache status which is NOT being reported correctly (but this is less significant to me)... Fortunatelly loading and unloading soundfonts works well as I was used to with SB drivers. Please, can you provide me with any help that could lead to a solution? I don't want to return back to the original SB drivers as kX beats them in a couple of ways... I love the crystal clear sound and the LOOOW latency! No SB drivers anymore! Thank you for any advice. Zvukovac |
|
|
|
|
|
#2 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
kX uses it's own SoundFont implementation.
That is; not all SF SDK functionality is implemented, or it is implemented differently. Review kxi.h for kX specific soundfont functions like; parse_soundfont(...); get_preset_description(....); unload_soundfont(...); You can access these functions through iKX interface like; // in header iKX* myikx; // in your main() function; myikx = NULL; myikx = new iKX(); myikx->init(device); //.. do your stuff like; myikx->get_preset_description(....); //.. or whatever // quit myikx->close(); delete myikx; myikx = NULL; Review kxctrl source code in kX SDK. /LeMury |
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jan 2005
Location: Prague
Posts: 16
Rep Power: 0 ![]() |
Thanks!
Thanks a lot LeMury!!!
Your information is just what I've been looking for! |
|
|
|
![]() |
| Thread Tools | |
|
|