PageRenderTime 50ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/Common/Settings/Preferences.vb

#
Visual Basic | 2712 lines | 2619 code | 66 blank | 27 comment | 0 complexity | 003d5408bb2373a1000ff0c9c0cc15f8 MD5 | raw file
Possible License(s): GPL-2.0

Large files files are truncated, but you can click here to view the full file

  1. Imports System.IO
  2. Imports System.Xml
  3. Imports System.Threading
  4. Imports System.ComponentModel
  5. 'Imports MediaInfoNET
  6. Imports System.Data.SQLite
  7. Imports System.Data
  8. Imports XBMC.JsonRpc
  9. Module Ext
  10. <System.Runtime.CompilerServices.Extension()> _
  11. Public Sub AppendChild(root As XmlElement, doc As XmlDocument, name As String, value As String)
  12. Dim child As XmlElement = doc.CreateElement(name)
  13. child.InnerText = value
  14. root.AppendChild(child)
  15. End Sub
  16. <System.Runtime.CompilerServices.Extension()> _
  17. Public Sub AppendChildList(root As XmlElement, doc As XmlDocument, name As String, value() As String, Optional separator As String="|")
  18. Dim child As XmlElement = doc.CreateElement(name)
  19. child.InnerText = If(value.Count>0, String.Join(separator,value), "")
  20. root.AppendChild(child)
  21. End Sub
  22. End Module
  23. Public Class Pref
  24. 'Shared Event PropertyChanged_MkvMergeGuiPath
  25. Public Const SetDefaults = True
  26. Public Const datePattern As String = "yyyyMMddHHmmss"
  27. Public Const nfoDatePattern As String = "yyyy-MM-dd"
  28. Public Const tv_EpRegexDate As String = "([0-9]{4})[.\-_]([0-9]{2})[.\-_]([0-9]{2})"
  29. 'Not saved items
  30. Public Shared fixnfoid As Boolean
  31. Public Shared tv_RegexScraper As New List(Of String)
  32. Public Shared tv_RegexRename As New List(Of String)
  33. Public Shared profiles As New List(Of ListOfProfiles)
  34. Public Shared workingProfile As New ListOfProfiles
  35. Public Shared commandlist As New List(Of str_ListOfCommands)
  36. Public Shared configpath As String
  37. Public Shared DoneAMov As Boolean = False
  38. Public Shared MusicVidScrape As Boolean = False
  39. Public Shared MusicVidConcertScrape As Boolean = False
  40. Public Shared DlMissingEpData As Boolean = False
  41. Public Shared googlecount As Integer = 0
  42. Public Shared engineno As Integer = 0
  43. Public Shared enginefront As New List(Of String)
  44. Public Shared engineend As New List(Of String)
  45. Public Shared proxysettings As New List(Of String)
  46. Public Shared applicationDatapath As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\Media Companion\"
  47. 'Public Shared XbmcTmdbHDTrailer As String = "No"
  48. Public Shared MovieChangeKeepExistingArt As Boolean = True
  49. Public Shared MovieChangeMovie As Boolean = False
  50. Public Shared MovieDeleteNfoArtwork As Boolean = False
  51. Public Shared TvChgShowDlPoster As Boolean = False
  52. Public Shared TvChgShowDlFanart As Boolean = False
  53. Public Shared TvChgShowDlSeasonthumbs As Boolean = False
  54. Public Shared TvChgShowDlFanartTvArt As Boolean = False
  55. Public Shared TvChgShowOverwriteImgs As Boolean = False
  56. Public Shared ReadOnly Property EdenEnabled As Boolean
  57. Get
  58. Return Pref.XBMC_version<>2 '0=Eden only, 1=Both, 2=Frodo only
  59. End Get
  60. End Property
  61. Public Shared ReadOnly Property FrodoEnabled As Boolean
  62. Get
  63. Return Pref.XBMC_version<>0 '0=Eden only, 1=Both, 2=Frodo only
  64. End Get
  65. End Property
  66. Public Shared Property applicationPath As String
  67. Get
  68. Return Utilities.applicationPath
  69. End Get
  70. Set(ByVal value As String)
  71. Utilities.applicationPath = value
  72. End Set
  73. End Property
  74. Public Shared Property tvScraperLog As String
  75. Get
  76. Return Utilities.tvScraperLog
  77. End Get
  78. Set(ByVal value As String)
  79. Utilities.tvScraperLog = value
  80. End Set
  81. End Property
  82. 'Saved Folder Prefs
  83. Public Shared tvFolders As New List(Of String)
  84. Public Shared tvRootFolders As New List(Of str_RootPaths)
  85. Public Shared movieFolders As New List(Of str_RootPaths)
  86. Public Shared custtvFolders As New List(Of String)
  87. Public Shared offlinefolders As New List(Of String)
  88. Public Shared stubfolder As String
  89. Public Shared stubmessage As String = "Insert Media to Continue"
  90. Public Shared homemoviefolders As New List(Of str_RootPaths)
  91. Public Shared ExcludeFolders As New Excludes("Folders")
  92. Public Shared MVidFolders As New List(Of str_RootPaths)
  93. Public Shared MVConcertFolders As New List(Of str_RootPaths)
  94. 'Saved Form Prefs
  95. Public Shared backgroundcolour As String
  96. Public Shared forgroundcolour As String
  97. Public Shared remembersize As Boolean
  98. Public Shared locx As Integer
  99. Public Shared locy As Integer
  100. Public Shared formheight As Integer
  101. Public Shared formwidth As Integer
  102. Public Shared splt1 As Integer
  103. Public Shared splt2 As Integer
  104. Public Shared splt3 As Integer
  105. Public Shared splt4 As Integer
  106. Public Shared splt5 As Integer
  107. Public Shared splt6 As Integer 'Tv Banner Split distance - To be superceeded by tvbannersplit
  108. Public Shared tvbannersplit As Double ' Banner as Percentage
  109. Public Shared maximised As Boolean
  110. Public Shared startuptab As Byte
  111. Public Shared logview As Integer
  112. Public Shared LogScrapeTimes As Boolean = False
  113. Public Shared ScrapeTimingsLogThreshold As Integer = 100
  114. Public Shared lastpath As String
  115. Public Shared maximumthumbs As Integer
  116. Public Shared preferredscreen As Integer
  117. 'Saved General Prefs
  118. Public Shared startupCache As Boolean
  119. Public Shared renamenfofiles As Boolean
  120. Public Shared actorseasy As Boolean
  121. Public Shared overwritethumbs As Boolean
  122. Public Shared LocalActorImage As Boolean = True
  123. Public Shared videomode As Integer
  124. Public Shared selectedvideoplayer As String
  125. Public Shared externalbrowser As Boolean
  126. Public Shared selectedBrowser As String
  127. Public Shared altnfoeditor As String
  128. Public Shared ignorearticle As Boolean
  129. Public Shared ignoreAarticle As Boolean
  130. Public Shared ignoreAn As Boolean
  131. Public Shared sorttitleignorearticle As Boolean
  132. Public Shared MovSetTitleIgnArticle As Boolean
  133. Public Shared MovPosterTabTMDBSelect As Boolean = False
  134. Public Shared intruntime As Boolean
  135. Public Shared XBMC_version As Byte
  136. Public Shared ShowMovieGridToolTip As Boolean = False
  137. Public Shared ShowLogOnError As Boolean = True
  138. Public Shared AutoHideStatusBar As Boolean
  139. Public Shared DisplayRatingOverlay As Boolean
  140. Public Shared DisplayMediainfoOverlay As Boolean
  141. Public Shared DisplayMediaInfoFolderSize As Boolean
  142. Public Shared EnableFolderSize As Boolean
  143. Public Shared font As String
  144. Public Shared MultiMonitoEnabled As Boolean
  145. Public Shared ShowAllAudioTracks As Boolean
  146. Public Shared DisplayDefaultSubtitleLang As Boolean
  147. Public Shared DisplayAllSubtitleLang As Boolean
  148. 'Private Shared _MkvMergeGuiPath As String
  149. Public Shared MkvMergeGuiPath As String
  150. 'Shared Property MkvMergeGuiPath As String
  151. ' Get
  152. ' Return _MkvMergeGuiPath
  153. ' End Get
  154. ' Set (ByVal value As String)
  155. ' If IO.File.Exists(value) Then
  156. ' _MkvMergeGuiPath = value
  157. ' RaiseEvent PropertyChanged_MkvMergeGuiPath
  158. ' End If
  159. ' End Set
  160. 'End Property
  161. 'Saved General Proxy Prefs
  162. Public Shared prxyEnabled As String
  163. Public Shared prxyIp As String
  164. Public Shared prxyPort As String
  165. Public Shared prxyUsername As String
  166. Public Shared prxyPassword As String
  167. 'Saved Movie Prefs
  168. Public Shared DownloadTrailerDuringScrape As Boolean
  169. Public Shared NoAltTitle As Boolean
  170. Public Shared XtraFrodoUrls As Boolean
  171. Public Shared gettrailer As Boolean
  172. Public Shared ignoretrailers As Boolean
  173. Public Shared moviePreferredTrailerResolution As String
  174. Public Shared moviescraper As Integer
  175. Public Shared nfoposterscraper As Integer
  176. Public Shared ignoreactorthumbs As Boolean
  177. Public Shared maxactors As Integer
  178. Public Shared MovTagBlacklist As String
  179. Public Shared maxmoviegenre As Integer
  180. Public Shared enablehdtags As Boolean
  181. Public Shared MovDurationAsRuntine As Boolean
  182. Public Shared MovRuntimeAsDuration As Boolean
  183. Public Shared movieRuntimeDisplay As String
  184. Public Shared movieRuntimeFallbackToFile As Boolean = False
  185. Public Shared disablelogfiles As Boolean
  186. Public Shared incmissingmovies As Boolean
  187. Public Shared fanartnotstacked As Boolean
  188. Public Shared posternotstacked As Boolean
  189. Public Shared scrapemovieposters As Boolean
  190. Public Shared movrootfoldercheck As Boolean
  191. Public Shared posterjpg As Boolean
  192. Public Shared usefanart As Boolean
  193. Public Shared dontdisplayposter As Boolean
  194. Public Shared usefoldernames As Boolean
  195. Public Shared movxtrathumb As Boolean
  196. Public Shared movxtrafanart As Boolean
  197. Public Shared movxtrafanartqty As Integer
  198. Public Shared dlxtrafanart As Boolean
  199. Public Shared dlMovSetArtwork As Boolean
  200. Public Shared MovCustFolderjpgNoDelete As Boolean
  201. Public Shared MovCustPosterjpgNoDelete As Boolean
  202. Public Shared MovSetArtSetFolder As Boolean
  203. Public Shared MovSetArtCentralFolder As String
  204. Public Shared allfolders As Boolean
  205. Public Shared actorsave As Boolean
  206. Public Shared actorsavepath As String
  207. Public Shared actorsavealpha As Boolean
  208. Public Shared actornetworkpath As String
  209. Public Shared imdbmirror As String
  210. Public Shared createfolderjpg As Boolean
  211. Public Shared createfanartjpg As Boolean 'Use to create fanart.jpg if in a folder
  212. Public Shared basicsavemode As Boolean
  213. Public Shared namemode As String
  214. Public Shared usetransparency As Boolean
  215. Public Shared transparencyvalue As Integer
  216. Public Shared savefanart As Boolean
  217. Public Shared MovFanartTvscrape As Boolean 'cbMovFanartTvScrape
  218. Public Shared MovFanartNaming As Boolean 'cbMovFanartNaming
  219. Public Shared MovFanartTvDlClearArt As Boolean
  220. Public Shared MovFanartTvDlClearLogo As Boolean
  221. Public Shared MovFanartTvDlPoster As Boolean
  222. Public Shared MovFanartTvDlFanart As Boolean
  223. Public Shared MovFanartTvDlDisc As Boolean
  224. Public Shared MovFanartTvDlBanner As Boolean
  225. Public Shared MovFanartTvDlLandscape As Boolean
  226. Public Shared fanartjpg As Boolean 'Used to create fanart.jpg instead of movie-fanart.jpg
  227. Public Shared roundminutes As Boolean
  228. Public Shared moviedefaultlist As Byte
  229. Public Shared movies_useXBMC_Scraper As Boolean
  230. Public Shared TmdbActorsImdbScrape As Boolean
  231. Public Shared ImdbPrimaryPlot As Boolean
  232. Public Shared MovImdbFirstRunTime As Boolean
  233. Public Shared MovImdbAspectRatio As Boolean
  234. Public Shared XBMC_Scraper As String = "tmdb" 'Locked TMDb as XBMC Scraper.
  235. Public Shared XbmcTmdbRenameMovie As Boolean
  236. Public Shared XbmcTmdbMissingFromImdb As Boolean
  237. Public Shared XbmcTmdbTop250FromImdb As Boolean
  238. Public Shared XbmcTmdbVotesFromImdb As Boolean
  239. Public Shared XbmcTmdbCertFromImdb As Boolean
  240. Public Shared XbmcTmdbStarsFromImdb As Boolean
  241. Public Shared XbmcTmdbAkasFromImdb As Boolean
  242. Public Shared XbmcTmdbAspectFromImdb As Boolean
  243. Public Shared XbmcTmdbMetascoreFromImdb As Boolean
  244. Public Shared XbmcTmdbActorDL As Boolean
  245. Public Shared XbmcTmdbActorFromImdb As Boolean
  246. Public Shared XbmcTmdbGenreFromImdb As Boolean
  247. Public Shared scrapefullcert As Boolean
  248. Public Shared MovCertRemovePhrase As Boolean
  249. Public Shared OfflineDVDTitle As String
  250. Public Shared MovieManualRename As Boolean
  251. Public Shared MovieRenameEnable As Boolean
  252. Public Shared MovieRenameTemplate As String
  253. Public Shared MovFolderRename As Boolean
  254. Public Shared MovFolderRenameTemplate As String
  255. Public Shared MovNewFolderInRootFolder As String
  256. Public Shared MovRenameSpaceCharacter As Boolean
  257. Public Shared MovSetIgnArticle As Boolean
  258. Public Shared MovSortIgnArticle As Boolean
  259. Public Shared MovTitleIgnArticle As Boolean
  260. Public Shared MovTitleCase As Boolean
  261. Public Shared ExcludeMpaaRated As Boolean
  262. Public Shared IncludeMpaaRated As Boolean
  263. Public Shared MovThousSeparator As Boolean
  264. Public Shared MovieImdbGenreRegEx As String
  265. Public Shared showsortdate As Boolean
  266. Public Shared TMDbSelectedLanguageName As String = "English - US"
  267. Public Shared TMDbUseCustomLanguage As Boolean = False
  268. Public Shared TMDbCustomLanguageValue As String = ""
  269. Public Shared GetMovieSetFromTMDb As Boolean = True
  270. Public Shared ActorResolutionSI As Integer = 2 ' Height 768 SI = Selected Index
  271. Public Shared PosterResolutionSI As Integer = 9 ' Height 1080
  272. Public Shared BackDropResolutionSI As Integer = 15 ' Full HD 1920x1080
  273. Public Shared ActorsFilterMinFilms As Integer = 1
  274. Public Shared MaxActorsInFilter As Integer = 500
  275. Public Shared MovieFilters_Actors_Order As Integer = 0 ' 0=Number of films desc 1=A-Z
  276. Public Shared DirectorsFilterMinFilms As Integer = 1
  277. Public Shared MaxDirectorsInFilter As Integer = 500
  278. Public Shared MovieFilters_Directors_Order As Integer = 0 ' 0=Number of films desc 1=A-Z
  279. Public Shared SetsFilterMinFilms As Integer = 1
  280. Public Shared MaxSetsInFilter As Integer = 500
  281. Public Shared MovieFilters_Sets_Order As Integer = 0 ' 0=Number of films desc 1=A-Z
  282. Public Shared MinTagsInFilter As Integer = 1
  283. Public Shared MaxTagsInFilter As Integer = 500
  284. Public Shared MovFiltersTagsOrder As Integer = 0 ' 0=Number of films desc 1=A-Z
  285. Public Shared DateFormat As String = "YYYY-MM-DD" 'Valid tokens: YYYY MM DD HH MIN SS Used in Movie list
  286. Public Shared DateFormat2 As String = "yyyy-MM-dd HH:mm:ss" 'Valid tokens: YYYY MM DD HH MIN SS Used in Movie list
  287. Public Shared MovieList_ShowColPlot As Boolean = False
  288. Public Shared DisableNotMatchingRenamePattern As Boolean = True
  289. Public Shared MovieList_ShowColWatched As Boolean = False
  290. Public Shared MovieScraper_MaxStudios As Integer = 3 ' 9 = Max
  291. Public Shared moviesortorder As Integer
  292. Public Shared movieinvertorder As Boolean
  293. Public Shared moviesets As New List(Of String)
  294. Public Shared movietags As New List(Of String)
  295. Public Shared moviethumbpriority As New List(Of String)
  296. Public Shared certificatepriority() As String
  297. Public Shared releaseformat() As String
  298. Public Shared tableview As New List(Of String)
  299. Public Shared tablesortorder As String
  300. Public Shared MovSepLst As New List(Of String)
  301. Public Shared ThreeDKeyWords As New List(Of String)
  302. Public Shared MovFiltLastSize As Integer
  303. Public Shared RenameSpaceCharacter As String
  304. Public Shared Original_Title As Boolean=False
  305. Public Shared UseMultipleThreads As Boolean=False
  306. Public Shared XbmcTmdbScraperFanart As String = Nothing
  307. Public Shared XbmcTmdbScraperTrailerQ As String = Nothing
  308. Public Shared XbmcTmdbScraperTrailerQLB As New List(Of String)
  309. Public Shared XbmcTmdbScraperLanguage As String = Nothing
  310. Public Shared XbmcTmdbScraperLanguageLB As New List(Of String)
  311. Public Shared XbmcTmdbScraperRatings As String = Nothing
  312. Public Shared XbmcTmdbScraperCertCountry As String = Nothing
  313. Public Shared XbmcTmdbScraperCertCountryLB As New List(Of String)
  314. Public Shared movie_filters As MovieFilters = New MovieFilters
  315. Public Shared CheckForNewVersion As Boolean=False
  316. Public Shared CloseMCForDLNewVersion As Boolean = True
  317. Public Shared AllowUserTags As Boolean
  318. Public Shared keywordasTag As Boolean
  319. Public Shared keywordlimit As Integer
  320. Public Shared TagRes As Boolean
  321. Public Shared GenreCustomBefore As Boolean
  322. Public Shared CustomTmdbApiKey As String = ""
  323. Public Shared MovNfoWatchTag As Boolean
  324. Public Shared Property movieignorepart As Boolean
  325. Get
  326. Return Utilities.ignoreParts
  327. End Get
  328. Set(value As Boolean)
  329. Utilities.ignoreParts = value
  330. End Set
  331. End Property
  332. Public Shared Property moviecleanTags As String
  333. Get
  334. Return Utilities.userCleanTags
  335. End Get
  336. Set(value As String)
  337. Utilities.userCleanTags = value
  338. End Set
  339. End Property
  340. Public Shared Property rarsize As Integer
  341. Get
  342. Return Utilities.RARsize
  343. End Get
  344. Set(value As Integer)
  345. Utilities.RARsize = value
  346. End Set
  347. End Property
  348. Public Shared ReadOnly Property MovFanartTvDlAll As Boolean
  349. Get
  350. Return MovFanartTvDlBanner AndAlso MovFanartTvDlClearArt AndAlso MovFanartTvDlClearLogo AndAlso MovFanartTvDlDisc AndAlso MovFanartTvDlFanart AndAlso MovFanartTvDlLandscape AndAlso MovFanartTvDlPoster
  351. End Get
  352. End Property
  353. 'Saved TV Prefs
  354. Public Shared tvshowautoquick As Boolean
  355. Public Shared copytvactorthumbs As Boolean = False
  356. Public Shared tvdbIMDbRating As Boolean = False
  357. Public Shared displayMissingEpisodes As Boolean = False
  358. Public Shared ignoreMissingSpecials As Boolean = False
  359. Public Shared TvMissingEpOffset As Boolean = False
  360. Public Shared sortorder As String
  361. Public Shared tvdlposter As Boolean
  362. Public Shared tvdlfanart As Boolean
  363. Public Shared tvdlseasonthumbs As Boolean
  364. Public Shared TvDlFanartTvArt As Boolean
  365. Public Shared TvFanartTvFirst As Boolean
  366. Public Shared dlTVxtrafanart As Boolean
  367. Public Shared TvXtraFanartQty As Integer
  368. Public Shared tvfolderjpg As Boolean
  369. Public Shared seasonfolderjpg As Boolean
  370. Public Shared enabletvhdtags As Boolean
  371. Public Shared disabletvlogs As Boolean
  372. Public Shared postertype As String
  373. Public Shared TvdbActorScrape As Integer
  374. Public Shared seasonall As String
  375. Public Shared tvrename As Integer
  376. Public Shared ScrShtDelay As Integer
  377. Public Shared tvshowrefreshlog As Boolean
  378. Public Shared autoepisodescreenshot As Boolean
  379. Public Shared tvscrnshtTVDBResize As Boolean
  380. Public Shared tvshow_useXBMC_Scraper As Boolean
  381. Public Shared autorenameepisodes As Boolean
  382. Public Shared eprenamelowercase As Boolean
  383. Public Shared TvRenameReplaceSpace As Boolean
  384. Public Shared TvRenameReplaceSpaceDot As Boolean
  385. Public Shared TvdbLanguage As String = "English"
  386. Public Shared TvdbLanguageCode As String = "en"
  387. Public Shared lastrefreshmissingdate As String
  388. Public Shared excludefromshowfoldername As String
  389. Public Shared TvMaxGenres As Integer
  390. 'XBMC TVDB Scraper Options
  391. Public Shared XBMCTVDbDvdOrder As Boolean
  392. Public Shared XBMCTVDbAbsoluteNumber As Boolean
  393. Public Shared XBMCTVDbFanart As Boolean
  394. Public Shared XBMCTVDbPoster As Boolean
  395. Public Shared XBMCTVDbLanguage As String
  396. Public Shared XBMCTVDbLanguageLB As New List(Of String)
  397. Public Shared XBMCTVDbRatings As String = "IMDb" 'Assign a default to prevent frmPreferences crashing here: cbXBMCTvdbRatingImdb .Checked = If(Pref.XBMCTVDbRatings.ToLower = "imdb", True, False)
  398. Public Shared XBMCTVDbfallback As Boolean
  399. 'Saved Home Movie Prefs
  400. Public Shared HmFanartScrnShot As Boolean
  401. Public Shared HmFanartTime As Integer
  402. Public Shared HmPosterTime As Integer
  403. 'Saved Music Video Prefs
  404. Public Shared MVScraper As String
  405. Public Shared MVsortorder As Integer
  406. Public Shared MVdefaultlist As Integer
  407. Public Shared MVPrefScrnSht As Integer
  408. Public Shared MVPrefShowLog As Boolean
  409. '(Unsure)
  410. Public Shared maximagecount As Integer
  411. Public Shared episodeacrorsource As String
  412. Public Shared alwaysuseimdbid As Boolean
  413. 'XBMC Sync
  414. Public Shared XBMC_Active As Boolean = False
  415. Public Shared XBMC_Link As Boolean = False
  416. Public Shared XBMC_Address As String = "127.0.0.1"
  417. Public Shared XBMC_Port As String = "8080"
  418. Public Shared XBMC_Username As String = ""
  419. Public Shared XBMC_Password As String = ""
  420. Public Shared XBMC_UserdataFolder As String = ""
  421. Public Shared XBMC_TexturesDb As String = "Database\Textures13.db"
  422. Public Shared XBMC_ThumbnailsFolder As String = "Thumbnails"
  423. Public Shared XBMC_MC_MovieFolderMappings As New XBMC_MC_FolderMappings("Movie")
  424. Public Shared XBMC_MC_CompareFields As New XBMC_MC_CompareFields ("Movie")
  425. Public Shared XBMC_Link_Use_Forward_Slash As Boolean = False 'This property does not get persisted, it's assigned in XbmcController at runtime
  426. Public Shared XBMC_Delete_Cached_Images As Boolean = True
  427. Public Shared ShowExtraMovieFilters As Boolean = False
  428. Public Shared ExportXBMCPath As String = ""
  429. ReadOnly Shared Property AppPath As String
  430. Get
  431. Return My.Application.Info.DirectoryPath
  432. End Get
  433. End Property
  434. ReadOnly Shared Property XBMC_TestsPassed As Boolean
  435. Get
  436. 'Non-db tests...
  437. Dim result As Boolean = XBMC_Active AndAlso XBMC_MC_MovieFolderMappings.Initialised AndAlso FrodoEnabled AndAlso XBMC_CanPing AndAlso XBMC_CanConnect
  438. If Not result Then Return False
  439. 'Db tests...
  440. If XBMC_Delete_Cached_Images Then
  441. result = XBMC_UserdataFolder_Valid AndAlso XBMC_TexturesDbFile_Valid AndAlso XBMC_TexturesDb_Conn_Valid AndAlso
  442. XBMC_TexturesDb_Version_Valid AndAlso XBMC_ThumbnailsFolder_Valid
  443. End If
  444. Return result
  445. End Get
  446. End Property
  447. ReadOnly Shared Property XBMC_CanConnect As Boolean
  448. Get
  449. Dim xbmc As XbmcJsonRpcConnection
  450. Try
  451. xbmc = new XbmcJsonRpcConnection(XBMC_Address, XBMC_Port, XBMC_Username, XBMC_Password)
  452. xbmc.Open
  453. Dim result As Boolean = xbmc.IsAlive
  454. xbmc.Close
  455. Return result
  456. Catch
  457. End Try
  458. Return False
  459. End Get
  460. End Property
  461. ReadOnly Shared Property XBMC_CanPing As Boolean
  462. Get
  463. Dim result As Boolean = False
  464. Try
  465. result = My.Computer.Network.Ping(XBMC_Address,1000)
  466. Catch
  467. End Try
  468. Return result
  469. End Get
  470. End Property
  471. ReadOnly Shared Property XBMC_TexturesDb_Version_Valid As Boolean
  472. Get
  473. Return TexturesDbVersion = 13
  474. End Get
  475. End Property
  476. Public Shared Function TexturesDbVersion As Integer
  477. Try
  478. Dim conn As SQLiteConnection = new SQLiteConnection(XBMC_TexturesDb_ReadOnly_ConnectionStr)
  479. conn.Open
  480. Dim dt As DataTable = DbUtils.ExecuteReader(conn, "Select idVersion from version" )
  481. conn.Close
  482. Return dt.Rows(0)("idVersion").ToString
  483. Catch ex As Exception
  484. Return -1
  485. End Try
  486. End Function
  487. ReadOnly Shared Property XBMC_TexturesDb_Conn_Valid As Boolean
  488. Get
  489. Try
  490. Dim conn As SQLiteConnection = new SQLiteConnection(XBMC_TexturesDb_ReadOnly_ConnectionStr)
  491. conn.Open
  492. Dim dt As DataTable = DbUtils.ExecuteReader(conn, "Select idVersion from version" )
  493. conn.Close
  494. Return True
  495. Catch ex As Exception
  496. Return False
  497. End Try
  498. End Get
  499. End Property
  500. ReadOnly Shared Property XBMC_ThumbnailsFolder_Valid As Boolean
  501. Get
  502. Return Directory.Exists(XBMC_Thumbnails_Path)
  503. End Get
  504. End Property
  505. ReadOnly Shared Property XBMC_UserdataFolder_Valid As Boolean
  506. Get
  507. Return Directory.Exists(XBMC_UserdataFolder)
  508. End Get
  509. End Property
  510. ReadOnly Shared Property XBMC_TexturesDbFile_Valid As Boolean
  511. Get
  512. Return IO.File.Exists(XBMC_TexturesDb_Path)
  513. End Get
  514. End Property
  515. ReadOnly Shared Property XBMC_TexturesDb_ReadOnly_ConnectionStr As String
  516. Get
  517. Return XBMC_TexturesDb_ConnectionStr & "Read Only=True;"
  518. End Get
  519. End Property
  520. ReadOnly Shared Property XBMC_TexturesDb_ConnectionStr As String
  521. Get
  522. Return "Data Source=" + Pref.XBMC_TexturesDb_Path + ";Version=3;New=False;Compress=True;FailIfMissing=True;"
  523. End Get
  524. End Property
  525. ReadOnly Shared Property XBMC_Thumbnails_Path As String
  526. Get
  527. Return Path.Combine(XBMC_UserdataFolder,XBMC_ThumbnailsFolder)
  528. End Get
  529. End Property
  530. ReadOnly Shared Property XBMC_TexturesDb_Path As String
  531. Get
  532. Return Path.Combine(XBMC_UserdataFolder,XBMC_TexturesDb)
  533. End Get
  534. End Property
  535. ReadOnly Shared Property XbmcLinkReady As Boolean
  536. Get
  537. Return XBMC_Link And XBMC_TestsPassed
  538. End Get
  539. End Property
  540. Public Shared Sub SetUpPreferences()
  541. 'General
  542. ignorearticle = False
  543. ignoreAarticle = False
  544. ignoreAn = False
  545. sorttitleignorearticle = False
  546. MovSetTitleIgnArticle = False
  547. MovPosterTabTMDBSelect = False
  548. externalbrowser = False
  549. selectedBrowser = ""
  550. altnfoeditor = ""
  551. backgroundcolour = "Silver"
  552. forgroundcolour = "#D3D9DC"
  553. formheight = "600"
  554. formwidth = "800"
  555. disablelogfiles = False
  556. AutoHideStatusBar = True
  557. DisplayRatingOverlay = True
  558. DisplayMediainfoOverlay = True
  559. DisplayMediaInfoFolderSize = False
  560. EnableFolderSize = False
  561. ShowAllAudioTracks = False
  562. DisplayDefaultSubtitleLang = True
  563. DisplayAllSubtitleLang = False
  564. incmissingmovies = False
  565. startupCache = True
  566. rarsize = 8
  567. renamenfofiles = True
  568. scrapemovieposters = True
  569. movrootfoldercheck = True
  570. posterjpg = False
  571. dontdisplayposter = False
  572. usetransparency = False 'not used in gen2
  573. transparencyvalue = 255 'not used in gen2
  574. lastpath = applicationPath ' Application.StartupPath
  575. videomode = 1
  576. locx = 0
  577. locy = 0
  578. formheight = 725
  579. formwidth = 1060
  580. splt5 = 0
  581. splt6 = 230
  582. tvbannersplit = 0
  583. showsortdate = False
  584. MultiMonitoEnabled = False
  585. XBMC_version = 2
  586. 'Proxy settings
  587. prxyEnabled = "false"
  588. prxyIp = "127.0.0.1"
  589. prxyPort = "8099"
  590. prxyUsername = "username"
  591. prxyPassword = "password"
  592. 'Movies
  593. movies_useXBMC_Scraper = False
  594. TmdbActorsImdbScrape = False
  595. ImdbPrimaryPlot = False
  596. MovImdbFirstRunTime = False
  597. MovImdbAspectRatio = False
  598. XBMC_Scraper = "tmdb"
  599. XbmcTmdbRenameMovie = False
  600. XbmcTmdbMissingFromImdb = False
  601. XbmcTmdbTop250FromImdb = False
  602. XbmcTmdbVotesFromImdb = False
  603. XbmcTmdbCertFromImdb = False
  604. XbmcTmdbStarsFromImdb = False
  605. XbmcTmdbAkasFromImdb = False
  606. XbmcTmdbAspectFromImdb = False
  607. XbmcTmdbMetascoreFromImdb = False
  608. XbmcTmdbActorDL = False
  609. XbmcTmdbActorFromImdb = False
  610. XbmcTmdbGenreFromImdb = False
  611. scrapefullcert = False
  612. MovCertRemovePhrase = False
  613. moviedefaultlist = 0
  614. moviesortorder = 0
  615. 'movieinvertorder = 0
  616. imdbmirror = "http://www.imdb.com/"
  617. usefoldernames = False
  618. movxtrafanart = True
  619. movxtrafanartqty = 0
  620. movxtrathumb = False
  621. dlxtrafanart = False
  622. dlMovSetArtwork = False
  623. MovCustFolderjpgNoDelete = False
  624. MovCustPosterjpgNoDelete = False
  625. MovSetArtSetFolder = False
  626. MovSetArtCentralFolder = ""
  627. allfolders = False
  628. 'ReDim moviethumbpriority(3)
  629. maxmoviegenre = 99
  630. moviethumbpriority.Add("themoviedb.org")
  631. moviethumbpriority.Add("IMDB")
  632. 'moviethumbpriority.Add("Movie Poster DB")
  633. moviethumbpriority.Add("Internet Movie Poster Awards")
  634. MovSepLst.Add("3DSBS")
  635. MovSepLst.Add("3DTAB")
  636. MovSepLst.Add("3D")
  637. MovSepLst.Add("Directors-Cut")
  638. MovSepLst.Add("Extended-Edition")
  639. MovSepLst.Add("Theatrical-Version")
  640. MovSepLst.Add("Unrated-Version")
  641. ThreeDKeyWords.Clear()
  642. ThreeDKeyWords.Add("HSBS")
  643. ThreeDKeyWords.Add("SBS")
  644. ThreeDKeyWords.Add("TAB")
  645. ThreeDKeyWords.Add("MVC")
  646. movieRuntimeDisplay = "scraper"
  647. moviePreferredTrailerResolution = "720"
  648. MovieManualRename = True
  649. MovieRenameEnable = False
  650. MovieRenameTemplate = "%T (%Y)"
  651. MovFolderRename = False
  652. MovRenameSpaceCharacter = False
  653. MovSetIgnArticle = False
  654. MovSortIgnArticle = False
  655. MovTitleIgnArticle = False
  656. MovTitleCase = False
  657. ExcludeMpaaRated = False
  658. IncludeMpaaRated = False
  659. MovThousSeparator = False
  660. MovFolderRenameTemplate = "%N\%T (%Y)"
  661. MovNewFolderInRootFolder = False
  662. MovieImdbGenreRegEx = "/genre/.*?>(?<genre>.*?)</a>"
  663. MovFiltLastSize = 384
  664. RenameSpaceCharacter = "_"
  665. 'TV
  666. tvshow_useXBMC_Scraper = False
  667. autorenameepisodes = False
  668. eprenamelowercase = False
  669. TvRenameReplaceSpace = False
  670. TvRenameReplaceSpaceDot = False
  671. autoepisodescreenshot = False
  672. tvscrnshtTVDBResize = False
  673. tvshowautoquick = False
  674. copytvactorthumbs = True
  675. tvdbIMDbRating = False
  676. enabletvhdtags = True
  677. tvshowrefreshlog = False
  678. seasonall = "none"
  679. tvrename = 0
  680. tvdlfanart = True
  681. tvdlposter = True
  682. tvdlseasonthumbs = True
  683. TvDlFanartTvArt = False
  684. TvFanartTvFirst = False
  685. dlTVxtrafanart = False
  686. TvXtraFanartQty = 5
  687. tvfolderjpg = False
  688. seasonfolderjpg = False
  689. postertype = "poster"
  690. TvdbLanguage = "English"
  691. TvdbLanguageCode = "en"
  692. lastrefreshmissingdate = "" 'DateTime.Now.ToString("yyyy-MM-dd")
  693. sortorder = "default"
  694. TvdbActorScrape = 0
  695. OfflineDVDTitle = "Please Load '%T' Media To Play..."
  696. fixnfoid = False
  697. logview = "0" 'first entry in combobox is 'Full' (log view)
  698. displayMissingEpisodes = False
  699. ignoreMissingSpecials = False
  700. TvMissingEpOffset = False
  701. ScrShtDelay = 10
  702. excludefromshowfoldername = "[ended]"
  703. TvMaxGenres = 99
  704. 'Home Movie
  705. HmFanartScrnShot = True
  706. HmFanartTime = 10
  707. HmPosterTime = 10
  708. 'Music Video
  709. MVScraper = "wiki"
  710. MVsortorder = 0
  711. MVdefaultlist = 0
  712. MVPrefScrnSht = 10
  713. MVPrefShowLog = True
  714. 'Unknown - need to be sorted/named better
  715. GenreCustomBefore = False
  716. CustomTmdbApiKey = ""
  717. MovNfoWatchTag = False
  718. intruntime = False
  719. actorseasy = True
  720. startuptab = 0
  721. font = "Microsoft Sans Serif, 9pt"
  722. fanartnotstacked = False
  723. posternotstacked = False
  724. ignoreactorthumbs = False
  725. actorsave = False
  726. actorsavepath = ""
  727. actorsavealpha = False
  728. actornetworkpath = ""
  729. usefanart = True
  730. ignoretrailers = False
  731. enablehdtags = True
  732. MovDurationAsRuntine = False
  733. MovRuntimeAsDuration = False
  734. savefanart = True
  735. MovFanartTvscrape = False
  736. MovFanartNaming = False
  737. MovFanartTvDlClearArt = True
  738. MovFanartTvDlClearLogo = True
  739. MovFanartTvDlPoster = True
  740. MovFanartTvDlFanart = True
  741. MovFanartTvDldisc = True
  742. MovFanartTvDlBanner = True
  743. MovFanartTvDlLandscape = True
  744. fanartjpg = False
  745. overwritethumbs = False
  746. LocalActorImage = True
  747. maxactors = 9999
  748. AllowUserTags = True
  749. keywordasTag = False
  750. keywordlimit = 5
  751. TagRes = False
  752. MovTagBlacklist = ""
  753. createfolderjpg = False
  754. createfanartjpg = False
  755. basicsavemode = False 'movie.nfo, movie.tbn, fanart.jpg
  756. namemode = "1"
  757. maximumthumbs = 6
  758. preferredscreen = 0
  759. gettrailer = False
  760. DownloadTrailerDuringScrape = False
  761. NoAltTitle = False
  762. XtraFrodoUrls = True
  763. ExportXBMCPath = ""
  764. ReDim certificatepriority(33)
  765. certificatepriority(0) = "MPAA"
  766. certificatepriority(1) = "UK"
  767. certificatepriority(2) = "USA"
  768. certificatepriority(3) = "Ireland"
  769. certificatepriority(4) = "Australia"
  770. certificatepriority(5) = "New Zealand"
  771. certificatepriority(6) = "Norway"
  772. certificatepriority(7) = "Singapore"
  773. certificatepriority(8) = "South Korea"
  774. certificatepriority(9) = "Philippines"
  775. certificatepriority(10) = "Brazil"
  776. certificatepriority(11) = "Netherlands"
  777. certificatepriority(12) = "Malaysia"
  778. certificatepriority(13) = "Argentina"
  779. certificatepriority(14) = "Iceland"
  780. certificatepriority(15) = "Canada (Quebec)"
  781. certificatepriority(16) = "Canada (British Columbia/Ontario)"
  782. certificatepriority(17) = "Canada (Alberta/Manitoba/Nova Scotia)"
  783. certificatepriority(18) = "Peru"
  784. certificatepriority(19) = "Sweden"
  785. certificatepriority(20) = "Portugal"
  786. certificatepriority(21) = "South Africa"
  787. certificatepriority(22) = "Denmark"
  788. certificatepriority(23) = "Hong Kong"
  789. certificatepriority(24) = "Finland"
  790. certificatepriority(25) = "India"
  791. certificatepriority(26) = "Mexico"
  792. certificatepriority(27) = "France"
  793. certificatepriority(28) = "Italy"
  794. certificatepriority(29) = "Switzerland (canton of Vaud)"
  795. certificatepriority(30) = "Switzerland (canton of Geneva)"
  796. certificatepriority(31) = "Germany"
  797. certificatepriority(32) = "Greece"
  798. certificatepriority(33) = "Austria"
  799. maximagecount = 10
  800. ReDim releaseformat(14)
  801. releaseformat(0) = "Cam"
  802. releaseformat(1) = "Telesync"
  803. releaseformat(2) = "Workprint"
  804. releaseformat(3) = "Telecine"
  805. releaseformat(4) = "Pay-Per-View Rip"
  806. releaseformat(5) = "Screener"
  807. releaseformat(6) = "R5"
  808. releaseformat(7) = "DVD-Rip"
  809. releaseformat(8) = "DVD-R"
  810. releaseformat(9) = "HDTV"
  811. releaseformat(10) = "VODRip"
  812. releaseformat(11) = "BRRip"
  813. releaseformat(12) = "BDRip"
  814. releaseformat(13) = "Bluray"
  815. releaseformat(14) = "DVD"
  816. movieFolders .Clear()
  817. tvRootFolders .Clear()
  818. tvFolders .Clear()
  819. MVidFolders .Clear()
  820. MVConcertFolders .Clear()
  821. custtvFolders .Clear()
  822. End Sub
  823. Public Shared Sub resetmovthumblist
  824. moviethumbpriority.Clear()
  825. moviethumbpriority.Add("themoviedb.org")
  826. moviethumbpriority.Add("IMDB")
  827. 'moviethumbpriority.Add("Movie Poster DB")
  828. moviethumbpriority.Add("Internet Movie Poster Awards")
  829. End Sub
  830. Public Shared Sub ResetMovSepLst
  831. MovSepLst.Clear()
  832. MovSepLst.Add("3DSBS")
  833. MovSepLst.Add("3DTAB")
  834. MovSepLst.Add("3D")
  835. MovSepLst.Add("Directors-Cut")
  836. MovSepLst.Add("Extended-Edition")
  837. MovSepLst.Add("Theatrical-Version")
  838. MovSepLst.Add("Unrated-Version")
  839. MovSepLst.Add("DVD")
  840. MovSepLst.Add("Bluray")
  841. End Sub
  842. Public Shared Sub Proxyreload()
  843. proxysettings.Clear()
  844. proxysettings.Add(prxyEnabled)
  845. proxysettings.Add(prxyIp)
  846. proxysettings.Add(prxyPort)
  847. proxysettings.Add(prxyUsername)
  848. proxysettings.Add(prxyPassword)
  849. Utilities.MCProxy = proxysettings
  850. End Sub
  851. Public Shared Sub engineupdate
  852. enginefront.Clear()
  853. engineend.Clear()
  854. enginefront.Add("http://www.google.co.uk/search?hl=en-US&as_q=")
  855. engineend.Add("&as_sitesearch=www.imdb.com")
  856. enginefront.Add("https://duckduckgo.com/lite/?q=")
  857. engineend.Add("+site%3Aimdb.com&kp=-1&kaf=1&k1=-1&kac=-1&ia=web")
  858. 'enginefront.Add("http://www.bing.com/search?q=")
  859. 'engineend.Add("+movie+site%3Aimdb.com")
  860. 'enginefront.Add("http://www.ask.com/web?qsrc=1&o=0&l=dir&q=")
  861. 'engineend.Add("&qo=serpSearchTopBox")
  862. End Sub
  863. Public Shared Sub ConfigSave()
  864. Dim tempstring As String = String.Empty
  865. Dim doc As New XmlDocument
  866. Dim xmlproc As XmlDeclaration
  867. xmlproc = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes")
  868. doc.AppendChild(xmlproc)
  869. Dim root As XmlElement
  870. Dim child As XmlElement
  871. root = doc.CreateElement("xbmc_media_companion_config_v1.0")
  872. 'Folders In Use ------------------------------------------------------
  873. For Each path In tvFolders
  874. root.AppendChild(doc, "tvfolder", path)
  875. Next
  876. For Each path In tvRootFolders
  877. Dim t As String = path.rpath & "|" & path.selected
  878. root.AppendChild(doc, "tvrootfolder", t)
  879. Next
  880. For Each path In movieFolders
  881. Dim t As String = path.rpath & "|" & path.selected
  882. root.AppendChild(doc, "nfofolder", t)
  883. Next
  884. root.AppendChild(doc, "stubfolder", stubfolder)
  885. root.AppendChild(doc, "stubmessage", stubmessage)
  886. For Each path In offlinefolders
  887. root.AppendChild(doc, "offlinefolder", path)
  888. Next
  889. For Each path In homemoviefolders
  890. Dim t As String = path.rpath & "|" & path.selected
  891. root.AppendChild(doc, "homemoviefolder", t)
  892. Next
  893. For Each path In MVidFolders
  894. Dim t As String = path.rpath & "|" & path.selected
  895. root.AppendChild(doc, "MVidFolders", t)
  896. Next
  897. For Each path In MVConcertFolders
  898. Dim t As String = path.rpath & "|" & path.selected
  899. root.AppendChild(doc, "MVConcertFolders", t)
  900. Next
  901. For each path In custtvFolders
  902. root.AppendChild(doc, "custtvFolder", path)
  903. Next
  904. root.AppendChild(ExcludeFolders.GetChild(doc))
  905. 'Form Settings ------------------------------------------------------------
  906. root.AppendChild(doc, "backgroundcolour", backgroundcolour)
  907. root.AppendChild(doc, "forgroundcolour", forgroundcolour)
  908. root.AppendChild(doc, "remembersize", remembersize)
  909. root.AppendChild(doc, "locx", locx)
  910. root.AppendChild(doc, "locy", locy)
  911. root.AppendChild(doc, "formheight", formheight)
  912. root.AppendChild(doc, "formwidth", formwidth)
  913. root.AppendChild(doc, "splitcontainer1", splt1)
  914. root.AppendChild(doc, "splitcontainer2", splt2)
  915. root.AppendChild(doc, "splitcontainer3", splt3)
  916. root.AppendChild(doc, "splitcontainer4", splt4)
  917. root.AppendChild(doc, "splitcontainer5", splt5)
  918. root.AppendChild(doc, "splitcontainer6", splt6)
  919. root.AppendChild(doc, "tvbannersplit", tvbannersplit)
  920. root.AppendChild(doc, "maximised", maximised)
  921. root.AppendChild(doc, "startuptab", startuptab)
  922. root.AppendChild(doc, "logview", logview)
  923. root.AppendChild(doc, "LogScrapeTimes", LogScrapeTimes)
  924. root.AppendChild(doc, "ScrapeTimingsLogThreshold", ScrapeTimingsLogThreshold)
  925. root.AppendChild(doc, "maximumthumbs", maximumthumbs)
  926. root.AppendChild(doc, "preferredscreen", preferredscreen)
  927. root.AppendChild(doc, "lastpath", lastpath)
  928. root.AppendChild(doc, "MovieImdbGenreRegEx", MovieImdbGenreRegEx)
  929. root.AppendChild(doc, "moviedefaultlist", moviedefaultlist) 'RadioButtonFileName,RadioButtonTitleAndYear,RadioButtonFolder
  930. root.AppendChild(doc, "moviesortorder", moviesortorder) 'cbSort
  931. root.AppendChild(doc, "movieinvertorder", movieinvertorder) 'btnreverse
  932. root.AppendChild(doc, "displayMissingEpisodes", displayMissingEpisodes) 'SearchForMissingEpisodesToolStripMenuItem
  933. root.AppendChild(doc, "ignoreMissingSpecials", ignoreMissingSpecials) 'cbTvMissingSpecials
  934. root.AppendChild(doc, "TvMissingEpOffset", TvMissingEpOffset) 'cb_TvMissingEpOffset
  935. 'Still to do
  936. child = doc.CreateElement("moviesets")
  937. Dim childchild As XmlElement
  938. For Each movieset In moviesets
  939. If movieset <> "-None-" Then
  940. childchild = doc.CreateElement("set")
  941. childchild.InnerText = movieset
  942. child.AppendChild(childchild)
  943. End If
  944. Next
  945. root.AppendChild(child)
  946. child = doc.CreateElement("movietags") 'preparing new movie tags
  947. Dim childchild3 As XmlElement
  948. For Each movietag In movietags
  949. If movietag <> "" And Not IsNothing(movietag) Then
  950. childchild3 = doc.CreateElement("tag")
  951. childchild3.InnerText = movietag
  952. child.AppendChild(childchild3)
  953. End If
  954. Next
  955. root.AppendChild(child)
  956. child = doc.CreateElement("table")
  957. Dim childchild2 As XmlElement
  958. childchild2 = doc.CreateElement("sort")
  959. childchild2.InnerText = tablesortorder
  960. child.AppendChild(childchild2)
  961. For Each tabs In tableview
  962. childchild2 = doc.CreateElement("tab")
  963. childchild2.InnerText = tabs
  964. child.AppendChild(childchild2)
  965. Next
  966. root.AppendChild(child)
  967. 'General Prefs ------------------------------------------------------------
  968. root.AppendChild(doc, "startupcache" , startupCache ) 'chkbx_disablecache
  969. root.AppendChild(doc, "renamenfofiles" , renamenfofiles ) 'CheckBoxRenameNFOtoINFO
  970. root.AppendChild(doc, "actorseasy" , actorseasy ) 'CheckBox33
  971. root.AppendChild(doc, "rarsize" , rarsize ) 'txtbx_minrarsize
  972. root.AppendChild(doc, "overwritethumbs" , overwritethumbs )'cbOverwriteArtwork - does not appear to be used?
  973. root.AppendChild(doc, "LocalActorImage" , LocalActorImage ) 'cbDisplayLocalActor
  974. root.AppendChild(doc, "videomode" , videomode ) 'RadioButton36-38
  975. root.AppendChild(doc, "selectedvideoplayer" , selectedvideoplayer )'btn_custommediaplayer
  976. root.AppendChild(doc, "externalbrowser" , externalbrowser ) 'CheckBox12
  977. root.AppendChild(doc, "selectedBrowser" , selectedBrowser ) 'btnFindBrowser
  978. root.AppendChild(doc, "altnfoeditor" , altnfoeditor ) 'btnaltnfoeditor
  979. root.AppendChild(doc, "ignorearticle" , ignorearticle ) 'cb_IgnoreThe
  980. root.AppendChild(doc, "ignoreAarticle" , ignoreAarticle ) 'cb_IgnoreA
  981. root.AppendChild(doc, "ignoreAn" , ignoreAn ) 'cb_IgnoreAn
  982. root.AppendChild(doc, "sorttitleignorearticle" , sorttitleignorearticle ) 'cb_SorttitleIgnoreArticles
  983. root.AppendChild(doc, "MovSetTitleIgnArticle" , MovSetTitleIgnArticle ) 'cb_MovSetTitleIgnArticle
  984. root.AppendChild(doc, "MovPosterTabTMDBSelect" , MovPosterTabTMDBSelect ) 'cb_MovPosterTabTMDBSelect
  985. root.AppendChild(doc, "intruntime" , intruntime ) 'CheckBox38
  986. root.AppendChild(doc, "xbmcartwork" , XBMC_version ) 'rbXBMCv_pre,rbXBMCv_post,rbXBMCv_both
  987. root.AppendChild(doc, "ShowMovieGridToolTip" , ShowMovieGridToolTip ) 'cbShowMovieGridToolTip
  988. root.AppendChild(doc, "ShowLogOnError" , ShowLogOnError ) 'cbShowLogOnError
  989. root.AppendChild(doc, "CheckForNewVersion" , CheckForNewVersion )
  990. root.AppendChild(doc, "CloseMCForDLNewVersion" , CloseMCForDLNewVersion ) 'cbMcCloseMCForDLNewVersion
  991. root.AppendChild(doc, "MkvMergeGuiPath" , MkvMergeGuiPath ) 'tbMkvMergeGuiPath
  992. root.AppendChild(doc, "prxyEnabled" , prxyEnabled ) 'ucGenPref_Proxy.cb_prxyEnable
  993. root.AppendChild(doc, "prxyIp" , prxyIp ) 'ucGenPref_Proxy.tb_prxyIp
  994. root.AppendChild(doc, "prxyPort" , prxyPort ) 'ucGenPref_Proxy.prxyPort
  995. root.AppendChild(doc, "prxyUsername" , prxyUsername ) 'ucGenPref_Proxy.prxyUsername
  996. root.AppendChild(doc, "prxyPassword" , prxyPassword ) 'ucGenPref_Proxy.prxyPassword
  997. root.AppendChild(doc, "ShowAllAudioTracks" , ShowAllAudioTracks ) 'cbShowAllAudioTracks
  998. root.AppendChild(doc, "DisplayDefaultSubtitleLang" , DisplayDefaultSubtitleLang) 'cbDisplayDefaultSubtitleLang
  999. root.AppendChild(doc, "DisplayAllSubtitleLang" , DisplayAllSubtitleLang ) 'cbDisplayAllSubtitleLang
  1000. root.AppendChild(doc, "GenreCustomBefore" , GenreCustomBefore ) 'cbGenreCustomBefore
  1001. root.AppendChild(doc, "CustomTmdbApiKey" , CustomTmdbApiKey ) 'tbTMDbAPI
  1002. root.AppendChild(doc, "MovNfoWatchTag" , MovNfoWatchTag ) 'cbMovNfoWatchTag
  1003. If Not String.IsNullOrEmpty(font) Then
  1004. root.AppendChild(doc, "font", font) 'Button96
  1005. End If
  1006. For Each com In commandlist
  1007. If com.command <> "" And com.title <> "" Then
  1008. child = doc.CreateElement("comms")
  1009. childchild = doc.CreateElement("title")
  1010. childchild.InnerText = com.title
  1011. child.AppendChild(childchild)
  1012. childchild = doc.CreateElement("command")
  1013. childchild.InnerText = com.command
  1014. child.AppendChild(childchild)
  1015. root.AppendChild(child)
  1016. End If
  1017. Next
  1018. 'Movie Prefs ------------------------------------------------------------
  1019. root.AppendChild(doc, "DownloadTrailerDuringScrape", DownloadTrailerDuringScrape) 'cbDlTrailerDuringScrape
  1020. root.AppendChild(doc, "gettrailer", gettrailer) 'CheckBox11
  1021. root.AppendChild(doc, "ignoretrailers", ignoretrailers) 'set from frmOptions - obsolete
  1022. root.AppendChild(doc, "moviescraper", moviescraper) 'set from frmOptions - obsolete
  1023. root.AppendChild(doc, "nfoposterscraper", nfoposterscraper) 'IMPA_chk,mpdb_chk,tmdb_chk,imdb_chk
  1024. root.AppendChild(doc, "alwaysuseimdbid", alwaysuseimdbid) 'set from frmOptions - obsolete
  1025. root.AppendChild(doc, "ignoreactorthumbs", ignoreactorthumbs) 'set from frmOptions - obsolete
  1026. root.AppendChild(doc, "maxactors", maxactors) 'ComboBox7
  1027. root.AppendChild(doc, "MovTagBlacklist", MovTagBlacklist) 'tb_MovTagBlacklist
  1028. root.AppendChild(doc, "maxmoviegenre", maxmoviegenre) 'cmbxMovScraper_MaxGenres
  1029. root.AppendChild(doc, "enablehdtags", enablehdtags) 'CheckBox19
  1030. root.AppendChild(doc, "MovDurationAsRuntine", MovDurationAsRuntine) 'cb_MovDurationAsRuntine
  1031. root.AppendChild(doc, "MovRuntimeAsDuration", MovRuntimeAsDuration) 'cb_MovRuntimeAsDuration
  1032. root.AppendChild(doc, "movieruntimedisplay", movieRuntimeDisplay) 'rbRuntimeScraper
  1033. root.AppendChild(doc, "movieRuntimeFallbackToFile", movieRuntimeFallbackToFile) 'cbMovieRuntimeFallbackToFile
  1034. root.AppendChild(doc, "fanartnotstacked", fanartnotstacked) 'set fr…

Large files files are truncated, but you can click here to view the full file