APStoy v0.5a  *with new User Strip mappings*

-------------------
APStoy v0.5 (alpha) *with new User Strip mapping!*
-------------------

Thank you for your interest in our efforts.

This is yet another ALPHA version; help us develop it into a BETA version. Comments and feedback are welcome; visit the Emu10k1 Independent Programmers site for the latest updates and more information.
http://go.to/emu10k1

Take a second & email me to let me know what you think of APStoy - feedback is crucial to further development.
emu10k2@hotmail.com

Good luck!

/HANz

--------
Contents
--------

1. Description
2. Features
3. Limitations
4. Known Problems
5. System Requirements
6. Contact
7. Acknowledgements
8. Version History
9. Source Code
10.Technical Description
11.Future Development
12.Warranty

1. Description
--------------

APStoy is a modest MIDI control utility for use with the E-mu Audio Production Studio (APS) soundcard. APStoy allows mapping of MIDI CC data to APS mixer parameters, and assignment of additional Fx to the Aux busses.

2. Features (even more than last time ;-)
-----------

Current features include:

-Lotsa slider controls which are mapped to the most of the APS mixer sliders.

-Sliders can be individually mapped to any MIDI Continuous Controller (CC) number.

-MIDI input and output devices are selectable from device lists.

-Slider CC mapping and MIDI in & out device selection is saved to an INI file.

-MIDI-out channel is now selectable (for slider-generated and NRPN data only).

-NRPN filter cutoff & filter resolution sliders added.

-Some Aux Bus effect labels added (incomplete).

-Any of the 16 effects are now assignable to the Aux Busses (*including Compression and EQ*).

New features in v0.5a:

-User Strip mapping pages added (finally.. ;-).

-Analog Input Gain and WaveFilter mapping removed (not really a "feature", but I thought I'd mention it).

3. Limitations (still quite a few ;-)
--------------

Limitations include:

-Only 65 sliders at present. :-P

-MIDI-in data is currently always accepted on all channels (omni), i.e. there is no individual channel selection.

-MIDI data is accepted from only one device at a time and output to only one device at a time.

-MIDI message latency issues have not been addressed.

-CC mapping duplications and/or conflicts with standard assignments are not checked.

-No user-control is provided for saving or loading of CC mappings. Most recent settings are automatically saved to INI file on close and re-loaded on next run (INI file may be manually edited if required).

-Aux bus assignment listings are not screened for availablity (greyed-out, etc.); if effect is already in use it will simply not be inserted (with no error msg); there is no "none" option for Aux buses.

-Assigning EQs to Aux buses is possible, but there is no easy way to modify parameters (no Fx control panel available).

-There is little or no error checking at present. Bug reports welcome. :-) 

4. Known Problems
-----------------

-I am overworked and underpaid. (hehe - no joke ;-). Development tends to be kinda slow, but then, you get what you pay for. :-P

-The GUI and Icon still aren't too pretty.. *sigh* hehe

-APStoy may crash if it attempts to open a MIDI device which is already in use when it starts up. Temporary fix: free-up conflicting device, re-start APStoy, then select MIDI devices which are not in use. Sorry 'bout that - it'll be fixed next release (if there is one..;-).

5. System Requirements
----------------------

-E-mu APS drivers and applications must be installed and running correctly (note that there are currently no WinNT or Win2k drivers for the APS).

-This application uses Micro$oft C++ Foundation Classes (MFC). Most users will already have the required DLL files (MFC42.DLL, MSVCP60.DLL, etc.) in their windows\system\ directory.

-Use of a virtual MIDI device utility and/or MIDI message mapper/router may be required, depending on your MIDI hardware & software configuration (e.g. MIDIox, MIDIyoke, Hubi's, MultiMid, etc.).

6. Contact
----------

Send comments & bug reports to: emu10k2@hotmail.com

Visit the Emu10k1 Independent Programmers site for the latest updates and more information:
http://go.to/emu10k1

7. Acknowledgements
-------------------

Thanks go out to all those who have dropped by the EIP site or contributed in one way or another to making the development of this application possible.

Thanks in particular to EliotF for making the SoundFont Orbiter source code available (can you say cut & paste? ;-). Much of his well-commented code has been recycled into this project.

Thanks to Thomas Hammer for bringing us the Open Sound Code (OSC) library and for making my life easier in general (from a MIDI point-of-view) and also for his prompt and good-natured replies to a novice's MIDI coding questions. :-P

Big thanks to Geo Pertea for making the AWEtoy sources available (16bit Delphi - doh!) and for providing the initial inspiration for the project. APStoy owes it's name to Geo's unsurpassed AWE32/64 control panel.

Thanks to the APSonLive crew for providing additional inspiration and motivation.

Thanks to Eskil & my brother for the help on the logarithm stuff - the curve still isn't quite right though - maybe it's a natural log thing.. I dunno. :-P

Thanks to xpeace for his efforts at furthering The Cause. ;-)

Thanks to sonix for reviving the flagging interest levels. :-P

Thanks to Max M. for the new inspiration. :-)

Global thanks to all those people all over the world who have made their various projects' code available to the public. Open-source baby! Yeah!

Thanks to the guys & gals over at E-mu for trying to help musicians get the most out of their equipment (no thanks to their cruel overlord, Creative Technology ;-).

Note that we are in no way affiliated with or endorsed by either E-mu Systems or Creative Labs.

8 Version History
-----------------

-15.03.2001 APStoy v0.5a (alpha) released, source code available upon request.
-20.11.2000 APStoy v0.4a (alpha) released, source code available upon request.
-16.09.2000 APStoy v0.3a (alpha) released, complete with source code.
-05.09.2000 APStoy v0.2a (alpha) released, source code to follow shortly.
-09.08.2000 APStoy v0.1a (alpha) released, complete with source code.

9 Source Code
-------------

This is an open-source freeware application. Note however that some of the included source files may be governed by a licensing agreement (GNU or otherwise).

You should have received the C++ source code together with this application. Visit the Emu10k1 Independent Programmers site for the latest sources and more information:
http://go.to/emu10k1

Users are encouraged to help in the development of this application with bug reports, feature suggestions, code improvement suggestions and/or coding of additional features, where possible.

If you wish participate and/or contribute, contact us at emu10k2@hotmail.com.

If you do add to or modify the code, please keep us posted so as to avoid any duplication of effort, and to let others benefit from your (hard) work. :-P

10 Technical Description
------------------------

APStoy takes advantage of the APS SoundSceneServer COM library functions found in the Sscene.exe Local Server (part of the APS driver & application file set).

On startup, we get an interface to the COM library and proceed to call functions from it as needed (GETs and SETs mostly). 

MIDI in and out device selections are restored from the APStoy.INI file and the devices are opened, using OSC class functions. The various CC mappings are restored from the INI, and the sliders are updated with current APS mixer settings (with GET calls to the SScene server).

Incoming MIDI data is screened for mapped CC messages in the MIDIinput callback function and then passed on to the selected MIDIout device. A UserMessage is posted to the main dialog, with CC number and value as parameters. The UserMessage handler updates the appropriate slider and makes a SET call to the COM server to update the associated APS mixer parameter.

When the application is closed the interface is released and the MIDI devices are closed, and the current device and mapping settings are saved to the INI file in the \windows directory.

11 Future Development
---------------------

In principle, any parameter with an associated SET function in the COM library could be mapped to a MIDI-controlled slider or other control (including effects parameters, etc.; see the SsceneIface.h file for a complete list of fairly self-descriptive function names).

In fact, as I understand it, all of the current Econtrol Mixer functionality depends on the Sscene COM functions, so it would in theory be possible to build an alternative full-function mixer app with all of the features of the Econtrol app, including Snapshot functions, strip add/remove, input/output mapping, etc, etc.

Currently APStoy only addresses the addition of MIDI mapping to some of the APS mixer functions, because (among other reasons) a full-feature alternative mixer would be fun, but we already have the Econtrol app, so why bother? ;-)

On the other hand, there are certainly many useful features that could be added to APStoy (see Limitations above). If anyone has the time or inclination, let us know (who? me? ;-).

Once again, please send any thoughts or comments to emu10k2@hotmail.com or drop by the EIP site at:
http://go.to/emu10k1

12 Warranty (blurb)
-----------

EXCEPT AS OTHERWISE RESTRICTED BY LAW, THIS WORK IS PROVIDED
WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING
BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF FITNESS FOR A
PARTICULAR PURPOSE, MERCHANTABILITY OR TITLE. EXCEPT AS
OTHERWISE PROVIDED BY LAW, NO AUTHOR, COPYRIGHT HOLDER OR
LICENSOR SHALL BE LIABLE TO YOU FOR DAMAGES OF ANY KIND, EVEN IF 
THEY HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.