In short, we have a DLL app that takes music, applies special filtering technology, and then spits it out.
What we need programmed is an app programmed and created, that acts as an interface, allowing users to upload music, set some preferences, and then send to this other DLL app, and then accept it back upon completion. The app will be based on a series of music products, each product being separately defined and accessed, depending on purchase parameters.
The interface design, etc. is already designed. It will work in accord with our x-cart shopping cart.
The programmer/programming team needs to meet these requirements:
- [url removed, login to view] programming (in C# preferably, I hate Visual Basic).
- Need to be very familiar with C#, since that is what I work in and what any examples I provide will be in.
- Advanced networking and server load management
- Interfacing with Win32 DLLs (all sound processing is done in C++ DLLs for speed and security reasons, called using Interop through C#)
- Should be experienced with uploading files in an HTTP interface, queuing requests, etc.
- As a side note, the resulting web application needs to be able to work without the client computer having .NET installed.
- User specifies a "protocol", defined by a purchased iMusic product. Each product implies a different protocol.
- With our app/interface, they upload music files and defines settings.
- Our app uploads music file, takes note of protocol.
- Our app sends user a simple message like "OK, thanks, we'll process this when we feel like it"
- Our app then sends the DLL (an app on a separate machine) both the location of the music file and the protocol. The communicating with the DLL part of it is real simple. Basically one function - send the file location, protocol location (session file), and I process both of them, and return when the processing is finished. You then send the next job, and the process is repeated. Very simple design.
- The DLL processes will take entire CPU to do this, which is why the DLL will be on a separate windows machine. One dedicated linux web server will hold the CustomExpress app and download finished products.
- Our app notes that it has been processed, and then sends user whatever instructions to download the completed music file.
Each processing request (music files and a protocol) needs to be able to be queued, as only one job can be processed at a time.
We would like someone with excellent communication skills, who can begin this project right away. We always pay our valued service providers in full upon project completion. We take completion dates and mile stone schedules very seriously, so please be prepared to meet expectations in this area.
A successful project will allow us to work with the provider on a continuing basis. Thanks for your time-- I look forward to working with more highly skilled programmers.