|OK, so I got a @#$#load of errors again, though most of these "errors" are totally biased design "rules" (really only considerations).
EG all priority 1:
The member name 'Stop' conflicts in whole or part with reserved keyword 'Stop'. //yeah right, maybe with your code, but not with mine
Rename 'BASSProgessHandler' to end in 'EventHandler'. //why make the name even longer, it wont effect the code.
Change the first parameter of 'Progress' to an object type named 'sender'. // hell, i cast enough, why do i need to cast even more?
Correct capitalization of member name 'get_ChannelEAXMix'. // again, who cares? EAX looks better to me than Eax (that looks more like some assembler function, maybe FXCop will complain about it too
Add a constructor with a string parameter to custom exception 'BASSException'. Add a constructor with a string parameter and exception parameter to custom exception 'BASSException'. Add a protected constructor with a SerializationInfo object parameter and a StreamingContext object parameter to custom exception 'BASSException'. // again why? if you dont need it, why clutter your code with useless code?
The type name 'Error' conflicts in whole or part with reserved keyword 'Error'. // reserved????
Remove the underscore from 'BASS_OK'. //if its not OK, why even make it legal to use?
Instead of parameter name 'Length', use 'length'. // i cant help it if i hit my caps lock by mistake.
Make 'fWetDryMix' private or protected and provide a public property to access it. // Properties dont allways work when u need to "chain" a few, also the extra processing (repeated get/sets) makes it inefficient.
Instead of namespace 'nBASS', use 'NBASS'. //no, nBASS looks way cooler
and now for the 2 (yes only 2) usefull ones (priority 1):
Sign 'nBASS' with a strong name key. // not neccesary, but recommended.
Add a GC.KeepAlive(this) to the method 'Void Stop()'. //i have no idea what they mean...does look like it could break my code though.
Any comments welcome