aboutsummaryrefslogtreecommitdiff
path: root/xbmc/addons
AgeCommit message (Collapse)Author
2013-11-14[cstdstring] remove CStdString::Empty and replace with std::string::clearnight199uk
2013-11-14[cstdstring] demise Format, replacing with StringUtils::Formatnight199uk
2013-11-12settings: move settings library files into xbmc/settings/libmontellese
2013-11-12replace xbmc.python.subtitles extension with xbmc.subtitle.module oneamet
2013-11-11Merge pull request #3602 from jmarshallnz/broken_vs_depsjmarshallnz
[addons] various fixes/improvements
2013-11-11[addons] cleanup CStdString usageJonathan Marshall
2013-11-11[addons] fix: only prompt if the add-on is a compulsory dependency on ↵Jonathan Marshall
uninstall/disable
2013-11-11[addons] prompt if an add-on is used by another and the user attempts to ↵Jonathan Marshall
disable it.
2013-11-11[addons] don't prompt for uninstall without first checking the add-on can be ↵Jonathan Marshall
done (2 dialogs not required)
2013-11-11[addons] separate out Broken and Unmet dependencies in the UIJonathan Marshall
2013-11-09[pvr] bump api to 1.9.0Lars Op den Kamp
2013-11-09pvr: add time functions for timeshift buffer to pvr client APIRainer Hochecker
2013-11-09display mux, service name and provider name in the PVR streamSam Stenvall
information OSD
2013-11-05Remove hacks and workarounds for XML encodingKarlson2k
2013-10-31Merge pull request #3509 from jmarshallnz/repo_versioningjmarshallnz
Allow repositories to have more than one (conditional) addons.xml sources
2013-10-31settings: fix best-matching-value detection for ↵montellese
lookandfeel.skincolors/skintheme/soundskin
2013-10-28[cleanup] drop CStdString from CRepositoryJonathan Marshall
2013-10-28[cleanup] includes in Repository.h/cppJonathan Marshall
2013-10-28[cleanup] CRepository FetchChecksum can be static, some other methods const, ↵Jonathan Marshall
and there's no need for a critical section.
2013-10-28allow repository add-ons to point to multiple add-on repos, versioned by ↵Jonathan Marshall
xbmc.addon version.
2013-10-24XBMCTinyXML::Parse: refactoring: remove unused parameter; call function with ↵Karlson2k
std::string (without .c_str())
2013-10-20[addonmgr] query addon disabled state once and cache it (fixes #14122)vdrfan
This implements DisableAddon and IsAddonDisabled in AddonMgr. Both functions will trigger the database routines and cache the current addon state instead of doing the database query again. In case the disabled cache does not know about the current state the database routine will be used to retrieve it.
2013-10-09Merge pull request #3375 from ace20022/langinfoAndreas Zelend
[Langinfo] Use preferred audio/subtitle language for dvds and blurays.
2013-10-08[LangInfo/AddonManager] Use gui's language for translation in ↵ace20022
CAddonMgr::GetTranslatedString.
2013-10-06settings: fix updating skin-related settings spinnersmontellese
2013-10-02Merge pull request #3365 from t-nelson/log_addon_reposTrent Nelson
Log registered repos on AddonManager::Init
2013-10-02changed: use .empty() instead of testing for .size() > 0wsoltys
2013-10-02Log registered repos on AddonManager::InitTrent Nelson
2013-10-01removed all methods related to loading string blocks into memory. afaik this ↵wsoltys
is obsolete and not in use anymore.
2013-09-30Merge pull request #3286 from ace20022/tokenizejmarshallnz
Move TokenizeStringUtils and replace CStdStrings by std::strings.
2013-09-30Faster substring comparisonsBen Avison
There were nearly 200 places in the code where testing for a substring was being performed using a construct of the form CStdString::Left(len).Equals("string") or the related CStdString methods Mid or Right. These are bad for performance because they involve allocating a heap block for the duration of the expression evaluation, for the purpose of holding the substring, and then freeing it again. These would need replacing anyway because CStdString is being phased out (PR #3225), and there is also the maintainability issue that developers need to keep the string lengths in step with the string literals. This latter point is also true of a number of instances in the code of std::string::compare(0, len, "string") == 0 Now that the StartsWith() and EndsWith() methods in StringUtils have been made more efficient, it is worth replacing both the above constructs with such calls. This patch does so, using the case-sensitive versions where std::string::compare was used, where the bUseCase parameter was specified true in Equals() calls, or where the string literal passed to Equals() contained no alphabetic characters. For the sake of compatibility, the remaining calls have been left using the case-insensitive versions ("NoCase" suffix to the method name), although these may be worth reviewing on a case-by-case basis. The majority of the changes here were achieved using a sophisticated search and replace, which will hopefully minimise any bugs introduced in the conversion. This patch is expected to have wide-reaching performance benefits. One benchmark (that can't pretend to exercise all ~200 improvements) is the time to open the songs library: on a Raspberry Pi, this patch improves this time by 12% (down from 13% for a previous version of this patch that also reduced the number of calls to tolower()).
2013-09-26Merge pull request #3292 from bavison/faster_string_comparisonsjmarshallnz
Faster string comparison functions in StringUtils
2013-09-27Faster string comparison functions in StringUtilsBen Avison
The methods EqualsNoCase(), StartsWith() and EndsWith() required quite a lot of unncessary creation and destruction of std::strings, whether it be the creation of a temporary copy that could be forced to lower-case, a temporary copy that was a substring of one of the inputs, or just marshalling a string literal argument into a std::string. These functions don't appear to be used all that much at the moment; when I profiled opening the songs library, I saw only a 1% improvement, which was within the sampling noise threshold. But with PR #3225 and PR #3290 coming along, that looks set to change. Once the functions are being called millions of times, those heap operations really start to get noticeable. Also, split StartsWith() and EndsWith() into multiple separately-named functions, according to case sensitivity. Formerly, there was an optional parameter (default off) to indicate that these operations were case-*sensitive*, which is actually computationally simpler to perform. Now the naming convention is consistent with EqualsNoCase: StartsWith - case-sensitive EndsWith - case-sensitive StartsWithNoCase - case-insensitive EndsWithNoCase - case-insensitive With the case-sensitive versions now easier to type, it will hopefully encourage future developers to use them in preference.
2013-09-24Move Tokenize from Util to StringUtils and replace CStdString by std::string.ace20022
2013-09-17fix crash/freeze when changing skin after installing a new skin addonmontellese
2013-09-13Remove duplicated includesRawk
2013-09-01Merge pull request #2707 from Rawk/use_return_value3Joakim Plate
Remove URIUtils::GetDirectory(..) function without return value
2013-08-30Fix typo in AddonManager.hGarrett Brown
2013-08-26Remove GetDirectory(..) without return valueRawk
2013-08-10Merge pull request #3017 from Montellese/context_menu_cleanupSascha Montellese
context menu: cleanup & initial reorganisation
2013-08-06Merge pull request #3043 from Voyager1/xml-empty-stringvaluesjmarshallnz
Allow empty String values to be read in XML tags
2013-08-05Check for non-empty tag values read after allowing GetString to return empty ↵Voyager1
values
2013-08-05Complete missing add-on Clone() functionsGarrett Brown
2013-08-05Remove unused member variable AddonProps::parentGarrett Brown
2013-08-05Move CScreensaver cloning to new method, CScreensaver::Clone()Garrett Brown
CScreensaver::Clone() is virtual and overrides IAddon::Clone()
2013-08-05Move member initializers from CRepository::Clone() to copy constructor.Garrett Brown
Also adds missing m_hashes member.
2013-08-05Remove IAddon::Parent() and replace with simple flag in CAddonDLLGarrett Brown
The parent parameter was misrepresented throughout the code (sometimes called parent, sometimes called self) and was only used as a boolean condition in CAddonDLL
2013-08-05correct incorrect rebase in 381600adf4d71ea33f40f79989b5a81f32179650Voyager1
2013-08-04Protect Player!Voyager1
2013-08-02media: move "Update library" and "Stop scanning" out of the context menumontellese