Jump to content

How to find experienced programmers for hire?


zircon
 Share

Recommended Posts

I'm looking for one or possibly two experienced programmers who can write cross-platform (Windows, Mac) applications that deal with audio, midi, VST, and network code. I figure no one from OCR can do this, though I could be wrong, so I'm looking elsewhere but I can't find any sort of free-to-use job posting/search forum for programmers. Anyone know where I should look? This is of course, paid work.

Link to comment
Share on other sites

I'm curious to know where you're going with this. I don't have access to a Mac environment (although designing code to be easily cross-platform compatible isn't that hard; you just have to make sure to recognize the dependencies on one system and isolate them), but have experience or at least interest with everything else. Of course, I'm working full-time, but depending on your timeframe and what you're envisioning, I might be able to get on board with this. Post some more details or let me know what you're thinking.

As for other places, university message boards or newsgroups might be a good resource. uw.cs.general is the place to go if you want to ask around UWaterloo (the school I graduated from, and I believe Emura is in engineering there as well); other schools will have something similar.

Link to comment
Share on other sites

Check this out:

http://www.fx-max.com/fxt/

It's an application that pipes midi and audio data over a network, not unlike MIDI Over LAN, but it integrates perfectly within a host sequencer. So, for example, you would run the "Master" install on your seqeuncing computer, install your plugins, then run the "Slave" install on slave PCs 1, 2, and 3. Those PCs are also installed with the same plugins. On the slave PCs, you run the "Server" application. On the Master PC, within your sequencer, you open up a "LAN" version of the plugin of your choice. The plugin will actually open on one of the slaves, but you can sequence it, render it, and save it on your master PC.

Sounds great, right? Well, it occurred to me (and other people) that one could program a LOCAL version of this software to circumvent the 32/64bit problem in DAWs today.

Currently, you CAN install a master and slave version of FX Teleport on the same PC. This essentially enables you to run plugins outside of your sequencer's process (in the FXTeleport server.exe process) which, on a 64 bit system and given that you have enough RAM, will allow you to use an extra 3-4gb of RAM in the server.exe process. Plus, your plugins will integrate perfectly into your DAW. No need for virtual MIDI/audio cables.

The problem is that FX-Teleport is CPU hungry and introduces a LOT of latency (300-400 samples.) This is to be expected in a network setup, but I am assuming that all the network code makes it highly inefficient for a local setup. I want to see a program that operates similarly to FX-Teleport in concept, with the following features:

* 32 and 64-bit

* PC and Mac compatible, if possible

* Minimal latency and CPU overhead

* NO network code - intended to be run on one PC only

I don't think this would be incredibly hard, but it would be VERY financially successful. The issue right now is that many composers want to use more than 2-3 GB of RAM, but you need so many things to be able to do that: 64bit sequencer, 64bit plugins, 64bit OS, etc. That, or you have to put up with MIDI-over-LAN or virtual audio cables which add latency, hassle, and are much more inconvenient than VST integration of plugins. This solution would only require a 64bit OS.

Link to comment
Share on other sites

Why not just suggest it to the FX-Max team? I doubt it would be difficult at all for them to implement this idea as an option in FXT, or create some variant of it. I mean, what you're essentially wanting here is a program that already exists, but with one modification. Not only does that involve a lot of redundant work, I imagine you'd have to run into some sort of copyright or intellectual property issues at some point.

If you're just trying to break out the entrepreneurship...well, I wish you the best of luck, but I don't have as much faith in the "very" part of "financially successful" as you. Unless you contract another person to make dongles for you, piracy will probably cut significantly into your projected profits.

Link to comment
Share on other sites

I doubt they'd do it, at least in their version, because their current method of transferring data from one place to the other undoubtedly uses sockets (the one common way of doing network programming; really, all other ways of doing it just wrap sockets). Their first thought would probably be to tell you to just use sockets on a local machine, which is what zircon's already tried. Whatever overhead there would be in using sockets would be present here.

I'm not sure there's a whole lot you can do to improve on this, although I've started looking at the options. Probably the only significant value over FX Teleport would be the ability to load 64-bit plugins, assuming FX Teleport doesn't do that already; getting the latency down would probably be hard. That doesn't mean this isn't worth pursuing, but needs some good design, good coding, and careful thought.

Link to comment
Share on other sites

FX-Max is basically dead as far as I can tell. Otherwise I would have suggested it already. As for the financial success aspect, the people this is marketed to are not really inclined to pirate their software. We're talking career film/TV/game composers primarily, and they don't usually screw around with something that could lose them their livelihood.

While conceptually this is similar to FX-Teleport, the implementation would be quite different, and since you can't patent overarching concepts (in this case, VST plugins being loaded in a subhost outside the main host and routed back in to the main host) there would be no IP issue.

Link to comment
Share on other sites

FX-Max is basically dead as far as I can tell. Otherwise I would have suggested it already.

Hm, yeah I could see that being a problem. :/ Maybe you could find a way to get a hold of the former team members and make them an offer.

Alternatively, you could contact the developers of your DAW. This sounds like it might be a feature that should just be built into the DAW in the first place, eliminating the need for 3rd-party workarounds.

Link to comment
Share on other sites

I'd second craiglist, I've used it to get freelance software/web programming jobs. But I'd just pay the listing fee -- the 'gigs' section is a crapshoot. I never check there anyway; if someone can't pay the measly fee on craigslist then I don't want to work for them.

As for the idea, I'm not so sure about the premise. IIRC, a Windows application can address 2 GB of memory but each thread that application spawns can address 2 GB of memory as well. Applications (DAWs especially) make use of threads to benefit from multi-processor systems.

I happen to have Logic open, so I checked and it's using 16 threads. If Logic were a Windows application it could potentially address 32 GB of memory. Now, how those threads are divided up among the bits that matter (plugins) changes the story dramatically, but I still think you may be overestimating the advantages of your idea.

Of course I quit my last windows development job 6 years ago, so I could be not remembering things right.

Link to comment
Share on other sites

Threads run in the same memory space as the process that spawned them, regardless of OS. That's the only way this could work: if a thread ran in its own memory space, how would it communicate with other threads in the same process? You'd have to have some kind of protocol (shared memory, sockets, pipes, or the like) to share data between threads, which would drastically complicate the process of writing threaded code.

Link to comment
Share on other sites

I'm misremembering-- thinking of child processes, which you do need various IPC methods to work with. These are probably not utilized much in DAWs.

Congratulations, my point is moot.

Although, child processes are not entirely unlike what we're trying to accomplish here :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...