ISMP2. Development: Oct 2011 to Jan 2012. For Windows and MacOSX.
The entire software's core ( xIS51 ) is developed based on BASS, a partly-free library. According to the BASS library licence, it is free to use it if the following conditions establishes (at the same time). 1. It's used by individual users. 2. It's used for non-commercial activities (e.g. concept learning).
Therefore, the distribution, modification, and use of the software (goes and comes with xIS51) is free unless the above two conditions doesn't establish.
It is planned for an un-BASS-ed xIS51 to be developed.
IS51MP is designed as an incomplete GUI implementation of BASS, for those who wants to play channels of sounds on speakers connected to a computer. Those who wants to do simple audio editings ( no saving ). And for those to learn how BASS library works.
xIS51 is designed as an incomplete BASS library implementation for Adobe Director to use. For those who are developing on Director and looking for a solution to play channels of sounds on speakers connected to a computer.
And. By playing channels of sounds on speakers connected to a computer, I meant to assign channels to speakers specifically.
I DannyNiu has always been keen on concepts. Because without understanding them, doing everything will be slow and hard.
In this software, there are three levels. Files, App, and Devices.
Files are those store on the disks ready to play. They can possess several channels
Devices are the hardwares that make sounds that we can hear. They can possess several output speakers which can be assigned by channels.
Decices are typically accessed through and recognized by sound cards. Sometimes a port on a sound card might not be pluged in. Which means there won't be that sound while the singnals are sent.
App is this software. It controls how sound channels and speakers are assigned to each other.
For advanced users, these knowledges are recommanded. And for xIS51 user, these are necessary.
Splits are duplications of a files' audios. In modern computers, it is possible to share same CPU and memory for different outputs. And Splits are designed for such a purpose, so that the performance can be improved.
Mixers are the keys where sounds are transformed ( with their volumes and channel arrangements ). At a mixer, sound's channel arrangement and their volume and speaker assignment are adjusted.
Files Splits and Mixers are all Hands ( my perfered short for handles ). With xIS51, hands have two types, decoding hands, and non-decoding hands. only decoding hands can have splits and mixers, and splits and mixers can also be decoding hands. This rule is preserved directly from BASS.
To save CPU and memory, Devices are not initialize by default. They have to be initialized before using, and sould be freed ( un-initialized ) when they're not used.