beaTunes 4 has a fairly modular architecture. Most of it is actually implemented as a plugin. This makes it relatively easy to add custom components.
Starting with beaTunes 3 you have two options to write a plugin:
- A Java plugin
- A script beaTlet in Groovy, Jython or JRuby
Java plugins let you write complicated logic, typically consisting of more than just a simple class. You can also bundle JARs, declare a plugin descriptor along with icons etc. Additionally, Java plugins can be distributed through the central plugin repository, if approved by tagtraum industries.
In other words: If you want to start a bigger project, Java is the route to go.
To learn about Java plugins, check out Getting Started with Plugins.
beaTlets have been introduced in beaTunes 3. They are Java plugin's little brothers. Whatever you can script together in a simple class, is a good candidate for a beaTlet.
beaTlets can be written in JRuby (Ruby running on a JVM), Jython (Python running on a JVM) or Groovy, and are coded just like Java plugins against the Java API. However, being scripted, they don't require an integrated development environment or a compiler. They can be simply dropped into place and are picked up by beaTunes the next time it's started.
To learn about beaTlets, check out Getting Started with beaTlets.