Closed jcelerier closed 9 years ago
From my email to the jamoma-devel list:
The concern here is that it makes it slightly hard to understand what is going on if we start having diverging styles throughout the code. Some style really doesn't matter and is a preference (where to put { and } for example). But the names of functions/templates/classes should try to adhere our conventions.
For example: OperatingSystem should be TTOperatingSystem. This way we know immediately that this is something we've defined in Jamoma and it is not something we're pulling in from some library.
My apologies if this seems tedious, but things like this can bite us down the road if we don't pay attention to it now!
Similarly, loadClass() would benefit from name consideration. One thing to consider is that loading an extension is not the same as loading a class -- an extension may (and often does) contain many many classes.
Without reading the source code, I find this bool "loadFromOtherPaths" to be a really confusing (or at least not self-documenting) name. But looking at this raises bigger questions...
In some of the new code we are using a vector of strings. It is very temping to say that TTFoundationInit() should be rewritten to accept such a vector, e.g. TTFoundationInit(TTStringVector pathsToExtensions).
That's also scary though. We've experienced (extreme) pain with std::string crossing the boundaries of binaries on the Windows platform. I'm not sure what the latest thoughts or developments are in that regard or if it has changed with C++11 and C++14.
Does anyone know?
Hello,
Thanks for merging. I haven't had the time to answer but I'll try to do it ASAP this week (and fix the style, etc. in subsequent commits.)
Best, Jean-Michaël
And other fixes for platforms other than OS X.
The huge diff is due to the libxml/libiconv upgrade. I also need to do it for portmidi (used by MidiLib and MIDI extensions), because the version in the Jamoma folder has been built with /MT (static runtime) and this is incompatible (and outright crashes) when trying to use it with the rest of Jamoma, libxml, & al which are built with /MD.