Pogg is a Processing.org library based on the example template that you can find in the Libraries Overview. Just as the template, we use the Eclipse IDE for Java developers and the Ant build tool. It should be easy to use other IDEs like Netbeans instead.
Pogg is based on Cortado. You can download the source code of Cortado from here.
We prefer the LGPL because it allows a wider usage of the library, including its use in closed source applications. The core library of Processing.org is released under the LGPL as well.
Only the Cortado LGPL classes are used for Pogg, because if some GPL piece of code was used in Pogg, it could not be released under the LGPL anymore and could only be released under the GPL.
Cortado has several GPL classes that are needed to compile the LGPL classes. These classes are in the com.fluendo.utils and com.fluendo.jst:
There are some other GPL classes in com.fluendo.examples and com.fluendo.player that are not used either, but they are not needed to compile the rest of the packages.
The first step to create a LGPL library based on Cortado was to remove all GPL classes and try to compile. The package com.fluendo.plugins was LGPL but had many references to the GPL classes in com.fluendo.jst (see list above) so it was deleted as well. Many classes used the GPL com.fluendo.utils which didn't exist anymore, but fortunately it was easy to imagine what their methods should do and these classes were implemented from scratch.
The first attempt was based in the com.fluendo.examples.DumpVideo class in Cortado. This example was simple enough and did not use any GPL class.
Then I noticed that DumpVideo class was very similar to the com.fluendo.plugin.TheoraDec and that the com.fluendo.plugin package (which I previously deleted because of its GPL dependencies) had many other interesting classes (sound, http access, and so on). So I started to move one class at a time to the package pogg.plugin, that does not use the GPL com.fluendo.jst classes mentioned above.