I took a look at the code this past week-end because I wanted to try out some stuff I started to work on.
I was surprised at how clean the code was (grats to the programmers!) but I was also surprised that everything was as a big ‘blob’ of files. I had expected libraries for stuff like the os specifics, traces, databases and so on to reduce source dependencies and ease the maintenance.
Am I picky or is this something planned and feasible for Firefly ?
Two things, really.
One is that if you look at 0.2.4 and then look at nightlies, you’ll see that there is a lot more code. A lot. Mostly it just grew, and now it is kind of a mess, needs to be refactored, etc.
I’m trying to do that by modularizing everything. I figure if I move it into plugins, it increases the ability of others to hack it as well as more clearly defining functional boundaries.
it’s not done yet. The db stuff it the stuff that’s most in need of modularizing, but I haven’t really figured out how I want to handle playlists and stuff yet, so I haven’t tackled it yet.
I expect that stuff will become better abstracted, and I hope that if I can get a scripting plugin done, then much of the code can be moved to a scripted plugin and simplified. That’s the plan, anyway.