Me

Eric Ford

App & Web Developer

Petaluma, CA

ericfordconsulting@gmail.com

(707) 787-8082)


Mobile Skills

Swift - 7 Apps

2015 - Present

Android Java - 4 Apps

2015 - 2016

Objective-C - 5 Apps

2014 - 2015

Corona Labs & Lua - 1 App (iOS & Android)

2015 - 2016

RubyMotion - 2 Apps

2013

Web Skills

Ruby on Rails

2007 - 2017

Javascript

2000 - 2017

Java

1997 - 2017

RDBMS & SQL

1996 - 2017

Elm

2017

Phoenix / Elixir

2017

Other Programming Skills

Arduino & C

2017

C# (not ASP)

2005 - 2008

Dircetor/Lingo, Flash/Actionscript

2005 - 2006

C++/C

1990 - 2006

VB/VBA/MS Access

1996 - 2004


Eric Ford's Resume

Jamulator: An iOS musical instrument app

Working with Chunks

Use your fingers to finger-paint notes on a grid. There are three types of grid: percussion, multi (MIDI instruments), and sampler. On the percussion grid each hrorizontal row represents a percussion sound. The vertical columns represent beats. The entire thing is referred to as a chunk, which is important because you can keep adding chunks.

When you choose the Multi tab from the tab bar at the bottom, you get another grid, for normal instruments, that behaves differently than the percussion grid. These instruments need pitch values for each note, so each horizontal row represents a pitch. The columns are the same as for percussion; they represent rhythmic beats.

A third grid type is found on the Sampler tab. Here you have the ability to record audio clips using the microphone, than assign them notes, including pitch shifts which are represented again by the horizontal rows. Most vocal sounds will make you laugh. They sound like The Chipmunks, or like Darth Vader. Other recorded sounds could be more serious. Like the sound of a glass clinking, or the pop of a champagne cork. The Sampler is pretty experimental.

You may notice that there are three play buttons (each with a corresponding "paws" button). The one near the top of the screen is for playing the current chunk. It will loop until the "paws" button is hit, allowing you to add (or erase) notes while it is playing. I will explain the other two when I explain tracks, and arrangements.

Working with Tracks

The horizontal area just below the grid is for creating and editing tracks. There are eight very small buttons on the left, followed by an area to the right of that where chunks are sequenced into a track. The small buttons left to right are: Play, and below that Paws, New Chunk (+) and below that Delete Chunk (x), Begin repeat, and below that End Repeat, Increase Repeat Counter (up arrow) and below that Decrease Repeat Counter (down arrow).

Working with Arrangements

The row of controls right above the bottom tab bar is used for controlling playback of arrangements. Arrangements include percussion, instruments, and samples.

Saving and Sharing Jams

The Share tab allows you to save and load locally to and from your device, add friends and send them a jam (which they can edit and send back), and also to publish jams for all users to see, and maybe add to and republish under a new name (yours stays uneditied).

Jamulator: Design and Coding

Each of the three grid views, Drums, Multi, and Sampler, has a common architecture. The segue from the root view (tab bar) controller presents an instance of PlaybackViewController, which houses the tool bar for playback controls and such. Each PlaybackViewController also has two container views: one for a note editing grid, along with it's corresponding controls, and one for track editing and control.

Drum Hierarchy

The track editing and control view (aka the loop thumbnail manager) has buttons on the left, and a container view on the right which contains a collection view of thumbnails for each of the clips (chunks) in a track.