I have a couple questions about why freeamp was programmed the way it is.
1. Why is the context not global? ok, I will take the assumption that there may be things that are specific to a certain instance of say, the musicbrowser. But what about things that aren't like things set in the Preference window or config file? If the context isn't necessarily needed to access configuration options, how is one supposed to access them? 2. If configuration options require the current context to be set, why have the classes that make up freeamp not been coded with that in mind? If the contexts are needed it means expanding freeamp's functionality means going through and hunting down calls and rewriting them to also pass the context and then rewriting the class so that it uses the context and makes it available to member functions and then finally you get to add the one liner that implements the added preference. Seems like a lot of backtracking to just add a feature that you shouldn't have needed to do. If contexts are needed for preferences, wouldn't it make sense to have _all_ of the classes that make up freeamp get the context passed to them regardless of whether they use it now or not in case someone wants to add a feature to freeamp? Specifically i'm messing around in fileselector.cpp and all it's passed is the window title string. The only way i see the preference class correctly being accessed is through context->prefs and that means i have to write all the code leading up to the call of FileSelector::Run so that the context is passed. and that's what i'm doing. Maybe i'm going about it the wrong way and missing the function that lets me do what i want. Anyone know? _______________________________________________ [EMAIL PROTECTED] http://www.freeamp.org/mailman/listinfo/freeamp-dev