- Member [TVOSDisplayManager observeValueForKeyPath:ofObject:change:context:]
-
- Member ActiveAE::CActiveAE::Configure (AEAudioFormat *desiredFmt=NULL)
implement
adjust to decoder
use cache of sync + water level
- Member ActiveAE::CActiveAE::MakeStream (AEAudioFormat &audioFormat, unsigned int options=0, IAEClockCallback *clock=NULL) override
- pass number of samples in audio packet
- Member ActiveAE::CActiveAE::PauseStream (CActiveAEStream *stream, bool pause)
- pause sink, needs api change
- Member ActiveAE::CActiveAE::RunStages ()
- find better solution for this gapless bites audiophile
- Member ActiveAE::CActiveAESink::StateMachine (int signal, Protocol *port, Message *msg)
- use max raw packet size, for now use max size of an IEC packed packet maxIECPpacket > maxRawPacket for raw packets frameSize is set to 1
- Member ActiveAE::CActiveAESound::IsPlaying () override
- implement
- Member ActiveAE::CActiveAEStreamBuffers::SetExtraData (int profile, enum AVMatrixEncoding matrix_encoding, enum AVAudioServiceType audio_service_type)
- Implement set dsp config with new AudioDSP buffer implementation
- Member ADDON::ADDON_INSTANCE_HANDLER
- As long game addon system use CAddonDll itself and not IAddonInstanceHandler as parent, is the set of this as "void*" needed. After game system is changed should by this also changed to "const IAddonInstanceHandler*" or direct in map below.
- Member ADDON::CAddonDatabase::OnPostUnInstall (const std::string &addonId)
- should be done before uninstall to avoid any race conditions
- Member ADDON::CAddonStatusHandler::CAddonStatusHandler (const std::string &addonID, AddonInstanceId instanceId, ADDON_STATUS status, bool sameThread=true)
- The status handled CAddonStatusHandler by is related to the class, not the instance having CAddonMgr construct an instance makes no sense
- Member ADDON::CAddonStatusHandler::Process () override
- Doesn't dialogaddonsettings save these automatically? It should do this.
- Member ADDON::CRepository::CRepository (const AddonInfoPtr &addonInfo)
- remove if block completely in v21
- Member ANNOUNCEMENT::CAnnouncementManager::DoAnnounce (AnnouncementFlag flag, const std::string &sender, const std::string &message, const std::shared_ptr< CFileItem > &item, const CVariant &data)
Can be removed once this is properly handled when starting playback of a file
Can be removed once this is properly handled when starting playback of a file
Can be removed once this is properly handled when starting playback of a file
Can be removed once this is properly handled when starting playback of a file
- Member ByPlaylistOrder (SortAttribute attributes, const SortItem &values)
- Playlist order is hacked into program count variable (not nice, but ok until 2.0)
- Member CAdvancedSettings::ParseSettingsFile (const std::string &file)
- Should cache path be given in terms of our predefined paths?? Are we even going to have predefined paths??
- Member CAEELDParser::Parse (const uint8_t *data, size_t length, CAEDeviceInfo &info)
- implement
- Member CAESinkDARWINOSX::Initialize (AEAudioFormat &format, std::string &device) override
- Should we use the virtual format to determine our data format?
- Member CAESinkXAudio::Drain () override
- use FormatMessage for a human readable error message
- Member CAndroidKey::onKeyboardEvent (AInputEvent *event)
- implement
- Member CApplication::Create ()
- Win32 has no special://home/ mapping by default, so we
- Member CApplication::FrameMove (bool processEvents, bool processGUI=true) override
- look into the possibility to use this for GBM int fps = 0;
- Member CApplication::Initialize ()
- Move GUIFontManager into service broker and drop the global reference
- Member CApplication::PlayFile (CFileItem item, const std::string &player, bool bRestart=false, bool forceSelection=false)
- - this will fail if user seeks back to first file in stack
- Member CApplicationPowerHandling::WakeUpScreenSaverAndDPMS (bool bPowerOffKeyPressed=false)
- if screensaver lock is specified but screensaver is not active (DPMS came first), activate screensaver now.
- Member CApplicationStackHelper::InitializeStackStartPartAndOffset (const CFileItem &item)
- If user changes the time speed (FPS via framerate conversion stuff) then these times will be wrong. Also, this is really just a hack for the slow load up times we have A much better solution is a fast reader of FPS and fileLength that we can use on a file to get it's time.
- Member CAudioDecoder::ReadSamples (int numsamples)
- trash this useless ringbuffer
- Member CBitstreamConverter::Open (enum AVCodecID codec, uint8_t *in_extradata, int in_extrasize, bool to_annexb)
- convert annexb to bitstream format
- Member CContextMenuManager::GetItems (const CFileItem &fileItem, const CContextMenuItem &root) const
- implement group support
- Member CContextMenuManager::HasItems (const CFileItem &fileItem, const CContextMenuItem &root) const
- implement group support
- Member CCoreAudioStream::Close (bool restore=true)
- Should it even be possible to change both the physical and virtual formats, since the devices do it themselves?
- Member CDateTime::SetFromDateString (const std::string &date)
- STRING_CLEANUP
- Member CDDB::Xcddb::parseData (const char *buffer)
- STRING_CLEANUP
- Member CDirectoryProvider::Update (bool forceRefresh) override
- Also returned changed if properties are changed (if so, need to update scroll to letter).
- Member CDisplaySettings::UpdateCalibrations ()
- erase calibrations with default values
- Member CDTEXT_FIELD_TITLE
- - remove after Ubuntu 16.04 (Xenial) is EOL
- Member CDVDAudioCodecFFmpeg::AddData (const DemuxPacket &packet) override
- : properly handle avpkt side_data. this works around our improper use of the side_data
- Member CDVDDemuxClient::Read () override
- drop this block
- Member CDVDDemuxFFmpeg::AddStream (int streamIdx)
- : temporary font file management should be completely removed, by sending font data to the subtitle renderer and using libass ass_add_font to add the fonts directly in memory.
- Member CDVDDemuxUtils::FreeDemuxPacket (DemuxPacket *pPacket)
- : properly handle avpkt side_data. this works around our improper use of the side_data
- Member CDVDDemuxUtils::StoreSideData (DemuxPacket *pkt, AVPacket *src)
- : properly handle avpkt side_data. this works around our improper use of the side_data
- Member CDVDInputStream::CanPause ()
- drop this
- Member CDVDOverlayCodecCCText::PostProcess (std::string &text) override
- This must be removed after the rework of the CC decoders
- Member CDVDTeletextData::Process () override
- implement
- Member CDVDVideoCodecDRMPRIME::AddData (const DemuxPacket &packet) override
- : properly handle avpkt side_data. this works around our improper use of the side_data
- Member CDVDVideoCodecDRMPRIME::Open (CDVDStreamInfo &hints, CDVDCodecOptions &options) override
- : fix with proper device when dma-hints wayland protocol works
- Member CDVDVideoCodecFFmpeg::AddData (const DemuxPacket &packet) override
- : properly handle avpkt side_data. this works around our improper use of the side_data
- Member CDVDVideoCodecFFmpeg::GetPictureCommon (VideoPicture *pVideoPicture) override
- : ffmpeg doesn't seem like they know how they want to handle this.
- Member CDVDVideoCodecFFmpeg::Open (CDVDStreamInfo &hints, CDVDCodecOptions &options) override
- allow per video setting?
- Member CFileExtensionProvider::CanOperateExtension (const std::string &path) const
Improve this function to support all cases and not only audio decoder.
Check addons can also be types in conflict with Kodi's supported parts!
- Member CFileItem::FillInMimeType (bool lookup=true)
- adapt this to use CMime::GetMimeType()
- Member CFileItem::LoadDetails ()
- add support for other types on demand.
- Member CFileItem::LoadGameTag ()
-
- Member CFileItem::SetURL (const CURL &url)
- Ideally this (and SetPath) would not be available outside of construction for CFileItem objects, or at least restricted to essentially be equivalent to construction. This would require re-formulating a bunch of CFileItem construction, and also allowing CFileItemList to have its own (public) SetURL() function, so for now we give direct access.
- Member CFileItem::UpdateInfo (const CFileItem &item, bool replaceLabels=true)
- premiered info is normally stored in m_dateTime by the db
- Member CFileUtils::RemoteAccessAllowed (const std::string &strPath)
- Make sharing of auto-mounted sources user configurable
- Member CGreedyDirtyRegionSolver::Solve (const CDirtyRegionList &input, CDirtyRegionList &output) override
- if the temporaryCost is 0 then we could skip checking the other regions since there exist no better solution
- Member CGUIControl::SetVisible (bool bVisible, bool setVisState=false)
- currently we only update m_visible from GUI_MSG_VISIBLE (SET_CONTROL_VISIBLE) otherwise we just set m_forceHidden
- Member CGUIControlFactory::Create (int parentID, const CRect &rect, TiXmlElement *pControlNode, bool insideContainer=false)
- Perhaps we should check here whether id is valid for focusable controls such as buttons etc. For labels/fadelabels/images it does not matter
- Member CGUIDialogAudioSettings::FrameMove () override
- (needs special handling): m_settingsManager->SetInt(SETTING_AUDIO_STREAM, g_application.GetAppPlayer().GetAudioStream());
- Member CGUIDialogContextMenu::GetContextButtons (const std::string &type, const CFileItemPtr &item, CContextButtons &buttons)
- might be smart to also combine editing source & plugin settings into one concept/dialog
- Member CGUIDialogContextMenu::SourcesMenu (const std::string &strType, const CFileItemPtr &item, float posX, float posY)
- This should be callable even if we don't have any valid items
- Member CGUIDialogFileBrowser::HaveDiscOrConnection (SourceType iDriveType)
- Handle not connected to a remote share
- Member CGUIDialogGamepad::ShowAndVerifyNewPassword (std::string &strNewPassword)
Show error to user saying the password entry was blank
Show error to user saying the password re-entry failed
- Member CGUIDialogMusicInfo::OnGetArt ()
- : Add support for extracting embedded art from song files to use for album
- Member CGUIDialogSmartPlaylistRule::OnBrowse ()
- Add browseability in here.
- Member CGUIDialogSongInfo::OnGetArt ()
: label fallback art so user knows?
: Add support for extracting embedded art
- Member CGUIDialogSubtitles::OnDownloadComplete (const CFileItemList *items, const std::string &language)
- We need some way to avoid special casing this all over the place for rar/zip (perhaps modify GetDirectory?)
- Member CGUIDialogSubtitleSettings::FrameMove () override
m_settingsManager->SetBool(SETTING_SUBTITLE_ENABLE, g_application.GetAppPlayer().GetSubtitleVisible());
(needs special handling): m_settingsManager->SetInt(SETTING_SUBTITLE_STREAM, g_application.GetAppPlayer().GetSubtitle());
- Member CGUIDialogVideoManager::ChooseVideoAsset (const std::shared_ptr< CFileItem > &item, VideoAssetType assetType, const std::string &defaultName)
db refactor: should not be version, but asset
db refactor: should not be version, but asset
db refactor: should not be versions, but assets
- Member CGUIDialogVideoManager::Refresh ()
- db refactor: should not be versions, but assets
- Member CGUIDialogVideoManager::Rename ()
- db refactor: should not be version, but asset
- Member CGUIDialogVideoSettings::OnSettingAction (const std::shared_ptr< const CSetting > &setting) override
- implement
- Member CGUIEditControl::OnClick () override
- Ideally we'd send this to the keyboard and tell the keyboard we have this type of input
- Member CGUIEditControl::SetInputType (INPUT_TYPE type, const CVariant &heading)
- Verify the current input string?
- Member CGUIFontTTF::DrawTextInternal (CGraphicContext &context, float x, float y, const std::vector< KODI::UTILS::COLOR::Color > &colors, const vecText &text, uint32_t alignment, float maxPixelWidth, bool scrolling, float dx=0.0f, float dy=0.0f)
- : This validate is the last resort and can result in a bad rendered text because the alignment it is used also by caller components for other operations this inform the problem on the log, potentially can be improved by add validating alignments from each parent caller component
- Member CGUIInfoManager::TranslateSingleString (const std::string &strCondition, bool &listItemDependent)
change to IsScanning(Video)
remove these, they're repeats
remove these, they're repeats
this doesn't support foo.xml
The parameter for these should really be on the first not the second property
The parameter for these should really be on the first not the second property
replace with a single system.platform
these two don't allow duration(foo) and also don't allow more than this number of levels...
these two don't allow duration(foo) and also don't allow more than this number of levels...
these two don't allow duration(foo) and also don't allow more than this number of levels...
The parameter for these should really be on the first not the second property
- Member CGUIKeyboardFactory::ShowAndVerifyPassword (std::string &strPassword, const std::string &strHeading, int iRetries, unsigned int autoCloseMs=0)
- GUI Setting to enable disable this feature y/n?
- Member CGUILabel::Process (unsigned int currentTime)
- Add the correct processing
- Member CGUIMediaWindow::GetDirectory (const std::string &strDirectory, CFileItemList &items)
- Do we want to limit the directories we apply the video ones to?
- Member CGUIMediaWindow::GetFilteredItems (const std::string &filter, CFileItemList &items)
- Need to update this to get all labels, ideally out of the displayed info (ie from m_layout and m_focusedLayout) though that isn't practical. Perhaps a better idea would be to just grab the info that we should filter on based on where we are in the library tree. Another idea is tying the filter string to the current level of the tree, so that going deeper disables the filter, but it's re-enabled on the way back out.
- Member CGUIMediaWindow::GetStartFolder (const std::string &url)
- This ifdef block probably belongs somewhere else. Move it to a better place!
- Member CGUIMediaWindow::HaveDiscOrConnection (const std::string &strPath, SourceType iDriveType)
- Handle not connected to a remote share
- Member CGUIMediaWindow::Update (const std::string &strDirectory, bool updateFilterPath=true)
- OnInitWindow calls Update() before window path has been set properly.
- Member CGUIMoverControl::CGUIMoverControl (int parentID, int controlID, float posX, float posY, float width, float height, const CTextureInfo &textureFocus, const CTextureInfo &textureNoFocus, KODI::UTILS::MOVING_SPEED::MapEventConfig &movingSpeedCfg)
- implement correct analog speed
- Member CGUIRenderingControl::FreeResources (bool immediately=false) override
- locking
- Member CGUIRenderingControl::Process (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
Add processing to the addon so it could mark when actually changing
check for naughties
- Member CGUIResizeControl::CGUIResizeControl (int parentID, int controlID, float posX, float posY, float width, float height, const CTextureInfo &textureFocus, const CTextureInfo &textureNoFocus, KODI::UTILS::MOVING_SPEED::MapEventConfig &movingSpeedCfg)
- implement correct analog speed
- Member CGUITextLayout::RenderOutline (float x, float y, KODI::UTILS::COLOR::Color color, KODI::UTILS::COLOR::Color outlineColor, uint32_t alignment, float maxWidth)
- We should really have a better way to handle text extent - at the moment we assume that text is rendered from a posx, posy, width, and height which isn't enough to accurately position text. We need a vertical and horizontal offset of the baseline and cursor as well.
- Member CGUITexture::Render (int32_t depthOffset=0, int32_t overrideDepth=-1)
- The diffuse coloring applies to all vertices, which will look weird for stuff with borders, as will the -ve height/width for flipping
- Member CGUIVideoControl::Process (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
- Proper processing which marks when its actually changed. Just mark always for now.
- Member CGUIViewStateFromItems::CGUIViewStateFromItems (const CFileItemList &items)
- Should default sort/view mode be specified?
- Member CGUIVisualisationControl::OnInitialize (int channels, int samplesPerSec, int bitsPerSample) override
- check for naughties
- Member CGUIWindowFileManager::CanCopy (int iList)
- Perhaps if the source is removeable media (DVD/CD etc.) we could put ripping/backup in here.
- Member CGUIWindowFileManager::CanRename (int iList)
- Renaming of shares (requires writing to sources.xml) this might be able to be done via the webserver code stuff...
- Member CGUIWindowFileManager::HaveDiscOrConnection (std::string &strPath, SourceType iDriveType)
- Handle not connected to a remote share
- Member CGUIWindowFileManager::OnPopupMenu (int iList, int iItem, bool bContextDriven=true)
- We should add the option here for shares to be added if there aren't any
- Member CGUIWindowFileManager::OnStart (CFileItem *pItem, const std::string &player)
- 2.0: Can this be removed, or should we run without the "special" file directories while
- Member CGUIWindowFullScreen::Process (unsigned int currentTime, CDirtyRegionList &dirtyregion) override
- This isn't quite optimal - ideally we'd only be dirtying up the actual video render rect which is probably the job of the renderer as it can more easily track resizing etc.
- Member CGUIWindowManager::PreviousWindow ()
- we may need to test here for the whether our history should be changed
- Member CGUIWindowMusicBase::GetContextButtons (int itemNumber, CContextButtons &buttons) override
- get rid of IsAddonsPath and IsScript check. CanQueue should be enough!
- Member CGUIWindowMusicBase::OnAssignContent (const std::string &oldName, const CMediaSource &source)
- : do async as updating sources for all albums could be slow??
- Member CGUIWindowMusicBase::OnPlayMedia (int iItem, const std::string &player="") override
- Should the playlist be cleared if nothing is already playing?
- Member CGUIWindowMusicBase::OnScan (int iItem, bool bPromptRescan=false)
- MUSICDB - should we allow scanning a single item into the database? This will require changes to the info scanner, which assumes we're running on a folder
- Member CGUIWindowMusicBase::PlayItem (int iItem)
- Add music-specific code for single playback of an item here (See OnClick in MediaWindow, and OnPlayMedia below)
- Member CGUIWindowMusicBase::RetrieveMusicInfo ()
- Scan for multitrack items here...
- Member CGUIWindowPictures::LoadPlayList (const std::string &strPlayList) override
this should be reactive, based on a given event app player should stop the playback
this should be reactive based on a triggered event the window manager is the only component
- Member CGUIWindowPictures::OnShowPictureRecursive (const std::string &strPath)
this should be reactive, based on a given event app player should stop the playback
window manager should react to a given event and start the window itself!
- Member CGUIWindowPictures::ShowPicture (int iItem, bool startSlideShow)
this should be reactive, based on a given event app player should stop the playback
this should trigger some event that should led the window manager to activate another window
- Member CGUIWindowVideoBase::LoadVideoInfo (CFileItemList &items, CVideoDatabase &database, bool allowReplaceLabels=true)
- this could possibly be threaded as per the music info loading, we could also cache the info
- Member CGUIWindowVideoBase::PlayItem (const std::shared_ptr< CFileItem > &item, const std::string &player)
- get rid of "videos with versions as folder" hack!
- Member CGUIWindowVisualisation::OnAction (const CAction &action) override
- These should be mapped to its own function - at the moment it's overriding the global action of fastforward/rewind and OSD.
- Member CHTTPImageTransformationHandler::CHTTPImageTransformationHandler (const HTTPRequest &request)
- determine the maximum age
- Member CInputStreamAddon::CanPause () override
- drop this
- Member CInputStreamAddon::Supports (const ADDON::AddonInfoPtr &addonInfo, const CFileItem &fileitem)
- Error for users to show deprecation, can be removed in Kodi 20
- Member CInputStreamPVRBase::CanPause () override
- drop this
- Member CLangInfo::CRegion::SetGlobalLocale ()
- move to CLangInfo class
- Member CLocalizeStrings::LoadSkinStrings (const std::string &path, const std::string &language)
- shouldn't hold lock while loading file
- Member CMediaLibraryEvent::Execute () const override
remove the filename for now as CGUIMediaWindow::GetDirectory() can't handle it
remove the filename for now as CGUIMediaWindow::GetDirectory() can't handle it
- Member CMediaManager::TranslateDevicePath (const std::string &devicePath, bool bReturnAsDevice=false)
- translate cdda://<device>/
- Member CMime::GetFileTypeFromContent (const std::string &fileContent)
add detection for text types
add detection for other types if required
- Member CMusicDatabase::GetArtistsByWhereJSON (const std::set< std::string > &fields, const std::string &baseDir, CVariant &result, int &total, const SortDescription &sortDescription=SortDescription())
- : replace GetFilter to avoid exists as well as JOIn to albm_artist and song_artist tables
- Member CMusicDatabase::GetSourcesByAlbum (int idAlbum, CFileItem *item)
- : handle singles, or don't waste time checking songs
- Member CMusicDatabase::RemoveSongsFromPath (const std::string &path, MAPSONGS &songmap, bool exact=true)
SQLite probably doesn't allow this, but can we rely on that??
move this below the m_pDS->exec block, once UPnP doesn't rely on this anymore
- Member CMusicThumbLoader::LoadItemCached (CFileItem *pItem) override
- Remove as "fanart" is never been cached for music folders (only for
- Member CNetworkInterfaceIOS::GetHostMacAddress (unsigned long host, std::string &mac) const override
- Unable to retrieve MAC address of an interface/ARP table from ios11 onwards.
- Member CNetworkInterfaceIOS::GetMacAddress () const override
- Unable to retrieve MAC address of an interface/ARP table from ios11 onwards.
- Member CNetworkInterfaceIOS::GetMacAddressRaw (char rawMac[6]) const override
- Unable to retrieve MAC address of an interface/ARP table from ios11 onwards.
- Member CNetworkInterfaceWin10::GetHostMacAddress (unsigned long host, std::string &mac) const
- implement raw ARP requests
- Member CNetworkIOS::PingHost (unsigned long host, unsigned int timeout_ms=2000) override
- ARP table is not accessible from iOS11 on. Was initially deprecated in iOS7 WOL/WakeOnAccess can not work without MAC addresses, so was no need to implement this at this stage.
- Member CNetworkServices::OnSettingChanged (const std::shared_ptr< const CSetting > &setting) override
- - General way of handling setting changes that require restart
- Member CONTEXTMENU::CVideoPlayAndQueue::Execute (const std::shared_ptr< CFileItem > &item) const override
- implement
- Member CONTEXTMENU::CVideoPlayAndQueue::IsVisible (const CFileItem &item) const override
- implement
- Member CPlayerUtils::GetPlayersForItem (const CFileItem &item)
- CPlayerCoreFactory and classes called from there do not handle dyn path correctly.
- Member CPlayerUtils::IsItemPlayable (const CFileItem &item)
- add more types on demand.
- Member CPreflightHandler::CheckForRemovedCacheFolder ()
- : implement some sort of backup/restore if folder no longer exists?
- Member CRenderSystemGLES::CaptureStateBlock () override
- - NOTE: Only for Screensavers & Visualisations
- Member CSlideShowPic::Process (unsigned int currentTime, CDirtyRegionList &dirtyregions)
- change m_displayEffect != EFFECT_NO_TIMEOUT to whether we're running the slideshow
- Member CStaticListProvider::Update (bool forceRefresh) override
- Also returned changed if properties are changed (if so, need to update scroll to letter).
- Member CStereoscopicsManager::CStereoscopicsManager ()
- Move this to Initialize() to avoid potential problems in ctor
- Member CTagLoaderTagLib::ParseTag (ID3v2::Tag *id3v2, EmbeddedArt *art, MUSIC_INFO::CMusicInfoTag &tag)
- wtf? Why 51 find some explanation, somewhere...
- Member CTextureBundleXBT::UnpackFrame (const CXBTFReader &reader, const CXBTFFrame &frame)
- Change return to std::optional<std::vector<uint8_t>>> when c++17 is allowed
- Member CTextureCache::CleanAllUnusedImages ()
- BACKWARD COMPATIBILITY FOR MUSIC THUMBS
- Member CTextureCache::ClearCachedImage (const std::string &image, bool deleteSource=false)
- This can be removed when the texture cache covers everything.
- Member CTextureDatabase::CreateAnalytics () override
- Should the path index be a covering index? (we need only retrieve texture)
- Member CUDisksProvider::CUDisksProvider ()
- do not use dbus_connection_pop_message() that requires the use of a private connection
- Member CUPowerSyscall::CUPowerSyscall ()
- do not use dbus_connection_pop_message() that requires the use of a private connection
- Member CURL::Encode (std::string_view strURLData)
- Update it to "-_.~" after Gotham according to RFC3986
- Member CURL::Parse (std::string strURL)
- fix all Addon paths
- Member CVideoDatabase::DeleteEpisode (int idEpisode, bool bKeepId=false)
- move this below CommitTransaction() once UPnP doesn't rely on this anymore
- Member CVideoDatabase::DeleteMovie (int idMovie, DeleteMovieCascadeAction action=DeleteMovieCascadeAction::ALL_ASSETS, DeleteMovieHashAction hashAction=DeleteMovieHashAction::HASH_DELETE)
- move this below CommitTransaction() once UPnP doesn't rely on this anymore
- Member CVideoDatabase::DeleteMusicVideo (int idMusicVideo, bool bKeepId=false)
- move this below CommitTransaction() once UPnP doesn't rely on this anymore
- Member CVideoDatabase::DeleteTvShow (int idTvShow, bool bKeepId=false)
- move this below CommitTransaction() once UPnP doesn't rely on this anymore
- Member CVideoDatabase::GetDetailsForTvShow (const dbiplus::sql_record *const record, int getDetails=VideoDbDetailsNone, CFileItem *item=NULL)
- videotag member + guiinfo int needed? – Currently not needed; having it available as item prop seems sufficient for skinning
- Member CVideoDatabase::GetFilter (CDbUrl &videoUrl, Filter &filter, SortDescription &sorting) override
- not necessary with current movie view but wouldn't hurt?
- Member CVideoDatabase::GetMovieInfo (const std::string &strFilenameAndPath, CVideoInfoTag &details, int idMovie=-1, int idVersion=-1, int idFile=-1, int getDetails=VideoDbDetailsAll)
- get rid of "videos with versions as folder" hack!
- Member CVideoDatabase::GetMusicVideosByArtist (const std::string &strArtist, CFileItemList &items)
- SMARTPLAYLISTS what is this here for???
- Member CVideoDatabase::GetPeopleNav (const std::string &strBaseDir, CFileItemList &items, const char *type, VideoDbContentType idContent=VideoDbContentType::UNKNOWN, const Filter &filter=Filter(), bool countOnly=false)
- This routine (and probably others at this same level) use playcount as a reference to filter on at a later point. This means that we MUST filter these levels as you'll get double ups. Ideally we'd allow playcount to filter through as we normally do for tvshows to save this happening. Also, we apply this same filtering logic to the locked or unlocked paths to prevent these from showing. Whether or not this should happen is a tricky one - it complicates all the high level categories (everything above titles).
- Member CVideoDatabase::GetPlayCounts (const std::string &path, CFileItemList &items)
- also test a single query for the above and below
- Member CVideoPlayer::HandleMessages ()
- After demuxer we add an offset to input pts so that displayed time and clock are increasing steadily. For seeking we need to determine the boundaries and offset of the desired segment. With the current approach calculated time may point to nirvana
- Member CVideoPlayerVideo::Process () override
- this needs to be set on a streamchange instead
- Member CVideoPlayerVideo::ProcessDecoderOutput (double &frametime, double &pts)
implement
implement
- Member CVideoThumbLoader::DetectAndAddMissingItemData (CFileItem &item)
- in case of too many false positives due to using the full path, extract the filename only using string utils
- Member CVideoThumbLoader::FillLibraryArt (CFileItem &item) override
- Is m_artist set other than musicvideo? Remove this fallback if not.
- Member CWeatherManager::OnSettingAction (const std::shared_ptr< const CSetting > &setting) override
- maybe have ShowAndGetInput return a bool if settings changed, then only reset weather if true.
- Member CWIN32Util::XBMCShellExecute (const std::string &strPath, bool bWaitForScriptExit=false)
- Pause music and video playback
- Member CXRandR::LoadCustomModeLinesToAllOutputs (void)
- ERROR
- Member CXRandR::Query (bool force, int screennum, bool ignoreoff=true)
- ERROR
- Class CZeroconf
- Make me safe for use in static initialization. CritSec is a static member :/ use e.g. loki's singleton implementation to make do it properly
- Member CZeroconfAvahi::CZeroconfAvahi ()
- throw exception?
- Member CZeroconfAvahi::~CZeroconfAvahi () override
- does tv survive the thread?
- Member CZeroconfBrowserAvahi::CZeroconfBrowserAvahi ()
- throw exception? can this even happen?
- Member dbiplus::MysqlDataset::exec (const std::string &sql) override
- collect results and store in exec_res
- Member deleteWindow (cc708_service_decoder *decoder, int window)
- Do the actual deletion (remove from display if needed, etc), mark as
- Member EVENTCLIENT::CEventClient::AddPacket (std::unique_ptr< EVENTPACKET::CEventPacket > packet)
- limit payload size
- Member EVENTCLIENT::CEventClient::OnPacketHELO (EVENTPACKET::CEventPacket *packet)
- check it last HELO packet was received less than 5 minutes back if so, do not show notification of connection.
- Member game_analog_stick_event
- Document which coordinate system is used, left-hand or right-hand.
- Member game_hw_rendering_properties::bottom_left_origin
- : Move to GL specific interface
- Member game_hw_rendering_properties::cache_context
- : Obsolete? Maybe frontend should just always assume this...
- Member game_hw_rendering_properties::depth
- : Obsolete
- Member game_hw_rendering_properties::stencil
- : Obsolete.
- Member get_internal_from_G2 (unsigned char g2_char)
- Probably not right
- Member get_internal_from_G3 (unsigned char g3_char)
- Probably not right
- Member handle_708_C0 (cc708_service_decoder *decoder, unsigned char *data, int data_length)
Process HDR
Process FF
Handle PE16
Do something useful eventually
- Member handle_708_C2 (cc708_service_decoder *decoder, unsigned char *data, int data_length)
- This code is completely untested due to lack of samples. Just following specs!
- Member handle_708_C3 (cc708_service_decoder *decoder, unsigned char *data, int data_length)
- Implement if a sample ever appears
- Member handle_708_DFx_DefineWindow (cc708_service_decoder *decoder, int window, unsigned char *data)
COLORS
Warn somehow
- Member handle_708_DLC_DelayCancel (cc708_service_decoder *decoder)
- See above
- Member handle_708_DLY_Delay (cc708_service_decoder *decoder, int tenths_of_sec)
- Probably ask for the current FTS and wait for this time before resuming -
- Member handle_708_extended_char (cc708_service_decoder *decoder, unsigned char *data, int data_length)
This code is completely untested due to lack of samples. Just following specs!
Something
- Member handle_708_G0 (cc708_service_decoder *decoder, unsigned char *data, int data_length)
- Substitution of the music note character for the ASCII DEL character
- Member handle_708_HDW_HideWindows (cc708_service_decoder *decoder, int windows_bitmap)
- Actually Hide Window
- Member HTML::CHTMLUtil::ConvertHTMLToW (const std::wstring &strHTML, std::wstring &strStripped)
- STRING_CLEANUP
- Page Infolabels and Boolean conditions
[docs] Improve the description and create links for functions
[docs] Separate boolean conditions from infolabels
[docs] Order items alphabetically within subsections for a better search experience
[docs] Order subsections alphabetically
[docs] Use links instead of bold values for infolabels/bools so we can use a link to point users when providing help
get a way of centralize all random art strings used in core so we can point users to them while still making it clear they can have any value.
Player.HasPerformedSeek(interval)
boolean
Some values are hardcoded in the middle of the code - refactor to make it easier to track
Not currently used
MusicPartyMode.RandomSongsPicked
string
So maybe rather than a row each have one entry for Role.XXXXX with composer, arranger etc. as listed values
List of all art types
description might be outdated
ListItem.Duration
string
missing reference in GuiInfoManager.cpp making it hard to track.
ListItem.Property(Addon.Orphaned)
boolean
missing reference in GuiInfoManager.cpp making it hard to track.
Find a better way of finding the art types instead of manually defining them here.
move to a future window document.
move to a future window document.
Make this annotate an array of infobools/labels to make it easier to track
- Member ISlideShowDelegate::AddFromPath (const std::string &strPath, bool bRecursive, SortBy method=SortByLabel, SortOrder order=SortOrderAscending, SortAttribute sortAttributes=SortAttributeNone, const std::string &strExtensions="")=0
- - refactor to use an options struct. Methods with so many arguments are a sign of a bad design...
- Member ISlideShowDelegate::RunSlideShow (const std::string &strPath, bool bRecursive=false, bool bRandom=false, bool bNotRandom=false, const std::string &beginSlidePath="", bool startSlideShow=true, SortBy method=SortByLabel, SortOrder order=SortOrderAscending, SortAttribute sortAttributes=SortAttributeNone, const std::string &strExtensions="")=0
- - refactor to use an options struct. Methods with so many arguments are a sign of a bad design...
- Member JSONRPC::CPlayerOperations::GetItem (const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result)
remove this once there is no route to playback that updates
remove this once there is no route to playback that updates
- Member JSONRPC::CPlayerOperations::Open (const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result)
- : This should be a delegator method instead of going via GUI! look into triggering stop from Reset() itself!
- Member JSONRPC::CPlaylistOperations::Clear (const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result)
- : Stop should be a delegator method to void GUI coupling! Same goes for other player controls.
- Member JSONRPC::CVideoLibrary::FillFileItemList (const CVariant ¶meterObject, CFileItemList &list)
- API support for video version id
- Member JSONRPC::CVideoLibrary::GetMovieDetails (const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result)
- API support for video version id
- Member JSONRPC::CVideoLibrary::RefreshMovie (const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result)
- API support for video version id
- Member JSONRPC::CVideoLibrary::SetMovieDetails (const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result)
- API support for video version id)
- Namespace KODI
- RetroPlayer needs an abstraction for GAME_HW_CONTEXT_TYPE
- Member KODI::ADDONS::CAudioDecoder::Init (const CFileItem &file, unsigned int filecache) override
- About audio decoder in most cases Kodi's one not work, add fallback to use addon if this fails. Need API change about addons music info tag!
- Member KODI::ADDONS::CImageDecoder::LoadInfoTag (const std::string &fileName, CPictureInfoTag *tag)
- Rework CPictureInfoTag to not limit on fixed structures ExifInfo & IPTCInfo.
- Class KODI::ADDONS::IAddonSupportList
- Extend this class with database usage and support to activate / deactivate the respective formats and thus to override add-ons if several support the same.
- Member KODI::GAME::CControllerActivity::OnMouseMotion (const MOUSE::PointerName &relpointer, int differenceX, int differenceY)
Fix mouse pointer handling
Handle multiple pointers
- Member KODI::GAME::CGameClient::GetInstanceInterface ()
- This function becomes removed after old callback library system is removed.
- Member KODI::GAME::CGameClientController::CGameClientController (CGameClientInput &input, ControllerPtr controller)
- Sort vectors
- Member KODI::GAME::CGameClientInput::PortAddress
- de-duplicate
- Member KODI::GAME::CGameClientMouse::OnMotion (const std::string &relpointer, int dx, int dy) override
- Allow mouse motion to activate controller This will follow a larger refactoring of the mouse input system
- Member KODI::GAME::CGameClientStreams::EnableHardwareRendering (const game_hw_rendering_properties &properties)
- Finish OpenGL support
- Member KODI::GAME::CGameSettings::SetShowOSDHelp (bool bShow)
- Asynchronous save
- Member KODI::GAME::CGUIConfigurationWizard::MapPrimitive (JOYSTICK::IButtonMap *buttonMap, KEYMAP::IKeymap *keymap, const JOYSTICK::CDriverPrimitive &primitive) override
This only succeeds for game.controller.default; no actions are
Handle multiple actions mapped to the same key
Check if primitive is a cancel or motion action
- Member KODI::GAME::CGUIControllerList::OnFocus (unsigned int controllerIndex) override
- Activate controller for all game controller controls
- Member KODI::GAME::CGUIControllerList::ResetController () override
- Choose peripheral
- Member KODI::GAME::CGUIDialogButtonCapture::Process () override
- Move to rendering thread when there is a rendering thread
- Member KODI::GAME::CGUIWindowGames::OnItemInfo (int itemNumber)
-
- Member KODI::GAME::CGUIWindowGames::OnMessage (CGUIMessage &message) override
- Class KODI::GAME::IGameInputCallback
- Remove this file when Game API is updated for input polling
- Member KODI::GUILIB::GUIINFO::CGamesGUIInfo::InitCurrentItem (CFileItem *item) override
- Savestates were removed from v18
- Member KODI::JOYSTICK::CJoystickEasterEgg::OnFinish (void)
- Shake screen
- Member KODI::KEYBOARD::Modifier
- Move CKey enum to this file
- Member KODI::KEYMAP::CKeymapHandler::OnAccelerometerMotion (const JOYSTICK::FeatureName &feature, float x, float y, float z) override
- implement
- Member KODI::MUSIC::IsAudio (const CFileItem &item)
- If the file is a zip file, ask the game clients if any support this
- Member KODI::PLAYLIST::CPlayListPlayer::Play (int index, const std::string &player, bool replace=false, bool playPreviousOnFail=false, bool forceSelection=false)
- - move the above failure logic and the below success logic to callbacks instead so we don't rely on the return value of PlayFile()
- Member KODI::PLAYLIST::CSmartPlaylistRule::GetOperator (const std::string &type) const override
- SMARTPLAYLISTS do we really need this, or should we just make this field the premiered date and request a date?
- Member KODI::RETRO::CGameWindowFullScreen::OnDeinitWindow (int nextWindowID) override
-
- Member KODI::RETRO::CGameWindowFullScreen::OnInitWindow () override
We need to route this check through the GUI bridge. By adding the
- Member KODI::RETRO::CGameWindowFullScreen::Process (unsigned int currentTime, CDirtyRegionList &dirtyregion) override
- This isn't quite optimal - ideally we'd only be dirtying up the actual video render rect which is probably the job of the renderer as it can more easily track resizing etc.
- Member KODI::RETRO::CGUIGameControl::Process (unsigned int currentTime, CDirtyRegionList &dirtyregions) override
- Proper processing which marks when its actually changed
- Member KODI::RETRO::CGUIRenderControl::RenderEx () override
-
- Member KODI::RETRO::CGUIRenderFullScreen::RenderEx () override
-
- Member KODI::RETRO::CGUIRenderTarget::IsDirty ()
-
- Member KODI::RETRO::CGUIRenderTarget::m_renderManager
-
- Member KODI::RETRO::CRenderBufferOpenGL::UploadTexture () override
- This is subject to change: We want to use PBO's instead of glTexSubImage2D! This code has been borrowed from OpenGL ES in order to remove GL dependencies on GLES.
- Member KODI::RETRO::CRetroPlayer::Seek (bool bPlus=true, bool bLargeStep=false, bool bChapterOverride=false) override
-
- Member KODI::RETRO::CRetroPlayerRendering::CloseStream () override
-
- Member KODI::RETRO::CRetroPlayerRendering::OpenStream (const StreamProperties &properties) override
: This must be called from the rendering thread
- Member KODI::RETRO::CReversiblePlayback::CreateSavestate (bool autosave, const std::string &savestatePath="") override
- Handle savestates for standalone game clients
- Member KODI::RETRO::CRPRenderManager::Create (unsigned int width, unsigned int height)
These are only examples pulled from the history of the OpenGL effort and the required redesign will probably remove or change these functions.
- Member KODI::RETRO::CRPRenderManager::GetVideoBuffer (unsigned int width, unsigned int height, VideoStreamBuffer &buffer)
- De-prioritize buffer pools with write-only or unaligned memory
- Member KODI::RETRO::CRPRenderManager::RenderFrame ()
-
- Member KODI::RETRO::CRPRenderManager::SaveThumbnail (const std::string &thumbnailPath)
- rotate image by rotationCCW
- Member KODI::RETRO::CRPRenderManager::SupportsRenderFeature (RENDERFEATURE feature) const override
- Move to ProcessInfo
- Member KODI::RETRO::CRPRenderManager::SupportsScalingMethod (SCALINGMETHOD method) const override
- Move to ProcessInfo
- Member KODI::RETRO::CSavestateDatabase::ClearSavestatesOfGame (const std::string &gamePath, const std::string &gameClient="")
-
- Member KODI::RETRO::IRenderBuffer::GetFrameSize () const =0
- Remove me
- Member KODI::VIDEO::CVideoInfoScanner::GetDetails (CFileItem *pItem, const std::unordered_map< std::string, std::string > &uniqueIDs, CScraperUrl &url, const ADDON::ScraperPtr &scraper, VIDEO::IVideoInfoTagLoader *nfoFile=nullptr, CGUIDialogProgress *pDialog=nullptr)
- sort out some better return codes.
- Member KODI::VIDEO::CVideoInfoScanner::GetRecursiveFastHash (const std::string &directory, const std::vector< std::string > &excludes) const
- some filesystems may return the mtime/ctime inline, in which case this is unnecessarily expensive. Consider supporting Stat() in our directory cache?
- Member KODI::VIDEO::CVideoInfoScanner::OnProcessSeriesFolder (EPISODELIST &files, const ADDON::ScraperPtr &scraper, bool useLocal, const CVideoInfoTag &showInfo, CGUIDialogProgress *pDlgProgress=nullptr)
should we just skip to the next episode?
Ideally we would return InfoRet:HAVE_ALREADY if we don't have to update any episodes and we should return InfoRet::NOT_FOUND only if no information is found for any of the episodes. InfoRet::ADDED then indicates we've added one or more episodes.
- Member KODI::VIDEO::CVideoInfoScanner::RetrieveInfoForMovie (CFileItem *pItem, bool bDirNames, ADDON::ScraperPtr &scraper, bool useLocal, CScraperUrl *pURL, CGUIDialogProgress *pDlgProgress)
- This is not strictly correct as we could fail to download information here or error, or be cancelled
- Member KODI::VIDEO::CVideoInfoScanner::RetrieveInfoForMusicVideo (CFileItem *pItem, bool bDirNames, ADDON::ScraperPtr &scraper, bool useLocal, CScraperUrl *pURL, CGUIDialogProgress *pDlgProgress)
- This is not strictly correct as we could fail to download information here or error, or be cancelled
- Member KODI::VIDEO::IsVideo (const CFileItem &item)
- If the file is a zip file, ask the game clients if any support this
- Member KODI::VIDEO::UTILS::GetStackPartResumeOffset (const CFileItem &item, unsigned int partNumber)
- Should the part number be set when loading/setting tags's bookmark from db, like done for disc image stacks?
- Member KODI::VIDEO::UTILS::GetStackResumeOffsetAndPartNumber (const CFileItem &item)
- Should the part number be set when loading/setting tags's bookmark from db, like done for disc image stacks?
- Member KODI::WINDOWING::GBM::CDRMAtomic::InitDrm () override
- : disabled until upstream kernel changes are merged
- Member KODI::WINDOWING::GBM::CWinSystemGbm::UpdateDisplayHardwareScaling (const RESOLUTION_INFO &resInfo) override
- The PR that made the res struct constant was abandoned due to drama.
- Member KodiToAddonFuncTable_Peripheral
- Mouse, light gun, multitouch
- Member MEDIA_DETECT::CCdIoSupport::GetCdTextInfo (xbmc_cdtext_t &xcdt, int trackNum)
- remove after Ubuntu 16.04 (Xenial) is EOL
- remove after Ubuntu 16.04 (Xenial) is EOL
- Member MEDIA_DETECT::CCdIoSupport::IsIt (int num)
- check that num < largest sig.
- Member MUSIC_GRABBER::CMusicInfoScraper::CheckValidOrFallback (const std::string &fallbackScraper)
- Handle fallback mechanism
- Member MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums (CFileItemList &items, VECALBUMS &albums, MAPSONGS *songsMap=NULL)
- in future we may wish to union up the genres, for now we assume they're the same
- Member MUSIC_INFO::CMusicInfoScanner::RetrieveLocalArt ()
- : title = Checking for local art
- Member MUSIC_INFO::CMusicInfoTagLoaderSHN::Load (const std::string &strFileName, CMusicInfoTag &tag, EmbeddedArt *art=NULL) override
- Use libavformat to calculate duration.
- Member PCRE2_CODE_UNIT_WIDTH
- - move to std::regex (after switching to gcc 4.9 or higher) and get rid of CRegExp
- Member PERIPHERALS::CGUIDialogPeripheralSettings::InitializeSettings () override
- add more types if needed
- Member PERIPHERALS::CPeripheral::AddSetting (const std::string &strKey, const std::shared_ptr< const CSetting > &setting, int order)
- add more types if needed
- Member PERIPHERALS::CPeripheralBusApplication::PerformDeviceScan (PeripheralScanResults &results) override
- Fix game clients to handle mouse disconnecting For now mouse is always connected
- Member PERIPHERALS::CPeripheralBusGCController::ProcessEvents () override
Multiple controller event processing
Multiple controller handling
- Member PERIPHERALS::CPeripheralBusUSB::PerformDeviceScan (PeripheralScanResults &results) override
- just assume this is a HID device for now, since the only devices that we're currently interested in are HID devices
- Member PERIPHERALS::CPeripherals::GetNextKeypress (float frameTime, CKey &key)
- CEC only supports toggling the mute status at this time
- Member PERIPHERALS::CPeripherals::OnDeviceAdded (const CPeripheralBus &bus, const CPeripheral &peripheral)
- Improve device notifications in v18
- Member PERIPHERALS::CPeripherals::OnDeviceDeleted (const CPeripheralBus &bus, const CPeripheral &peripheral)
- Improve device notifications in v18
- Member PERIPHERALS::CPeripherals::ResetButtonMaps (const std::string &controllerId)
- Add a device parameter to allow resetting button maps per-device
- Member PERIPHERALS::CPeripherals::UnMute ()
- CEC only supports toggling the mute status at this time
- Member process_service_block (cc708_service_decoder *decoder, unsigned char *data, int data_length)
- Not sure if a local reset is going to be helpful here.
- Member PROFILES_FILE
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
Remove me
eventually the profile should dictate where special://masterprofile/ is but for now it makes sense to leave all the profile settings in a user writeable location like special://masterprofile/
- Struct pty_skin_info
- Improve and test alarm message
- Member PVR::CGUIWindowPVRChannelsBase::GetRootPath () const override
- Would it make sense to change GetRootPath() declaration in CGUIMediaWindow to be non-const to get rid of the const_cast's here?
- Member PVR::CPVRChannelGroup::SetClientGroupName (const std::string &groupName)
- why must we persist immediately?
- Member PVR::CPVRChannelGroup::SetClientID (int clientID)
- why must we persist immediately?
- Member PVR::CPVRChannelGroup::SetPath (const CPVRChannelsPath &path)
- why must we persist immediately?
- Member PVR::CPVRChannelGroupAllChannels::CheckGroupName ()
- major design flaw to fix: channel and group URLs must not contain the group name!
- Member PVR::CPVRChannelGroups::Update (const std::shared_ptr< CPVRChannelGroup > &group, bool bUpdateFromClient=false)
- If a group was renamed in the backend, no chance to find it here! PVR API should be extended by a uuid for channel groups which never must change, not even after rename.
- Member PVR::CPVRDescrambleInfo::Caid () const
- add other getters (currently not used).
- Member PVR::CPVREpg::Update (time_t start, time_t end, int iUpdateTime, int iPastDays, const std::shared_ptr< CPVREpgDatabase > &database, bool bForceUpdate=false)
- why the channelid check?
- Member PVR::CPVRGUIActionsEPG::FindSimilar (const CFileItem &item) const
- If we want dialogs to spawn program search in a clean way - without having to force-close any
- Member PVR::CPVRProviders::GetProviders () const
- optimize; get rid of iteration.
- Member PythonBindings::PyXBMCGetUnicodeString (std::string &buf, PyObject *pObject, bool coerceToString, const char *argumentName, const char *methodname)
- UTF-8: Does python use UTF-16? Do we need to convert from the string charset to UTF-8 for non-unicode data?
- Member Shaders::GLSLOutput::OnCompiledAndLinked (GLuint programHandle)
- create a dither pattern
- Member SOCKETS::CPosixUDPSocket::Broadcast (const CAddress &addr, const int datasize, const void *data) override
- implement
- Member TEST (TestDatabaseUtils, GetFieldIndex_MediaTypeAlbum)
- Should enums in CMusicDatabase be made public instead?
- Member TEST (TestDatabaseUtils, BuildLimitClause)
- Need some way to test this function
- Member TEST (TestRegExp, RegFind)
- gtest/gtest.h needs to come in before utils/RegExp.h. Investigate why.
- Member TEST_F (TestCharsetConverter, wToUTF8)
- Resolve correct input/output for this function
- Member TEST_F (TestCharsetConverter, getCharsetLabels)
- Resolve correct input/output for this function
- Member TestBasicEnvironment::SetUp () override
Something should be done about all the asserts in GUISettings so that the initialization of these components won't be needed.
Make the initialization of the VFS here optional so it can be testable in a test case.
- Member UPNP::BuildObject (CFileItem &item, NPT_String &file_path, bool with_count, NPT_Reference< CThumbLoader > &thumb_loader, const PLT_HttpRequestContext *context, CUPnPServer *upnp_server, UPnPService upnp_service)
- - get file count of this directory
- Member UPNP::BuildObject (PLT_MediaObject *entry, UPnPService upnp_service)
- fill pictureinfotag?
- Member UPNP::CUPnPRenderer::OnSetNextAVTransportURI (PLT_ActionReference &action) override
- get rid of window checks (go via SlideshowDelegator)
- Member UPNP::CUPnPRenderer::UpdateState ()
- : Remove dependency on GUI, go via slideshowdelegator
- Member UPNP::CUPnPServer::OnBrowseMetadata (PLT_ActionReference &action, const char *object_id, const char *filter, NPT_UInt32 starting_index, NPT_UInt32 requested_count, const char *sort_criteria, const PLT_HttpRequestContext &context) override
- We need to keep track of the overall SystemUpdateID of the CDS
- Member UPNP::CUPnPServer::OnUpdateObject (PLT_ActionReference &action, const char *object_id, NPT_Map< NPT_String, NPT_String > ¤t_vals, NPT_Map< NPT_String, NPT_String > &new_vals, const PLT_HttpRequestContext &context) override
- implement this
- Member UPNP::DecodeObjectId (const std::string &id)
- all other items except upnproot and -1 (the parent of upnproot) seem to only be enabled
- Member UPNP::EncodeObjectId (const std::string &id)
- all other items except upnproot and -1 (the parent of upnproot) seem to only be enabled
- Member UPNP::GetProtocolInfo (const CFileItem &item, const char *protocol, const PLT_HttpRequestContext *context)
fixup the protocol just in case nothing was passed
add rtsp ?
- Member URIUtils::GetParentPath (const std::string &strPath, std::string &strParent)
- Make a new python call to get the plugin content type and remove this temporary hack
- Member URIUtils::IsStreamedFilesystem (const std::string &strPath)
- sftp/ssh special case has to be handled by vfs addon
- Member UTILS::DISCS::GetDiscInfo (DiscInfo &info, const std::string &mediaPath)
- it's wrong to include videoplayer scoped files, refactor
- Member VAAPI::CFFmpegPostproc::UpdateDeintMethod (EINTERLACEMETHOD method) override
- switching between certain methods could be done without deinit/init
- Member VIDEODB_SEASON_IDS
- is this comment valid for seasons? There is no offset structure or am I wrong?
- Member VideoPlayerCodec::Init (const CFileItem &file, unsigned int filecache) override
- convey CFileItem::ContentLookup() into Open()
- Member WINDOW_DIALOG_MANAGE_VIDEO_EXTRAS
- Numbers given here must match the ids given in strings.po for a translatable string for the window. 12009 to 12014 are already taken for something else in strings.po (accidentally). So, do not define windows with ids 12009 to 12014, unless strings.po got fixed.
- Member XBMCAddon::Python::PythonCallbackHandler::shouldRemoveCallback (AddonClass *obj, void *threadState) override
- This is a stupid way to get this information back to the handler. there should be a more language neutral means.
- Class XBMCAddon::RetardedAsyncCallbackHandler
- Allow a cross thread synchronous execution. Fix the stupid means of calling the clearPendingCalls by passing userData which is specific to the handler/language type.
- Member XBMCAddon::xbmc::getSupportedMedia (const char *mediaType)
Add a mediaType enum
implement
- Member XBMCAddon::xbmc::PlayList::PlayList (int playList)
- need a means to check for a valid construction either by throwing an exception or by an "isValid" check
- Member XBMCAddon::xbmcgui::ListItem::setInfo (...)
- add the rest of the infolabels
- Member XBMCAddon::xbmcgui::Window::dispose ()
- rework locking
- Member XBMCAddon::xbmcgui::Window::GetControlById (int iControlId, CCriticalSection *gc)
- Yuck! Should probably be done with a Factory pattern
- Member XBMCAddon::xbmcgui::WindowDialogMixin::OnAction (const CAction &action)
- Figure out how to clean up the CAction
- Member XBMCAddon::xbmcgui::WindowXML::OnMessage (CGUIMessage &message) override
- We shouldn't be dropping down to CGUIWindow in any of this ideally. We have to make up our minds about what python should be doing and what this side of things should be doing
- Class XBMCAddon::xbmcgui::WindowXMLInterceptor
- This should be done with template specialization
- Member XFILE::CAddonsDirectory::FileItemFromAddon (const std::shared_ptr< ADDON::IAddon > &addon, const std::string &path, bool folder=false)
- fix hacks that depends on these
- Member XFILE::CAPKDirectory::ContainsFiles (const CURL &url) override
- why might we need this ?
- Member XFILE::CCurlFile::CReadState::WriteCallback (char *buffer, size_t size, size_t nitems)
- Limit max. amount of the overflowbuffer
- Member XFILE::CCurlFile::ParseAndCorrectUrl (CURL &url)
- create a tokenizer that doesn't skip empty's
- Member XFILE::CCurlFile::Seek (int64_t iFilePosition, int iWhence=SEEK_SET) override
- daap is gone. is this needed for something else?
- Member XFILE::CDirectory::GetDirectory (const CURL &url, const std::shared_ptr< IDirectory > &pDirectory, CFileItemList &items, const CHints &hints)
- we shouldn't be checking the gui setting here, callers should use getHidden instead
- Member XFILE::CPluginDirectory::AddSortMethod (int handle, SortMethod sortMethod, const std::string &labelMask, const std::string &label2Mask)
- Add all sort methods and fix which labels go on the right or left
- Member XFILE::CVirtualDirectory::IsInSource (const std::string &strPath) const
- May need to handle other special cases that GetMatchingSource() fails on
- Member XFILE::CWin32Directory::GetDirectory (const CURL &url, CFileItemList &items) override
- support m_strFileMask, require rewrite of internal caching
- Member XFILE::CWin32File::Rename (const CURL &urlCurrentName, const CURL &urlNewName)
- check whether it's file or directory
- Member XFILE::CWin32SMBDirectory::GetDirectory (const CURL &url, CFileItemList &items)
- support m_strFileMask, require rewrite of internal caching
- Member XFILE::CWin32SMBDirectory::RealExists (const CURL &url, bool tryToConnect)
- use real caseless string comparison everywhere in this function
- Member XFILE::CZeroconfDirectory::GetDirectory (const CURL &url, CFileItemList &items) override
- try automatic conversion -> remove leading '_' and '._tcp'?
- Member XFILE::VIDEODATABASEDIRECTORY::CDirectoryNodeMovieAssets::CDirectoryNodeMovieAssets (const std::string &strEntryName, CDirectoryNode *pParent)
- does the node type need to match the type requested by the parent node? this type of node is used for MOVIE_ASSETS MOVIE_ASSETS_VERSIONS MOVIE_ASSETS_EXTRAS
- Member XFILE::VIDEODATABASEDIRECTORY::CDirectoryNodeMovieAssets::GetContent (CFileItemList &items) const override
not sure, but used elsewhere
icon too small for nice display, add new skin icon in bigger size? ex. DefaultAddSource.png
wrong art type? some Estuary views don't show it