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

Reply via email to