2008-10-30, 12:55 AM
I'm not a programmer so i guess that I don't know what I'm talking about.
But it seems like every programmer that start making plugins for GBVPR
reinvents the wheel over and over again?
What happes when a programmer leaves GBPVR for another MediaCenter?
I guess someone else has to invent the functions again.
Programmers that have "left" GBPVR that I remeber are Reven and Jeff.
Both made great plguins that died...... and good code with them.
One problem is that the programmers distribute their common DLLs with the plugins,
so when a user downloads a plugin, he might get old "Common Libraries".
I download a code browser tool and had a look at the Classes in the DLLs to see
how often the wheel has been reinvented.
I can see that many programmers amd the same functions.
I suggest that you programmers work together and "donate" code into "Common Libaries"
thar are open source code with a "Code Project License"
This would help new programmers to get started and the Common Functions would have lifetime
that goes beyond the programmers presens on the forum. Perhaps we would see more plugins also?
Perhaps Sub and you bright guys could organize something like this and maybe the "CommonLibraries"
could be distributed with GBPVR and get better and better, just like EWA.
Which programmer will take the first step?
Suggestion that Libraries are separeted into functions.
CommonUILibrary.dll - for UI related stuff
CommonMetadataLibrary.dll - for internet and metadata download stuff
CommonInterfaceLibrary.dll - for interfacing hardware stuff
Common Libraries by plugin developers.
// Module: CommonGBPVRUtilities.dll - by Jeff that seems to have left GBPVR?
// Classes
CommonGBPVRUtilities._DeviceVolumeMonitor
CommonGBPVRUtilities.ArchiveDB
CommonGBPVRUtilities.ArchiveRecord
CommonGBPVRUtilities.ConfigFileUtilities
CommonGBPVRUtilities.DeviceVolumeMonitor
CommonGBPVRUtilities.DeviceVolumeMonitorException
CommonGBPVRUtilities.DirectoryRecord
CommonGBPVRUtilities.DvdUtilities
CommonGBPVRUtilities.EditDialog
CommonGBPVRUtilities.ErrorDialog
CommonGBPVRUtilities.FileMapRecord
CommonGBPVRUtilities.GBPVRInfo
CommonGBPVRUtilities.InternetInfoFetcher
CommonGBPVRUtilities.MP3File
CommonGBPVRUtilities.PanelMessage
CommonGBPVRUtilities.PanelWidget
CommonGBPVRUtilities.PhoneKeys
CommonGBPVRUtilities.ScreenBoxParams
CommonGBPVRUtilities.ScreenButton
CommonGBPVRUtilities.SkinUtilities
CommonGBPVRUtilities.StatusLog
CommonGBPVRUtilities.UiUtilities
CommonGBPVRUtilities.UpcomingRecording
CommonGBPVRUtilities.UpcomingRecordings
CommonGBPVRUtilities.UserAccess
CommonGBPVRUtilities.UserRecord
CommonGBPVRUtilities.VAPanel
CommonGBPVRUtilities.VAPanelException
CommonGBPVRUtilities.YesNoDialog
// Module: JeffTree.dll - by Jeff
// Classes
JeffsTree.DisplayItem
JeffsTree.DisplayListTree
JeffsTree.DisplayListTreeSortOrder
JeffsTree.EpisodeInfo
JeffsTree.JeffsTreeNode
JeffsTree.ShellLink
JeffsTree.ShellShortcut
// Module: GbpvrUiElements.dll - by McBainUK
// Classes
GbpvrUiElements.Button
GbpvrUiElements.ButtonGrid
GbpvrUiElements.ButtonList
GbpvrUiElements.Dialog
GbpvrUiElements.GbpvrUiElement
GbpvrUiElements.Grid
GbpvrUiElements.InteractiveGbpvrUiElement
GbpvrUiElements.Keyboard
GbpvrUiElements.Label
GbpvrUiElements.List
GbpvrUiElements.ListItem
GbpvrUiElements.MultiView
GbpvrUiElements.MultiViewDetailsView
GbpvrUiElements.MultiViewFilmstripView
GbpvrUiElements.MultiViewIconView
GbpvrUiElements.MultiViewListItem
GbpvrUiElements.MultiViewListView
GbpvrUiElements.OKCancelDialog
GbpvrUiElements.OKDialog
GbpvrUiElements.TextBox
GbpvrUiElements.UpdateDetails
GbpvrUiElements.UpdateManager
GbpvrUiElements.Utilities
GbpvrUiElements.YesNoDialog
// Module: WizWebHelper.dll - by JavaWiz
// Classes
WizUtilities.WizWebHelper.AWizScraper
WizUtilities.WizWebHelper.HttpImageGrabber
WizUtilities.WizWebHelper.ImdbScraper
WizUtilities.WizWebHelper.MovieInfo
WizUtilities.WizWebHelper.TheTvDbScraper
WizUtilities.WizWebHelper.WizThumbnail
// Module: WizUiHelper.dll - by JavaWiz
// Namespace: WizUtilities
// Classes
WizUtilities.GenUtil
WizUtilities.HexEncoding
WizUtilities.PatternReplaceEntry
WizUtilities.StopWatch
WizUtilities.WizInfo
WizUtilities.WizSMS
// Namespace: WizUtilities.WizUiHelper
// Classes
WizUtilities.WizUiHelper.AWizListItem
WizUtilities.WizUiHelper.AWizUiControl
WizUtilities.WizUiHelper.WizButtonAttr
WizUtilities.WizUiHelper.WizControlManager
WizUtilities.WizUiHelper.WizUiButton
WizUtilities.WizUiHelper.WizUiButtonList
WizUtilities.WizUiHelper.WizUiLabel
WizUtilities.WizUiHelper.WizUiList
WizUtilities.WizUiHelper.WizUiTextBox
// Module: MusicLibraryCommon.dll
// Classes
PsycikProductions.MusicLibrary.Audioscrobbler
PsycikProductions.MusicLibrary.ConfigConstants
PsycikProductions.MusicLibrary.MediaLibrary
PsycikProductions.MusicLibrary.MusicCollection
PsycikProductions.MusicLibrary.Playlist
PsycikProductions.MusicLibrary.PlaylistReaderThread
PsycikProductions.MusicLibrary.ServiceInstaller
// Classes
PsycikProductions.MusicLibrary.AudioscrobblerNET.AudioscrobblerException
PsycikProductions.MusicLibrary.AudioscrobblerNET.AudioscrobblerRequest
PsycikProductions.MusicLibrary.AudioscrobblerNET.AudioscrobblerResponse
PsycikProductions.MusicLibrary.AudioscrobblerNET.InfoEventArgs
// Classes
PsycikProductions.MusicLibrary.Config.CollectionEditor
PsycikProductions.MusicLibrary.Config.MusicLibrarySettings
PsycikProductions.MusicLibrary.Config.Progress
But it seems like every programmer that start making plugins for GBVPR
reinvents the wheel over and over again?
What happes when a programmer leaves GBPVR for another MediaCenter?
I guess someone else has to invent the functions again.
Programmers that have "left" GBPVR that I remeber are Reven and Jeff.
Both made great plguins that died...... and good code with them.
One problem is that the programmers distribute their common DLLs with the plugins,
so when a user downloads a plugin, he might get old "Common Libraries".
I download a code browser tool and had a look at the Classes in the DLLs to see
how often the wheel has been reinvented.
I can see that many programmers amd the same functions.
I suggest that you programmers work together and "donate" code into "Common Libaries"
thar are open source code with a "Code Project License"
This would help new programmers to get started and the Common Functions would have lifetime
that goes beyond the programmers presens on the forum. Perhaps we would see more plugins also?
Perhaps Sub and you bright guys could organize something like this and maybe the "CommonLibraries"
could be distributed with GBPVR and get better and better, just like EWA.
Which programmer will take the first step?
Suggestion that Libraries are separeted into functions.
CommonUILibrary.dll - for UI related stuff
CommonMetadataLibrary.dll - for internet and metadata download stuff
CommonInterfaceLibrary.dll - for interfacing hardware stuff
Common Libraries by plugin developers.
// Module: CommonGBPVRUtilities.dll - by Jeff that seems to have left GBPVR?
// Classes
CommonGBPVRUtilities._DeviceVolumeMonitor
CommonGBPVRUtilities.ArchiveDB
CommonGBPVRUtilities.ArchiveRecord
CommonGBPVRUtilities.ConfigFileUtilities
CommonGBPVRUtilities.DeviceVolumeMonitor
CommonGBPVRUtilities.DeviceVolumeMonitorException
CommonGBPVRUtilities.DirectoryRecord
CommonGBPVRUtilities.DvdUtilities
CommonGBPVRUtilities.EditDialog
CommonGBPVRUtilities.ErrorDialog
CommonGBPVRUtilities.FileMapRecord
CommonGBPVRUtilities.GBPVRInfo
CommonGBPVRUtilities.InternetInfoFetcher
CommonGBPVRUtilities.MP3File
CommonGBPVRUtilities.PanelMessage
CommonGBPVRUtilities.PanelWidget
CommonGBPVRUtilities.PhoneKeys
CommonGBPVRUtilities.ScreenBoxParams
CommonGBPVRUtilities.ScreenButton
CommonGBPVRUtilities.SkinUtilities
CommonGBPVRUtilities.StatusLog
CommonGBPVRUtilities.UiUtilities
CommonGBPVRUtilities.UpcomingRecording
CommonGBPVRUtilities.UpcomingRecordings
CommonGBPVRUtilities.UserAccess
CommonGBPVRUtilities.UserRecord
CommonGBPVRUtilities.VAPanel
CommonGBPVRUtilities.VAPanelException
CommonGBPVRUtilities.YesNoDialog
// Module: JeffTree.dll - by Jeff
// Classes
JeffsTree.DisplayItem
JeffsTree.DisplayListTree
JeffsTree.DisplayListTreeSortOrder
JeffsTree.EpisodeInfo
JeffsTree.JeffsTreeNode
JeffsTree.ShellLink
JeffsTree.ShellShortcut
// Module: GbpvrUiElements.dll - by McBainUK
// Classes
GbpvrUiElements.Button
GbpvrUiElements.ButtonGrid
GbpvrUiElements.ButtonList
GbpvrUiElements.Dialog
GbpvrUiElements.GbpvrUiElement
GbpvrUiElements.Grid
GbpvrUiElements.InteractiveGbpvrUiElement
GbpvrUiElements.Keyboard
GbpvrUiElements.Label
GbpvrUiElements.List
GbpvrUiElements.ListItem
GbpvrUiElements.MultiView
GbpvrUiElements.MultiViewDetailsView
GbpvrUiElements.MultiViewFilmstripView
GbpvrUiElements.MultiViewIconView
GbpvrUiElements.MultiViewListItem
GbpvrUiElements.MultiViewListView
GbpvrUiElements.OKCancelDialog
GbpvrUiElements.OKDialog
GbpvrUiElements.TextBox
GbpvrUiElements.UpdateDetails
GbpvrUiElements.UpdateManager
GbpvrUiElements.Utilities
GbpvrUiElements.YesNoDialog
// Module: WizWebHelper.dll - by JavaWiz
// Classes
WizUtilities.WizWebHelper.AWizScraper
WizUtilities.WizWebHelper.HttpImageGrabber
WizUtilities.WizWebHelper.ImdbScraper
WizUtilities.WizWebHelper.MovieInfo
WizUtilities.WizWebHelper.TheTvDbScraper
WizUtilities.WizWebHelper.WizThumbnail
// Module: WizUiHelper.dll - by JavaWiz
// Namespace: WizUtilities
// Classes
WizUtilities.GenUtil
WizUtilities.HexEncoding
WizUtilities.PatternReplaceEntry
WizUtilities.StopWatch
WizUtilities.WizInfo
WizUtilities.WizSMS
// Namespace: WizUtilities.WizUiHelper
// Classes
WizUtilities.WizUiHelper.AWizListItem
WizUtilities.WizUiHelper.AWizUiControl
WizUtilities.WizUiHelper.WizButtonAttr
WizUtilities.WizUiHelper.WizControlManager
WizUtilities.WizUiHelper.WizUiButton
WizUtilities.WizUiHelper.WizUiButtonList
WizUtilities.WizUiHelper.WizUiLabel
WizUtilities.WizUiHelper.WizUiList
WizUtilities.WizUiHelper.WizUiTextBox
// Module: MusicLibraryCommon.dll
// Classes
PsycikProductions.MusicLibrary.Audioscrobbler
PsycikProductions.MusicLibrary.ConfigConstants
PsycikProductions.MusicLibrary.MediaLibrary
PsycikProductions.MusicLibrary.MusicCollection
PsycikProductions.MusicLibrary.Playlist
PsycikProductions.MusicLibrary.PlaylistReaderThread
PsycikProductions.MusicLibrary.ServiceInstaller
// Classes
PsycikProductions.MusicLibrary.AudioscrobblerNET.AudioscrobblerException
PsycikProductions.MusicLibrary.AudioscrobblerNET.AudioscrobblerRequest
PsycikProductions.MusicLibrary.AudioscrobblerNET.AudioscrobblerResponse
PsycikProductions.MusicLibrary.AudioscrobblerNET.InfoEventArgs
// Classes
PsycikProductions.MusicLibrary.Config.CollectionEditor
PsycikProductions.MusicLibrary.Config.MusicLibrarySettings
PsycikProductions.MusicLibrary.Config.Progress
Best Regards
MixMan
[SIZE="1"]
Antec Fusion case with Gigabyte GA-MA78GM-SH, AMD X2 4850e, 2GB RAM, AMD780G Onboard graphics. WinTV-PVR 150 MCE (With FM), Twinhan DVB-T, 750GB + 250GB HDD. Windows XP Pro SP3, MCE 2005 Remote, 29" 4:3 monitor and a 47" Philips 9603H LCD[/SIZE]
MixMan
[SIZE="1"]
Antec Fusion case with Gigabyte GA-MA78GM-SH, AMD X2 4850e, 2GB RAM, AMD780G Onboard graphics. WinTV-PVR 150 MCE (With FM), Twinhan DVB-T, 750GB + 250GB HDD. Windows XP Pro SP3, MCE 2005 Remote, 29" 4:3 monitor and a 47" Philips 9603H LCD[/SIZE]