Monthly Archives: November 2009

Building Minim with Git and Eclipse.

Minim on Github

The project with Numediart has gotten off to a great start. I’m excited about the additional music programming capabilities that will result from that work. However, the beginning of the project has already brought a much needed improvement to Minim: a better way for people to contribute to the project. I’ve been developing Minim pretty much solo and working in an undisclosed Subversion repository. My intent had been to eventually make that repository publicly known, but I had not figured out a good way to review changes that people might make before committing them. Github was suggested to me as a good site for managing this sort of thing and we decided to try the process out by using Github for the Numediart project. My initial experience with it has been fantastic, so I plan to keep Minim there. Visit the project page to see what it’s all about:

http://github.com/ddf/Minim

If you would like to contribute to the development of Minim, all you need to do is create a Github account and click the Fork button on the Minim project page. This will create a branch of the project that you can push to. When you’ve fixed a bug that’s been bothering you, or create a new feature that you think is worthy of being included, you simply send me a pull request and I will be able to review your patch and accept it or not. Totally sweet, I say.

Building Minim

I develop Minim in Eclipse, so the repository is structured such that you can clone it into your Eclipse workspace and then import it as an already existing project. Here are the instructions for acquiring and building Minim, if you fork the project, you’d follow these same instructions but use the “Your Clone URL” from the fork you create. Keep in mind that Eclipse doesn’t support two projects with the same name in the same workspace.

What you will need:

  1. Eclipse
  2. Git

What you will do:

  1. From your workspace directory, clone the github Minim repo. On the command line that’d be this command:

    git clone git://github.com/ddf/Minim.git

    This should create a local git repo in a directory named Minim.

  2. Then go into Eclipse, right click in the Package Explorer and choose “Import…”
  3. Under “General” choose “Existing Projects into Workspace”
  4. Click “Next”
  5. With “Select Root Directory” selected, choose “Browse…” and browse to the the directory that git just created.
  6. Click “Finish”. You should now have a browsable and buildable project named “Minim” in your package explorer.
  7. Create the folder libraries/minim/library inside of you sketchbook folder.
  8. Export the packages ddf.minim, ddf.minim.analysis, ddf.minim.effects, and ddf.minim.signals, as a single jar file named minim.jar into the folder you just created.
  9. Export the package ddf.minim.javasound as a jar file named jsminim.jar to the same folder.
  10. Export the package ddf.minim.spi as a jar file named minim-spi.jar to the same folder.
  11. Copy all of the jar files in the lib directory of the project, except for core.jar, into the same directory you exported the first three jars into.
  12. Run Processing and sketches that use Minim will use the build you just made, instead of the build that Processing comes with.