-
Stable and Useful
11/03/2014 at 20:23 • 2 commentsSo, I've been using this little gadget for about a month now with no changes in the code and it's proven pretty useful. It works 100% as intended and, even when it's not plugged in, I find myself unconsciously reaching for it when editing. I think that is a great sign. The wiring is still a mess and I've yet to make a proper enclosure for it, but I think I'll do that after the holidays when I have the time to get my hands on some wood and craft the case.
There is a hiccup I've been noticing, though. For no apparent reason, it will sometimes refuse to send any signals and won't go back to work until it's been reflashed. This only happens after a powercycle and I can't willfully reproduce it. I'm sure the problem is in my coding, but I don't know where since it compiles just fine. I'll have to ask someone to look over the code and see where the problem lies. *shrug*
The next step is to make the menu system and finally put that top encoder to use. I may also use the button on the bottom encoder to set a multiplier for scrubbing speed.
-
Code v0.1 Done!
09/28/2014 at 07:14 • 0 commentsSo the first real version of the code is done! Check the link in the project links area for the main Git resource where you can download the code.
So, instead to starting with keyboard shortcuts, I decided to skip right to doing it properly with Midi. The available controls are: play, stop, fast forward, rewind, record, loop, and mackie keys Function 1 and Function 2. Most DAW and DVW software allow you to map function keys to whatever you want, so I mapped mine to adding a cue marker and the split clip command (the two I use the most).
It's taking a lot to resist feature creep. I'm really tempted to move things around and add a joystick(with select) to allow the ability to move the cursor around in the DAW. That sort of thing is useful for moving from one track to another, at which point you can arm tracks separately (ANOTHER BUTTON), adjust track volumes (a pot)... Feature creep is a dangerous thing.
A couple of things I do want to add, however, is a nice menu system on the LCD. Maybe to change display options. Something like displaying the current timecode or using the LCD as a VU meter for the master channel.
Going back to the subject of feature expansion, for a moment: I'm thinking that maybe the best way to do that is modularization. Have the transport controls be one device and then maybe make it so you can connect another module (say, a single track fader with mute, solo, and record arm buttons) via a port on the side. Maybe serial to serial connections, with the master device (the one connected to the computer via usb) passing the midi commands right through. Strictly speaking, this should already be possible. Maybe I'll test it out once the menu and lcd stuff gets done.
-
Spiritual Design Ancestor! (also some code)
09/24/2014 at 08:25 • 0 commentsI found the spiritual design ancestor of the design of OpenTransport at the local Goodwill. In retrospect, I probably should have bought it and re-used the case. Ah well.
Also, I added the code I've been using to test the wiring, buttons, and libraries to the project links.
-
Hardware HO!!!!!
09/16/2014 at 08:40 • 0 commentsSo, it should be said that this thing will, ultimately, be made out of wood and maybe some metal bits. No, I'm not trying to push some artisanal bullshit; I just really like the aesthetic of those old wooden cased radios. I got my degree in radio, so I may be biased.
ANYWAY, I couldn't really just have all the parts just loosely connected to the arduino while testing them, so I had to create something to mount them all to in the
same basic shape of (what I think will be) the finished product.
TADA!!!
Yes, my piece of shit, temperamental as a teething two year old PrintrBot Plus V2.1 finally managed to do something right for once in it's make-Victor-miserable existence and successfully print something larger than a USB key.
Mind you, that whole back wall warped and split its layers and had to be removed, but 90% successful is still an A.
The testing platform perfectly fits both rotary encoders, all eight switches, and the 16x2 LCD with the bonus that there is enough plastic around the LCD that I was actually able to attach it with screws. Now, you may cringe at my wiring, but here is a picture of the underside. I do think I was clever with the weaving of a single solid core wire for all of the ground terminals of the switches.
Now that all the hardware is at a point where I can start coding, it's time to start hoping.
Shit.
-
On Inspiration, Drafting, and Part Collection
09/09/2014 at 22:57 • 0 commentsSo it all started with a trip to Guitar Center. I wanted a control surface and they typically have good equipment for cheap. But BY GOD were they expensive. I always knew control surfaces weren't cheap (new ones for home studios running from $1000 up to $3-4 thousand), but even the used ones were in the $500-700 range. As an audio engineer, while I know how nice it is to mix with a nice, smooth, and shiny control surface, I also know that a control surface doesn't do a single thing to improve the sound quality of a mix. I was not going to drop nearly $1000 on a glorified mouse and keyboard.
And that's, to use the cliche', when it hit me. Arduino's can fake being keyboards and mice. I know all the keyboard shortcuts, so why not make one?
But I'm not stupid. I know my level of skill is low, so I decided to start small and make a simple control surface. I settled on making a simple transport control surface. Limiting myself to this meant I didn't have to deal with midi and really could just have it be a keyboard emulator.
On one of our many late night trips to Denny's, My friend Amanda and I sat down with some paper and pencils and began drawing: her, long flowing arcs becoming figures; me, straight lines, sharp edges, kept tidy with a ruler and eraser. I had a first draft of the hardware.
After listing out what functions I would actually need from it, I decided to cut out the middle segment entirely.
I did figure out, though, that I would need a rotary encoder: a thing which I have never used. I mean, I have lots of things with rotary encoders in them, but I've never has one as a part. And, it turns out, it was harder for me to get my hands on one than I thought it would be. Neither RadioShack nor Fry's Electronics had any and, frankly, I didn't want to wait for one to ship to me. So, I started googling.
The first few places only dealt in large industrial rotary encoders. One place actually laughed at me when I asked if they had any $1-2 ones, saying that the cheapest one they have is 1-2 THOUSAND dollar ones. Shit.
I did eventually find this place called All Electronics. They're fairly local (about a 20-30 minute drive) and they have a retail store attached to their warehouse.
I cannot express to you the level of glee I felt when walking into this place. Don't get me wrong, it was a bit of a wreck in there. Messy as all get out, in fact, but it was the right kind of wreck. The same kind of wreck that a fashionista would fawn over if it was filled with nouveaux-retro-chic clothes (or whatever fashion is into these days) instead of oscilloscopes, bulk wiring, and connectors old enough to replace parts for one of the Apollo missions. If I had my wits about me, I would have taken a picture of this place. Next time, I suppose.
Rotary encoder found and in hand, I set upon their shelves, looking to see if there was anything else I needed... and I found the most wonderful little panel mounted buttons ever. They looked like a cross between skittles and personality cores, but in button form, and they have the most satisfying click. In fact, it's less of a "click" and more of a miniaturized "clunk": like those big, red, industrial emergency stop buttons, but smaller.
Admittedly, they're cuter in person.
I took the time to learn how to use a rotary encoder with arduino last night, and so I will begin refining the design of the physical device tonight... after the Hackaday meetup in Pasadena, of course.