diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..53ee83f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,27 @@
+# Gradle
+.gradle
+
+# Generated files
+/build
+
+# IntelliJ
+*.iml
+*.ipr
+*.iws
+.idea/
+#/.idea/workspace.xml
+#/.idea/libraries
+
+# Local configuration file (sdk path, etc)
+local.properties
+app/keystore.properties
+
+# Keystores
+*.keystore
+*.jks
+
+# Windows
+.DS_Store
+
+# Linux
+*~
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..a43febc
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,25 @@
+language: android
+jdk: oraclejdk17
+sudo: false
+
+env:
+ matrix:
+ - ANDROID_TARGET=android-32
+ global:
+ - GRADLE_OPTS="-Xms128m"
+
+android:
+ components:
+ # needed build tools
+ - build-tools-32.0.0
+
+ # The SDK version used to compile your project
+ - android-32
+
+ # extra needed components
+ - extra-android-m2repository
+
+before_script:
+
+script:
+ - ./gradlew assembleRelease lintRelease testDebugUnitTest
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..1f61329
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,202 @@
+Changelog
+---------
+
+Version 3.1.0
+-------------
+Minor update, primarily aimed at ensuring Kore remains up to date with the latest Android versions, while also addressing a few bugs along the way.
+
+Version 3.0.0
+-------------
+Major changes in this version, bringing Kore up to date with the current Android platform (well, except for migrating to Kotlin, which to be honest wouldn't bring that much benefits, given that only replacing the syntax without taking advantage of the newer facilities provided by Kotlin/Android wouldn't bring major benefits).
+Anyway, the major changes since the last version are:
+- Migrate to Android's Material 3 UI guidelines, namely:
+ - Review themes and colors, adding support for light and dark modes based on the device's settings
+ - Add support for dynamic colors, which change depending on the user's wallpaper (on Android 12+)
+ - Use images with round corners and update buttons, text boxes, etc to current standards
+- Update media notifications and integrate them with Android's Media Session.
+ Note: if the media notification disappears after a few minutes, even though something is playing on Kodi, that's caused by the some aggressive battery optimization settings which forcefully stop the notification. This happens with some manufaturers that don't follow Android's guidelines, in a futile and artificial attempt to extent the battery life (Xiaomi, OnePlus, Samsung, etc), and the solution is to not restrict Kore's battery usage (the way to do it depends on the specific device, more info can be obtained at https://dontkillmyapp.com/)
+- Redesign most of Kore's screens, the major changes being:
+ - The Remote screen, adding the current playback state and better media controls allow for more control of what's playing
+ - The Now Playing panel, adding the current playback state and media control buttons
+ - The Movies, TV Shows, Music and Addons information screens, doing a complete redesign, particularly on the button actions section. The IMDb link has been removed as it was seldom broken and replaced with a generic Google search, where appropriate.
+ Note, the "Play locally" function is now called "Stream", which is more appropriate and concise
+ - The Artist details screen, to show the artist albums beneath its general information
+ - Review all icons, updating them to current ones
+ - Improve showing the connection status (connecting, not connected or connected) on the various screens
+ - Make top app bar collapsable, and on the remote screen allow the background image to use up all the screen
+- Improve the screen transitions
+- Fix access to media storage in current Android versions
+- General code cleaning, remove deprecated code and update current library versions
+- Lots of other small bug fixes
+
+
+Version 2.5.3
+-------------
+- Add support for SendToKodi
+- Add support for sharing from Twitch
+- Allow to disable direct share on a per host basis
+- Bug fixes, specifically issues with thumbnails on Kodi Matrix and errors that prevented downloading files from Kodi
+
+Version 2.5.1
+-------------
+- Add support for sharing from Arte video (The European Culture Channel) to Kodi
+- Add support for sharing from Amazon Prime Videos
+- Fix download of media files
+- Support local play of items in the "Files" section
+- Various improvments and bug fixes: Fix "Play from here" in the "Files" section, refresh of playlists in the remote, sharing local filenames with spaces in the name, support for self-signed certificates, remember last used tab, etc.
+
+Version 2.5.0
+-------------
+- Include search option in PVR section
+- Allow sorting PVR recordings and optionally hiding watched items
+- Added support for sharing local files to Kodi, either by going into the side menu option "Local Files", or by choosing Kore as the share target (when accessing the file, for instance via a file browser)
+- Allow changing Kore's language in Settings
+- Add support to sharing from Soundcloud to Kodi
+- New sort option for albums, movies and tv shows: by year
+- Added new color themes (Sunrise and Sunset) and tweaked the others
+- Scroll titles, when these are too long to fit (in the Now Playing and Info screens)
+- Kore now shows all the available playlists, even when nothing's playing
+- Update notifications to use the default Android style
+- Movie ratings added to movie list
+- New translations (Korean, Slovak)
+- Bug fixes and UI tweaks
+
+Version 2.4.7
+-------------
+- Improved addons list
+- Enable direct sharing of a URL to a specific host
+- Bug fixes and UI tweaks
+
+Version 2.4.4
+-------------
+- Enable playing movies locally on device
+- Add new setting to use skip steps instead of seeking in the notification
+- Improve sharing from youtube
+- Bug fixes and UI tweaks
+
+Version 2.3.3
+-------------
+- Fixes for Android Oreo
+- Make control pad scalable on smaller devices
+- Improve showing text with markup codes on the Now Playing and PVR sections
+- Handle playlists shared from YouTube app
+- Option to use volume hardware keys anywhere inside Kore
+- Bug fixes
+
+Version 2.3.2
+-------------
+- New slide up panel with media controls on information screens
+- Added new Favourites section to the navigation side panel
+- Remote bottom bar shortcuts now configurable through Settings
+- Added watched indicator to movies and tv shows list
+- Various UI tweaks, including new colors and icons
+- Bug fixes
+
+Version 2.2.0
+-------------
+- Redesign settings screen
+- Redesign TV show details to include next episodes and seasons list
+- Show volume level on the Now Playing screen
+- Added various new sort options on movies, TV shows and albums lists
+- Improved songs list, showing the artist name on each song
+- Support sharing to Kodi plain video urls
+- New option: keep screen on when using the remote
+- Various UI tweaks
+- Bug fixes
+
+Version 2.1.0
+-------------
+- Add songs tab on Music section and Artist section and support for showing songs without album or artist
+- Add addon browsing
+- Show artist details when an artist is selected from the list
+- New option: pause playing when in a phone call (requires permission to phone state on Android versions < 6.0)
+- New option: keep the remote above the lockscreen
+- Support for playing Vimeo URLs
+- Improve library syncing
+- Various UI tweaks
+- Bug fixes
+
+Version 2.0.0
+-------------
+- PVR support
+- New animations on transitions from list to details screens
+- Added option to play/queue entire album, artist or genre
+- Improve library syncing
+- Various tweaks
+- Bug fixes
+
+Version 1.5.0
+-------------
+- D-pad buttons can skip forward/backward when media is playing (if EventServer is enabled in the media center's configuration, and accessible in Kodi)
+- Added new screen to show all cast in movies and tv shows
+- Added vibration option to d-pad buttons
+- Add stop button to remote screen
+- Fix youtube share behaviour
+- Czech translation
+- Simplified Chinese translation
+- Russian translation
+- Basque translation
+- Spanish translation
+- Bug fixes
+
+Version 1.4.0
+-------------
+- Added support for sharing from youtube app to Kodi
+- Visual tweaks
+- Bug fixes
+
+Version 1.3.0
+-------------
+- Remote redesign
+- File browsing
+- Fix Wake on Lan issues
+- Bug fixes
+
+Version 1.2.1
+-------------
+- Fix subtitle selection
+
+Version 1.2.0
+-------------
+- Prepare for Official Remote status
+
+Version 1.1
+-----------
+- Brazilian Portuguese translation (by Rafael Rosário @rafaelricado)
+
+
+Version 1.1.0
+-------------
+- Replace Codec button with Context button on remote. Codec info is now available through a long click on Info button
+- Added now playing notification
+- Use hardware volume keys to control volume
+- Italian translation (by Enrico Strocchi)
+- Improved music library sync
+- Visual tweaks
+
+Version 1.0.1
+-------------
+- Fixed bug with In-app purchase key that was crashing Settings screen
+
+Version 1.0.0
+-------------
+- New options to sort movies and tv shows
+- Bulgarian translation (by NEOhidra)
+- German translation (by jonas2515)
+
+Version 0.9.2
+-------------
+- Added new actions in remote: update/clean library and toggle fullscreen
+- French translation (thanks Kowalski!)
+- Bug fixes and visual tweaks
+
+Version 0.9.1
+-------------
+- Improved library sync;
+- Automatically switch to remove after media start;
+- Visual tweaks.
+
+Version 0.9.0
+-------------
+- First version
+
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..c40686d
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,41 @@
+# Usage: docker build -t kore:latest .
+# docker run -it -v $(pwd):/opt/kore kore:latest bash
+# gradle
+FROM ubuntu:20.04
+
+# Install Java
+ARG JDK_VERSION=17
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends openjdk-${JDK_VERSION}-jdk && \
+ apt-get install -y --no-install-recommends git wget unzip
+
+# Install Gradle
+# https://services.gradle.org/distributions/
+ARG GRADLE_VERSION=8.4
+ARG GRADLE_DIST=bin
+RUN cd /opt && \
+ wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-${GRADLE_DIST}.zip && \
+ unzip gradle*.zip && \
+ ls -d */ | sed 's/\/*$//g' | xargs -I{} mv {} gradle && \
+ rm gradle*.zip
+
+# Install Android SDK and build-tools
+# https://developer.android.com/studio#command-tools
+ARG ANDROID_SDK_VERSION=8512546
+ENV ANDROID_SDK_ROOT /opt/android/sdk
+RUN mkdir -p ${ANDROID_SDK_ROOT}/tools && \
+ wget -q https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VERSION}_latest.zip && \
+ unzip *tools*linux*.zip -d ${ANDROID_SDK_ROOT} && \
+ rm /commandlinetools*linux*.zip
+
+# Install Android build-tools (should match version in ./app/build.gradle)
+ARG ANDROID_BUILD_TOOLS_VERSION=32.0.0
+RUN yes Y | /opt/android/sdk/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} --install "build-tools;${ANDROID_BUILD_TOOLS_VERSION}"
+RUN yes Y | /opt/android/sdk/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} --licenses
+
+# Set the environment variables
+ENV JAVA_HOME /usr/lib/jvm/java-${JDK_VERSION}-openjdk-amd64
+ENV GRADLE_HOME /opt/gradle
+ENV PATH ${PATH}:${GRADLE_HOME}/bin:${ANDROID_SDK_ROOT}/cmdline-tools/bin:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/platform-tools:${ANDROID_SDK_ROOT}/build-tools/${ANDROID_BUILD_TOOLS_VERSION}
+
+WORKDIR /opt/kore
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/README.md b/README.md
index 00994ce..b22a0ee 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,79 @@
-# kore
+[](https://github.com/xbmc/Kore/actions/workflows/build.yml)
+[](https://kodi.weblate.cloud/engage/kodi-remotes/)
-Android Remote for Kodi Media Center
\ No newline at end of file
+
+
+
+
+
+
+
+# Kore - Kodi/XBMC remote for Android
+
+GitHub repository for the [Kore][1] Android app.
+
+Kore is the official remote for [Kodi](http://kodi.tv/), and aims to be a simple and easy to use remote.
+
+
+## Building
+
+1. Make sure you have a working [Android build system](http://developer.android.com/sdk/installing/studio-build.html);
+2. The version of Android SDK and Build Tools needed is specified in app/build.gradle. Make sure you have them installed;
+3. Install the version of [Android support library](http://developer.android.com/tools/support-library/setup.html) that is specified in app/gradle (dependencies section);
+4. Git pull
+5. Gradle should be able to fetch all the other needed libraries.
+
+## Testing
+
+1. Make sure you are able to build Kore as described in the previous section.
+2. To run the local tests see [README](https://github.com/xbmc/Kore/blob/master/app/src/test/README.md)
+3. To run the instrumented tests see [README](https://github.com/xbmc/Kore/blob/master/app/src/androidTest/README.md)
+
+We use [GitHub Actions](https://github.com/xbmc/Kore/actions) to automatically build and run the local tests for each pull request.
+
+## Using Docker
+
+1. Make sure you have a working [Docker installation](https://docs.docker.com/docker-for-windows/install/);
+2. Check out the repository
+3. Build the container image: `docker build -t kore:latest .`
+4. Start container: `docker run -it -v $(pwd):/opt/kore kore:latest bash`
+
+For listing all tasks, run `gradle tasks`, for building the app, execute `gradle assembleRelease`.
+If you want to run tests, execute `gradle testDebugUnitTest`.
+
+## Credits
+
+**Libraries used**
+- [Jackson](https://github.com/FasterXML/jackson)
+- [Picasso](http://square.github.io/picasso/)
+- [OkHttp](http://square.github.io/okhttp/)
+- [EventBus](https://github.com/greenrobot/EventBus)
+- [JmDNS](https://github.com/jmdns/jmdns)
+- [ExpandableTextView](https://github.com/Blogcat/Android-ExpandableTextView)
+
+## Links
+
+- [Kodi forum thread](http://forum.kodi.tv/forumdisplay.php?fid=129)
+- [F-Droid](https://f-droid.org/repository/browse/?fdid=org.xbmc.kore)
+- [Google Play][1]
+- [Google+ community](https://plus.google.com/communities/115506510322045554124)
+
+## License
+
+ Copyright 2022 XBMC Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+Google Play and the Google Play logo are trademarks of Google Inc.
+
+[1]: https://play.google.com/store/apps/details?id=org.xbmc.kore
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..fc5cefd
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,173 @@
+apply plugin: 'com.android.application'
+
+def getVersionName = { ->
+ def stdout = new ByteArrayOutputStream()
+ exec {
+ commandLine 'git', 'describe', '--tags', '--always'
+ standardOutput = stdout
+ }
+ return stdout.toString().trim()
+}
+
+android {
+ compileSdk 34
+
+ defaultConfig {
+ applicationId "org.xbmc.kore"
+ minSdkVersion 24
+ targetSdkVersion 34
+ versionCode 33
+ versionName = getVersionName()
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
+
+ def supportedLocales = ["en",
+ "af-za", "ast", "be-by", "bg", "ca", "cs", "da-dk", "de",
+ "es", "es-MX", "eu", "fi", "fr", "hr", "hu", "it", "iw", "ja",
+ "ko", "lt", "nl", "pl", "pt", "pt-BR", "ru", "sk", "sl", "zh-CN"]
+ buildConfigField "String[]", "SUPPORTED_LOCALES", "new String[]{\""+
+ supportedLocales.join("\",\"")+"\"}"
+ }
+
+ signingConfigs {
+ release {
+ if (System.getenv("KODI_ANDROID_STORE_FILE") != null) {
+ keyAlias System.getenv("KODI_ANDROID_KEY_ALIAS")
+ keyPassword System.getenv("KODI_ANDROID_KEY_PASSWORD")
+ storeFile file(System.getenv("KODI_ANDROID_STORE_FILE"))
+ storePassword System.getenv("KODI_ANDROID_STORE_PASSWORD")
+ enableV1Signing true
+ enableV2Signing true
+ enableV3Signing true
+ }
+ }
+ }
+
+ testOptions {
+ execution 'ANDROIDX_TEST_ORCHESTRATOR'
+ unitTests {
+ includeAndroidResources = true
+ }
+ }
+
+ buildTypes {
+ release {
+ if (System.getenv("KODI_ANDROID_STORE_FILE") != null) {
+ signingConfig signingConfigs.release
+ zipAlignEnabled true
+ }
+ minifyEnabled true
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ buildFeatures {
+ viewBinding true
+ }
+
+ packagingOptions {
+ resources {
+ excludes += ['META-INF/DEPENDENCIES', 'META-INF/NOTICE', 'META-INF/LICENSE', 'META-INF/LICENSE.txt', 'META-INF/NOTICE.txt']
+ }
+ }
+
+ lint {
+ // Too much trouble keeping all translations in sync
+ disable 'MissingTranslation'
+ }
+
+ bundle {
+ language {
+ enableSplit = false
+ }
+ }
+ namespace 'org.xbmc.kore'
+
+}
+
+java {
+ toolchain {
+ languageVersion = JavaLanguageVersion.of(17)
+ }
+}
+
+ext {
+ supportLibVersion = '28.0.0'
+}
+
+dependencies {
+ implementation 'com.google.android.material:material:1.10.0'
+ implementation 'androidx.preference:preference:1.2.1'
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'androidx.recyclerview:recyclerview:1.3.2'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation('androidx.core:core-google-shortcuts:1.1.0') {
+ exclude group:'com.google.android.gms'
+ }
+ implementation 'androidx.media:media:1.6.0'
+ implementation "androidx.viewpager2:viewpager2:1.1.0-beta02"
+ implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
+
+ implementation "androidx.fragment:fragment:1.6.2"
+ implementation "androidx.fragment:fragment-ktx:1.6.2"
+
+// Dependency resolution
+ implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2"
+ implementation "androidx.lifecycle:lifecycle-viewmodel:2.6.2"
+
+ // Jackson v2.13 kept. v2.14 and later require minSDK >= 26
+ // https://github.com/FasterXML/jackson/wiki/Jackson-Releases
+ implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.5'
+ implementation 'com.squareup.okhttp3:okhttp:4.12.0'
+ // Ignore the new version warning as it refers to v2.71... which is older on maven
+ implementation 'com.squareup.picasso:picasso:2.8'
+ implementation 'org.greenrobot:eventbus:3.3.1'
+ implementation 'org.jmdns:jmdns:3.5.8'
+ implementation 'at.blogc:expandabletextview:1.0.5'
+ implementation 'com.simplecityapps:recyclerview-fastscroll:2.0.1'
+ implementation 'org.nanohttpd:nanohttpd:2.3.1'
+
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+
+ androidTestImplementation 'androidx.test.ext:junit:1.1.5'
+ androidTestImplementation 'androidx.test:rules:1.5.0'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.5.1'
+ androidTestImplementation 'androidx.legacy:legacy-support-v13:1.0.0'
+ androidTestImplementation 'org.hamcrest:hamcrest-library:2.2'
+ androidTestImplementation 'junit:junit:4.13.2'
+ androidTestUtil 'androidx.test:orchestrator:1.4.2'
+
+ testImplementation 'org.robolectric:robolectric:4.8.1'
+ testImplementation 'androidx.test:core:1.5.0'
+ testImplementation 'androidx.test.ext:junit:1.1.5'
+ debugImplementation 'junit:junit:4.13.2'
+}
+
+def adb = android.getAdbExecutable().toString()
+afterEvaluate {
+ tasks.register('grantAnimationPermissionDev', Exec) {
+ dependsOn installDebug
+ doFirst {
+ println("Executing: $adb shell pm grant $android.defaultConfig.applicationId android.permission.SET_ANIMATION_SCALE")
+ commandLine "$adb shell pm grant $android.defaultConfig.applicationId android.permission.SET_ANIMATION_SCALE".split(' ')
+ }
+ }
+ tasks.each { task ->
+ if (task.name.startsWith('connectedDebugAndroidTest')) {
+ task.dependsOn grantAnimationPermissionDev
+ }
+ }
+}
+
+/**
+ * Makes sure assets are copied before running the unit tests
+ */
+tasks.configureEach { task ->
+ if (task.name.contains("testDebugUnitTest")) {
+ task.dependsOn assembleDebug
+ }
+}
+
+tasks.withType(JavaCompile).configureEach {
+ options.compilerArgs << '-Xlint:unchecked' // << '-Xlint:deprecation'
+}
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..77bbdd5
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,44 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /opt/android-sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# Don't obfuscate for now. Obfuscation decreases apk size by about 300k
+-dontobfuscate
+
+# Picasso
+-dontwarn com.squareup.okhttp.**
+
+# okio via OkHttp
+-dontwarn okio.**
+
+# Jackson
+-dontskipnonpubliclibraryclassmembers
+-keepattributes EnclosingMethod, Signature
+#-keep class org.codehaus.** { *; }
+-keepnames class com.fasterxml.jackson.** { *; }
+-dontwarn com.fasterxml.jackson.databind.**
+
+# EventBus
+-keepclassmembers class ** {
+ public void onEvent*(**);
+}
+
+# SearchView
+-keep class androidx.appcompat.widget.SearchView { *; }
+
+#JmDNS
+-dontwarn org.slf4j.*
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/app/src/androidTest/README.md b/app/src/androidTest/README.md
new file mode 100644
index 0000000..a03fa54
--- /dev/null
+++ b/app/src/androidTest/README.md
@@ -0,0 +1,19 @@
+Integration tests that need to be executed on an Android device.
+
+## Run tests
+
+You can run the tests as follows:
+
+### Android Studio
+
+1. Select build variant "instrumentationTestDebug"
+2. Set the [Project view](https://developer.android.com/studio/projects/index.html) to Android
+3. Right-click on the directory "androidTest" and select "Run tests"
+
+### Commandline
+
+Run the following command from the top of the project:
+
+ ./gradlew connectedInstrumentationTestDebugAndroidTest
+
+This will run the tests on all connected devices in parallel
\ No newline at end of file
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/EspressoTestUtils.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/EspressoTestUtils.java
new file mode 100644
index 0000000..5907e45
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/EspressoTestUtils.java
@@ -0,0 +1,372 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testhelpers;
+
+import android.app.Activity;
+import android.content.pm.ActivityInfo;
+import android.content.res.Configuration;
+import android.view.View;
+import android.widget.AutoCompleteTextView;
+import android.widget.TextView;
+
+import androidx.test.espresso.Espresso;
+import androidx.test.espresso.NoMatchingViewException;
+import androidx.test.espresso.UiController;
+import androidx.test.espresso.ViewAction;
+import androidx.test.espresso.ViewInteraction;
+import androidx.test.espresso.contrib.RecyclerViewActions;
+
+import com.sothree.slidinguppanel.SlidingUpPanelLayout;
+
+import org.hamcrest.Matcher;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.action.ViewActions;
+import org.xbmc.kore.ui.widgets.NowPlayingPanel;
+
+import static androidx.test.espresso.Espresso.onData;
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
+import static androidx.test.espresso.Espresso.pressBack;
+import static androidx.test.espresso.action.ViewActions.clearText;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
+import static androidx.test.espresso.action.ViewActions.typeText;
+import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
+import static androidx.test.espresso.matcher.ViewMatchers.isAssignableFrom;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
+import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withParent;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.CoreMatchers.anything;
+import static org.hamcrest.Matchers.allOf;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.xbmc.kore.testhelpers.action.ViewActions.clearFocus;
+
+public class EspressoTestUtils {
+
+ public static void rotateDevice(Activity activity) {
+ int orientation
+ = activity.getResources().getConfiguration().orientation;
+ activity.setRequestedOrientation(
+ (orientation == Configuration.ORIENTATION_PORTRAIT) ?
+ ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :
+ ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+ }
+
+ /**
+ * Clicks a menu item regardless if it is in the overflow menu or
+ * visible as icon in the action bar
+ * @param activity
+ * @param name Name of the menu item in the overflow menu
+ * @param resourceId Resource identifier of the menu item
+ */
+ public static void clickMenuItem(Activity activity, String name, int resourceId) {
+ try {
+ onView(withId(resourceId)).perform(click());
+ } catch (NoMatchingViewException e) {
+ openActionBarOverflowOrOptionsMenu(activity);
+ //Use onData as item might not be visible in the View without scrolling
+ onData(allOf(
+ Matchers.withMenuTitle(name)))
+ .perform(click());
+ }
+ }
+
+ /**
+ * Clicks the arrow button in the toolbar when its function is collapsing a view. For instance,
+ * collapse the search view in the toolbar.
+ */
+ public static void clickToolbarCollapseButton() {
+ /**
+ * The image button in the toolbar used as home/collapse/back button has no ID we can use.
+ * In appcompat v7 the arrow button in the toolbar used to collapse a search view has a
+ * description "Collapse". We use this to find the button in the view and perform the click
+ * action.
+ */
+ onView(withContentDescription("Collapse")).perform(click());
+ }
+
+ /**
+ * Clicks the button with given resourceId and checks if the
+ * button is displayed. As we occasionally use the same identifiers
+ * in multiple fragments, we need to check if it is visible as well
+ * to prevent Espresso from finding multiple views that match the
+ * resource identifier.
+ * @param resourceId
+ */
+ public static void clickButton(int resourceId) {
+ onView(allOf(withId(resourceId), isDisplayed())).perform(click());
+ }
+
+ /**
+ * Clicks on the search menu item and enters the given search query
+ * @param activity
+ * @param query
+ */
+ public static void enterSearchQuery(Activity activity, String query) {
+ EspressoTestUtils.clickMenuItem(activity, activity.getString(R.string.action_search), R.id.action_search);
+
+ onView(isAssignableFrom(AutoCompleteTextView.class))
+ .perform(click(), typeText(query), closeSoftKeyboard());
+ onView(isRoot()).perform(clearFocus());
+ }
+
+ /**
+ * Clicks on the search menu item and clears the search query by entering the empty string
+ * @param activity
+ */
+ public static void clearSearchQuery(Activity activity) {
+ EspressoTestUtils.clickMenuItem(activity, activity.getString(R.string.action_search), R.id.action_search);
+
+ onView(isAssignableFrom(AutoCompleteTextView.class))
+ .perform(click(), clearText(), closeSoftKeyboard());
+ }
+
+ /**
+ * Clears the search query by pressing the X button
+ * @param activity
+ */
+ public static void clearSearchQueryXButton(Activity activity) {
+ try {
+ onView(withId(R.id.search_close_btn)).perform(click());
+ } catch (NoMatchingViewException e) {
+ EspressoTestUtils.clickMenuItem(activity, activity.getString(R.string.action_search), R.id.action_search);
+ onView(withId(R.id.search_close_btn)).perform(click());
+ }
+ Espresso.closeSoftKeyboard();
+ }
+
+ /**
+ * Performs a click on an item in an adapter view, such as GridView or ListView
+ * @param position
+ * @param resourceId of adapter view holding the item that should be clicked
+ */
+ public static void clickAdapterViewItem(int position, int resourceId) {
+ onData(anything()).inAdapterView(allOf(withId(resourceId), isDisplayed()))
+ .atPosition(position).perform(click());
+ }
+
+
+ public static void clickRecyclerViewItem(int position, int resourceId) {
+ onView(withId(resourceId)).perform(RecyclerViewActions.actionOnItemAtPosition(position, click()));
+ }
+
+ public static void clickRecyclerViewItem(String text, int resourceId) {
+ ViewInteraction viewInteraction = onView(allOf(withId(resourceId),
+ hasDescendant(withText(containsString(text))),
+ isDisplayed()));
+ viewInteraction.perform(RecyclerViewActions.scrollTo(hasDescendant(withText(containsString(text)))));
+ viewInteraction.perform(RecyclerViewActions.actionOnItem(hasDescendant(withText(containsString(text))),
+ click()));
+ }
+
+ /**
+ * Checks that SearchView contains the given text
+ * @param query text that SearchView should contain
+ */
+ public static void checkTextInSearchQuery(String query) {
+ onView(isAssignableFrom(AutoCompleteTextView.class)).check(matches(withText(query)));
+ }
+
+ /**
+ * Checks that the list contains item(s) matching search query
+ * @param query text each element must contain
+ * @param listSize amount of elements expected in list
+ * @param resourceId resource identifier or list view
+ */
+ public static void checkListMatchesSearchQuery(String query, int listSize, int resourceId) {
+ onView(isRoot()).perform(ViewActions.waitForView(resourceId, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return v.isShown();
+ }
+ }, 10000));
+
+ onView(allOf(withId(resourceId), isDisplayed()))
+ .check(matches(Matchers.withOnlyMatchingDataItems(hasDescendant(withText(containsString(query))))));
+ checkRecyclerViewListsize(listSize, resourceId);
+ }
+
+ /**
+ * Checks that the list size matches the given list size
+ * @param listSize amount of elements expected in list
+ */
+ public static void checkRecyclerViewListsize(int listSize, int resourceId) {
+ onView(allOf(withId(resourceId), isDisplayed()))
+ .check(matches(Matchers.withRecyclerViewSize(listSize)));
+ }
+
+ /**
+ * Checks that the list size matches the given list size
+ * @param listSize amount of elements expected in list
+ */
+ public static void checkListViewSize(int listSize, int resourceId) {
+ onView(allOf(withId(resourceId), isDisplayed()))
+ .check(matches(Matchers.withListViewSize(listSize)));
+ }
+
+ /**
+ * Checks if search action view does not exist in the current view hierarchy
+ */
+ public static void checkSearchMenuCollapsed() {
+ onView(isAssignableFrom(AutoCompleteTextView.class)).check(doesNotExist());
+ }
+
+ /**
+ * Returns the current active activity. Use this when the originally started activity
+ * started a new activity and you need the reference to the new activity.
+ * @return reference to the current active activity
+ */
+ public static Activity getActivity() {
+ final Activity[] activity = new Activity[1];
+ onView(allOf(withId(android.R.id.content), isDisplayed())).perform(new ViewAction() {
+ @Override
+ public Matcher getConstraints() {
+ return isAssignableFrom(View.class);
+ }
+
+ @Override
+ public String getDescription() {
+ return "getting current activity";
+ }
+
+ @Override
+ public void perform(UiController uiController, View view) {
+ if (view.getContext() instanceof Activity) {
+ activity[0] = ((Activity)view.getContext());
+ }
+ }
+ });
+ return activity[0];
+ }
+
+ /**
+ * Clicks on tab that contains the text given by stringResourceId.
+ * @param stringResourceId text displayed in Tab that should be clicked
+ */
+ public static void clickTab(int stringResourceId) {
+ onView(withId(R.id.tab_layout)).perform(ViewActions.setCurrentViewPagerItem(stringResourceId));
+ }
+
+ /**
+ * Clicks the album tab in the music activity
+ */
+ public static void clickAlbumsTab() {
+ clickTab(R.string.albums);
+ }
+
+ /**
+ * Clicks the artists tab in the music activity
+ */
+ public static void clickArtistsTab() {
+ clickTab(R.string.artists);
+ }
+
+ /**
+ * Clicks the genres tab in the music activity
+ */
+ public static void clickGenresTab() {
+ clickTab(R.string.genres);
+ }
+
+ /**
+ * Clicks the music videos tab in the music activity
+ */
+ public static void clickMusicVideosTab() {
+ clickTab(R.string.videos);
+ }
+
+ /**
+ * Selects an item in the list, then presses back and checks the action bar title
+ * @param item number (0 is first item) of the item that should be pressed
+ * @param listResourceId Resource identifier of the AdapterView
+ * @param actionbarTitle title that should be displayed in the action bar after pressing back
+ */
+ public static void selectListItemPressBackAndCheckActionbarTitle(int item,
+ int listResourceId,
+ String actionbarTitle) {
+ EspressoTestUtils.clickRecyclerViewItem(item, listResourceId);
+ pressBack();
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(actionbarTitle)));
+ }
+
+ /**
+ * Selects an item in the list, then presses back and checks the action bar title
+ * @param itemText the text the item that must be pressed should contain
+ * @param listResourceId Resource identifier of the AdapterView
+ * @param actionbarTitle title that should be displayed in the action bar after pressing back
+ */
+ public static void selectListItemPressBackAndCheckActionbarTitle(String itemText,
+ int listResourceId,
+ String actionbarTitle) {
+ EspressoTestUtils.clickRecyclerViewItem(itemText, listResourceId);
+ pressBack();
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(containsString(actionbarTitle))));
+ }
+
+ /**
+ * Selects an item in the list, then rotates the device and checks the action bar title
+ * @param itemText the text the item that must be pressed should contain
+ * @param listResourceId Resource identifier of the AdapterView
+ * @param actionbarTitle title that should be displayed in the action bar after rotating
+ */
+ public static void selectListItemRotateDeviceAndCheckActionbarTitle(String itemText,
+ int listResourceId,
+ final String actionbarTitle,
+ Activity activity) {
+ EspressoTestUtils.clickRecyclerViewItem(itemText, listResourceId);
+ EspressoTestUtils.rotateDevice(activity);
+
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(containsString(actionbarTitle))));
+ }
+
+ /**
+ * Selects an item in the list and then checks the action bar title
+ * @param itemText the text the item that must be pressed should contain
+ * @param listResourceId Resource identifier of the AdapterView
+ * @param actionbarTitle title that should be displayed in the action bar after selecting item
+ */
+ public static void selectListItemAndCheckActionbarTitle(String itemText,
+ int listResourceId,
+ String actionbarTitle) {
+ EspressoTestUtils.clickRecyclerViewItem(itemText, listResourceId);
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(actionbarTitle)));
+ }
+
+ /**
+ * Waits for 10 seconds till panel has given state.
+ *
+ * @param panelState desired state of panel
+ */
+ public static void waitForPanelState(final int panelState) {
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.now_playing_panel, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((NowPlayingPanel)v).getPanelState() == panelState;
+ }
+ }, 10000));
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/LoaderIdlingResource.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/LoaderIdlingResource.java
new file mode 100644
index 0000000..4d1524f
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/LoaderIdlingResource.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testhelpers;
+
+import androidx.loader.app.LoaderManager;
+import androidx.test.espresso.IdlingResource;
+
+public class LoaderIdlingResource implements IdlingResource {
+
+ private ResourceCallback mResourceCallback;
+ private LoaderManager loaderManager;
+
+ public LoaderIdlingResource(LoaderManager loaderManager) {
+ this.loaderManager = loaderManager;
+ }
+
+ @Override
+ public String getName() {
+ return LoaderIdlingResource.class.getName();
+ }
+
+ @Override
+ public boolean isIdleNow() {
+ boolean idle = !loaderManager.hasRunningLoaders();
+ if (idle && mResourceCallback != null) {
+ mResourceCallback.onTransitionToIdle();
+ }
+ return idle;
+ }
+
+ @Override
+ public void registerIdleTransitionCallback(ResourceCallback resourceCallback) {
+ mResourceCallback = resourceCallback;
+ }
+}
\ No newline at end of file
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/Matchers.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/Matchers.java
new file mode 100644
index 0000000..49cced1
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/Matchers.java
@@ -0,0 +1,217 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testhelpers;
+
+import android.database.Cursor;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.ListView;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.test.espresso.matcher.BoundedMatcher;
+import androidx.test.espresso.matcher.CursorMatchers;
+
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
+import org.xbmc.kore.ui.widgets.HighlightButton;
+import org.xbmc.kore.ui.widgets.RepeatModeButton;
+import org.xbmc.kore.utils.UIUtils;
+
+public class Matchers {
+ public static MenuItemTitleMatcher withMenuTitle(String title) {
+ return new MenuItemTitleMatcher(title);
+ }
+
+ public static class MenuItemTitleMatcher extends BaseMatcher {
+ private final String title;
+ public MenuItemTitleMatcher(String title) { this.title = title; }
+
+ @Override
+ public boolean matches(Object o) {
+ if (o instanceof MenuItem) {
+ return ((MenuItem) o).getTitle().equals(title);
+ }
+ return false;
+ }
+ @Override
+ public void describeTo(Description description) { }
+ }
+
+ public static Matcher withListViewSize(final int size) {
+ return new TypeSafeMatcher() {
+ @Override public boolean matchesSafely(final View view) {
+ return (view instanceof ListView) &&
+ ((ListView) view).getAdapter().getCount() == size;
+ }
+
+ @Override public void describeTo(final Description description) {
+ description.appendText("List should have " + size + " item(s)");
+ }
+ };
+ }
+
+ public static Matcher withRecyclerViewSize(final int size) {
+ return new TypeSafeMatcher() {
+ @Override
+ protected boolean matchesSafely(View view) {
+ return (view instanceof RecyclerView) &&
+ ((RecyclerView) view).getAdapter().getItemCount() == size;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("RecyclerView should have " + size + " item(s)");
+ }
+ };
+ }
+
+ public static Matcher withOnlyMatchingDataItems(final Matcher dataMatcher) {
+ return new TypeSafeMatcher() {
+ @Override
+ protected boolean matchesSafely(View view) {
+ if (!(view instanceof RecyclerView))
+ return false;
+
+ RecyclerView recyclerView = (RecyclerView) view;
+ for (int i = 0; i < recyclerView.getChildCount(); i++) {
+ RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForAdapterPosition(i);
+ if (! dataMatcher.matches(viewHolder.itemView)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("withOnlyMatchingDataItems: ");
+ dataMatcher.describeTo(description);
+ }
+ };
+ }
+
+ public static Matcher withItemContent(final Matcher textMatcher) {
+ return new BoundedMatcher(Cursor.class) {
+ @Override
+ protected boolean matchesSafely(Cursor item) {
+ for (int i = 0; i < item.getColumnCount();i++) {
+ switch (item.getType(i)) {
+ case Cursor.FIELD_TYPE_STRING:
+ if (CursorMatchers.withRowString(i, textMatcher).matches(item))
+ return true;
+ break;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("withItemContent: ");
+ textMatcher.describeTo(description);
+ }
+ };
+ }
+
+ public static Matcher withProgress(final int progress) {
+ return new BoundedMatcher(SeekBar.class) {
+ @Override
+ protected boolean matchesSafely(SeekBar item) {
+ return item.getProgress() == progress;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("expected: " + progress);
+ }
+ };
+ }
+
+ public static Matcher withProgress(final String progress) {
+ return new BoundedMatcher(TextView.class) {
+ @Override
+ protected boolean matchesSafely(TextView item) {
+ return progress.contentEquals(item.getText());
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("expected: " + progress);
+ }
+ };
+ }
+
+ public static Matcher withProgressGreaterThanOrEqual(final String time) {
+ return new BoundedMatcher(SeekBar.class) {
+ @Override
+ protected boolean matchesSafely(SeekBar item) {
+ return item.getProgress() >= UIUtils.timeToSeconds(time);
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("expected progress greater than " + time);
+ }
+ };
+ }
+
+ public static Matcher withProgressGreaterThan(final int progress) {
+ return new BoundedMatcher(SeekBar.class) {
+ @Override
+ protected boolean matchesSafely(SeekBar item) {
+ return item.getProgress() > progress;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("expected progress greater than " + progress);
+ }
+ };
+ }
+
+ public static Matcher withHighlightState(final boolean highlight) {
+ return new BoundedMatcher(HighlightButton.class) {
+ @Override
+ protected boolean matchesSafely(HighlightButton item) {
+ return item.isHighlighted();
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("expected: " + highlight);
+ }
+ };
+ }
+
+ public static Matcher withRepeatMode(final RepeatModeButton.MODE mode) {
+ return new BoundedMatcher(RepeatModeButton.class) {
+ @Override
+ protected boolean matchesSafely(RepeatModeButton item) {
+ return item.getMode() == mode;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("expected: " + mode.name());
+ }
+ };
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/TestUtils.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/TestUtils.java
new file mode 100644
index 0000000..63940a6
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/TestUtils.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testhelpers;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.InputHandler;
+
+import static junit.framework.Assert.assertTrue;
+import static org.xbmc.kore.tests.ui.AbstractTestClass.getInputHandler;
+
+public class TestUtils {
+ /**
+ * Tests if the event received at the server matches the given
+ * method name and action
+ * @param methodName name of the method that should be received serverside.
+ * @param executeAction name of the action that should be received serverside. May be null if the input does not specify an action.
+ */
+ public static void testHTTPEvent(String methodName, String executeAction) {
+ InputHandler inputHandler = getInputHandler();
+ assertTrue(inputHandler != null);
+
+ String methodNameReceived = inputHandler.getMethodName();
+ assertTrue(methodNameReceived != null);
+ assertTrue(methodNameReceived.contentEquals(methodName));
+
+ if (executeAction != null) {
+ String actionReceived = inputHandler.getAction();
+ assertTrue(actionReceived != null);
+ assertTrue(actionReceived.contentEquals(executeAction));
+ }
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/Utils.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/Utils.java
new file mode 100644
index 0000000..512615d
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/Utils.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testhelpers;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.os.IBinder;
+import android.util.Log;
+import android.view.Gravity;
+
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.preference.PreferenceManager;
+import androidx.test.rule.ActivityTestRule;
+
+import org.xbmc.kore.R;
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.host.HostManager;
+import org.xbmc.kore.provider.MediaProvider;
+import org.xbmc.kore.ui.AbstractTabsFragment;
+import org.xbmc.kore.ui.sections.hosts.HostFragmentManualConfiguration;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.lang.reflect.Method;
+
+import static org.xbmc.kore.ui.generic.NavigationDrawerFragment.PREF_USER_LEARNED_DRAWER;
+
+public class Utils {
+ private static final String TAG = LogUtils.makeLogTag(Utils.class);
+
+ private static final String ANIMATION_PERMISSION = "android.permission.SET_ANIMATION_SCALE";
+ private static final float DISABLED = 0.0f;
+ private static final float DEFAULT = 1.0f;
+
+ public static void closeDrawer(final Activity activity) throws Throwable {
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ DrawerLayout drawerLayout = (DrawerLayout) activity.findViewById(R.id.drawer_layout);
+ drawerLayout.closeDrawers();
+ }
+ });
+ }
+
+ public static void openDrawer(final ActivityTestRule> activityTestRule) throws Throwable {
+ activityTestRule.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ DrawerLayout drawerLayout = (DrawerLayout) activityTestRule.getActivity().findViewById(R.id.drawer_layout);
+ drawerLayout.openDrawer(Gravity.LEFT);
+ }
+ });
+ DrawerLayout drawerLayout = (DrawerLayout) activityTestRule.getActivity().findViewById(R.id.drawer_layout);
+ while(true) {
+ if (drawerLayout.isDrawerOpen(Gravity.LEFT))
+ return;
+ }
+ }
+
+ public static void switchHost(final Context context, Activity activity, final HostInfo hostInfo) {
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ HostManager.getInstance(context).switchHost(hostInfo);
+ }
+ });
+ }
+
+ public static void clearSharedPreferences(Context context) {
+ PreferenceManager.getDefaultSharedPreferences(context)
+ .edit().clear().commit();
+ context.getSharedPreferences(AbstractTabsFragment.PREFERENCES_NAME, Context.MODE_PRIVATE)
+ .edit().clear().commit();
+ }
+
+ public static void setLearnedAboutDrawerPreference(Context context, boolean learned) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putBoolean(PREF_USER_LEARNED_DRAWER, learned);
+ editor.commit();
+ }
+
+ public static void setUseEventServerPreference(Context context, boolean use) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putBoolean(HostFragmentManualConfiguration.HOST_USE_EVENT_SERVER, use);
+ editor.commit();
+ }
+
+ public static void setupMediaProvider(Context context) {
+ MediaProvider mediaProvider = new MediaProvider();
+ mediaProvider.setContext(context);
+ mediaProvider.onCreate();
+ }
+
+ public static void disableAnimations(Context context) {
+ int permStatus = context.checkCallingOrSelfPermission(ANIMATION_PERMISSION);
+ if (permStatus == PackageManager.PERMISSION_GRANTED) {
+ setSystemAnimationsScale(DISABLED);
+ }
+ }
+
+ public static void enableAnimations(Context context) {
+ int permStatus = context.checkCallingOrSelfPermission(ANIMATION_PERMISSION);
+ if (permStatus == PackageManager.PERMISSION_GRANTED) {
+ setSystemAnimationsScale(DEFAULT);
+ } else {
+ LogUtils.LOGD(TAG, "disableAnimations: permission " + ANIMATION_PERMISSION + " not granted");
+ }
+ }
+
+ private static void setSystemAnimationsScale(float animationScale) {
+ try {
+ Class> windowManagerStubClazz = Class.forName("android.view.IWindowManager$Stub");
+ Method asInterface = windowManagerStubClazz.getDeclaredMethod("asInterface", IBinder.class);
+ Class> serviceManagerClazz = Class.forName("android.os.ServiceManager");
+ Method getService = serviceManagerClazz.getDeclaredMethod("getService", String.class);
+ Class> windowManagerClazz = Class.forName("android.view.IWindowManager");
+ Method setAnimationScales = windowManagerClazz.getDeclaredMethod("setAnimationScales", float[].class);
+ Method getAnimationScales = windowManagerClazz.getDeclaredMethod("getAnimationScales");
+
+ IBinder windowManagerBinder = (IBinder) getService.invoke(null, "window");
+ Object windowManagerObj = asInterface.invoke(null, windowManagerBinder);
+ float[] currentScales = (float[]) getAnimationScales.invoke(windowManagerObj);
+ for (int i = 0; i < currentScales.length; i++) {
+ currentScales[i] = animationScale;
+ }
+ setAnimationScales.invoke(windowManagerObj, new Object[]{currentScales});
+ } catch (Exception e) {
+ Log.e("SystemAnimations", "Could not change animation scale to " + animationScale + " :'(");
+ }
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ClearFocus.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ClearFocus.java
new file mode 100644
index 0000000..20be28b
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ClearFocus.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (C) 2014 Subito.it S.r.l (www.subito.it)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.testhelpers.action;
+
+import android.view.View;
+
+import androidx.test.espresso.UiController;
+import androidx.test.espresso.ViewAction;
+
+import org.hamcrest.Matcher;
+
+import static androidx.test.espresso.matcher.ViewMatchers.isAssignableFrom;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static org.hamcrest.Matchers.allOf;
+
+public class ClearFocus implements ViewAction {
+
+ @Override
+ public Matcher getConstraints() {
+
+ return allOf(isDisplayed(), isAssignableFrom(View.class));
+ }
+
+ @Override
+ public String getDescription() {
+
+ return "Clear focus on the given view";
+ }
+
+ @Override
+ public void perform(UiController uiController, View view) {
+
+ view.clearFocus();
+ }
+}
+
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/NestedScrollTo.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/NestedScrollTo.java
new file mode 100644
index 0000000..e4b6ff6
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/NestedScrollTo.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2018 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testhelpers.action;
+
+import android.graphics.Rect;
+import androidx.core.widget.NestedScrollView;
+import androidx.test.espresso.PerformException;
+import androidx.test.espresso.UiController;
+import androidx.test.espresso.ViewAction;
+import androidx.test.espresso.matcher.ViewMatchers;
+import androidx.test.espresso.util.HumanReadables;
+
+import android.view.View;
+
+import org.hamcrest.Matcher;
+import org.xbmc.kore.utils.LogUtils;
+
+import static androidx.test.espresso.matcher.ViewMatchers.isAssignableFrom;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayingAtLeast;
+import static androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
+import static org.hamcrest.CoreMatchers.allOf;
+import static org.hamcrest.CoreMatchers.anyOf;
+
+/**
+ * Modified version of {@link androidx.test.espresso.action.ScrollToAction} to support
+ * NestedScrollView.
+ * TODO Check future versions of {@link androidx.test.espresso.action.ScrollToAction} to see if support for NestedScrollView has been added
+ */
+public class NestedScrollTo implements ViewAction {
+ private final static String TAG = LogUtils.makeLogTag(NestedScrollTo.class);
+
+ @Override
+ public Matcher getConstraints() {
+ return allOf(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE), ViewMatchers.isDescendantOfA(anyOf(
+ isAssignableFrom(NestedScrollView.class))));
+ }
+
+ @Override
+ public String getDescription() {
+ return "nested scroll to";
+ }
+
+ @Override
+ public void perform(UiController uiController, View view) {
+ if (isDisplayingAtLeast(90).matches(view)) {
+ LogUtils.LOGI(TAG, "View is already displayed. Returning.");
+ return;
+ }
+ Rect rect = new Rect();
+ view.getDrawingRect(rect);
+ if (!view.requestRectangleOnScreen(rect, true /* immediate */)) {
+ LogUtils.LOGW(TAG, "Scrolling to view was requested, but none of the parents scrolled.");
+ }
+ uiController.loopMainThreadUntilIdle();
+ if (!isDisplayingAtLeast(90).matches(view)) {
+ throw new PerformException.Builder()
+ .withActionDescription(this.getDescription())
+ .withViewDescription(HumanReadables.describe(view))
+ .withCause(new RuntimeException(
+ "Scrolling to view was attempted, but the view is not displayed"))
+ .build();
+ }
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ViewActions.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ViewActions.java
new file mode 100644
index 0000000..4f7b81d
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ViewActions.java
@@ -0,0 +1,199 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testhelpers.action;
+
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.test.espresso.PerformException;
+import androidx.test.espresso.UiController;
+import androidx.test.espresso.ViewAction;
+import androidx.test.espresso.action.MotionEvents;
+import androidx.test.espresso.action.Press;
+import androidx.test.espresso.util.HumanReadables;
+import androidx.test.espresso.util.TreeIterables;
+import androidx.viewpager2.widget.ViewPager2;
+
+import android.view.View;
+import android.widget.SeekBar;
+
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
+
+import java.util.concurrent.TimeoutException;
+
+import static androidx.test.espresso.action.ViewActions.actionWithAssertions;
+import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
+
+import com.google.android.material.tabs.TabLayout;
+
+public final class ViewActions {
+
+ /**
+ * Returns an action that clears the focus on the view.
+ *
+ * View constraints:
+ *
+ * must be displayed on screen
+ *
+ */
+ public static ViewAction clearFocus() {
+ return actionWithAssertions(new ClearFocus());
+ }
+
+ /**
+ * Returns an action that scrolls to the view in a nested scroll view.
+ *
+ * View preconditions:
+ *
+ * must be a descendant of NestedScrollView
+ * must have visibility set to View.VISIBLE
+ *
+ */
+ public static ViewAction nestedScrollTo() {
+ return actionWithAssertions(new NestedScrollTo());
+ }
+
+ public interface CheckStatus {
+ boolean check(View v);
+ }
+
+ /**
+ * ViewAction that waits until view with viewId becomes visible
+ * @param viewId Resource identifier of view item that must be checked
+ * @param checkStatus called when viewId has been found to check its status. If return value
+ * is true waitForView will stop, false it will continue until timeout is exceeded
+ * @param millis amount of time to wait for view to become visible
+ * @return
+ */
+ public static ViewAction waitForView(final int viewId, final CheckStatus checkStatus, final long millis) {
+ return new ViewAction() {
+ @Override
+ public Matcher getConstraints() {
+ return isRoot();
+ }
+
+ @Override
+ public String getDescription() {
+ return "Searches for view with id: " + viewId + " and tests its status using CheckStatus, using timeout " + millis + " ms.";
+ }
+
+ @Override
+ public void perform(UiController uiController, View view) {
+ final long endTime = System.currentTimeMillis() + millis;
+ do {
+ for (View child : TreeIterables.breadthFirstViewTraversal(view)) {
+ if (child.getId() == viewId) {
+ if (checkStatus.check(child)) {
+ return;
+ }
+ }
+ }
+
+ uiController.loopMainThreadForAtLeast(50);
+ } while (System.currentTimeMillis() < endTime);
+
+ throw new PerformException.Builder()
+ .withActionDescription(this.getDescription())
+ .withViewDescription(HumanReadables.describe(view))
+ .withCause(new TimeoutException())
+ .build();
+ }
+ };
+ }
+
+ public static ViewAction slideSeekBar(final int progress) {
+ return new ViewAction() {
+ @Override
+ public Matcher getConstraints() {
+ return new TypeSafeMatcher() {
+ @Override
+ protected boolean matchesSafely(View item) {
+ return item instanceof SeekBar;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("is a SeekBar.");
+ }
+ };
+ }
+
+ @Override
+ public String getDescription() {
+ return "Slides seekbar to progress position " + progress;
+ }
+
+ @Override
+ public void perform(UiController uiController, View view) {
+ SeekBar seekBar = (SeekBar) view;
+
+ int[] seekBarPos = {0,0};
+ view.getLocationOnScreen(seekBarPos);
+ float[] startPos = {seekBarPos[0], seekBarPos[1]};
+
+ MotionEvents.DownResultHolder downResultHolder =
+ MotionEvents.sendDown(uiController, startPos,
+ Press.PINPOINT.describePrecision());
+
+ while(seekBar.getProgress() < progress) {
+ startPos[0]++;
+ MotionEvents.sendMovement(uiController, downResultHolder.down, startPos);
+ uiController.loopMainThreadForAtLeast(10);
+ }
+
+ MotionEvents.sendUp(uiController, downResultHolder.down, startPos);
+ }
+ };
+ }
+
+ public static ViewAction setCurrentViewPagerItem(final int pageTitleResourceId) {
+ return new ViewAction() {
+
+ @Override
+ public Matcher getConstraints() {
+ return new TypeSafeMatcher() {
+ @Override
+ protected boolean matchesSafely(View item) {
+ return item instanceof TabLayout;
+ }
+
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("is a SeekBar.");
+ }
+ };
+ }
+
+ @Override
+ public String getDescription() {
+ return null;
+ }
+
+ @Override
+ public void perform(UiController uiController, View view) {
+ TabLayout tabLayout = (TabLayout) view;
+ String expectedTitle = view.getResources().getString(pageTitleResourceId);
+ for(int i = 0; i < tabLayout.getTabCount(); i++) {
+ if (expectedTitle.contentEquals(tabLayout.getTabAt(i).getText())) {
+ tabLayout.getTabAt(i).select();
+ return;
+ }
+ }
+ }
+ };
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/AbstractTestClass.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/AbstractTestClass.java
new file mode 100644
index 0000000..faa0c3d
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/AbstractTestClass.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.preference.PreferenceManager;
+import androidx.test.espresso.IdlingRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.runner.RunWith;
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.host.HostConnection;
+import org.xbmc.kore.testhelpers.LoaderIdlingResource;
+import org.xbmc.kore.testhelpers.Utils;
+import org.xbmc.kore.testutils.Database;
+import org.xbmc.kore.testutils.tcpserver.MockTcpServer;
+import org.xbmc.kore.testutils.tcpserver.handlers.AddonsHandler;
+import org.xbmc.kore.testutils.tcpserver.handlers.ApplicationHandler;
+import org.xbmc.kore.testutils.tcpserver.handlers.InputHandler;
+import org.xbmc.kore.testutils.tcpserver.handlers.JSONConnectionHandlerManager;
+import org.xbmc.kore.testutils.tcpserver.handlers.JSONRPCHandler;
+import org.xbmc.kore.testutils.tcpserver.handlers.PlayerHandler;
+import org.xbmc.kore.testutils.tcpserver.handlers.PlaylistHandler;
+import org.xbmc.kore.ui.sections.hosts.HostFragmentManualConfiguration;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+
+@SuppressLint("IgnoreWithoutReason")
+@RunWith(AndroidJUnit4.class)
+@Ignore
+abstract public class AbstractTestClass {
+ private static final String TAG = LogUtils.makeLogTag(AbstractTestClass.class);
+
+ abstract protected ActivityTestRule getActivityTestRule();
+
+ /**
+ * Method that can be used to change the shared preferences.
+ * This will be called before each test after clearing the settings
+ * in {@link #setUp()}
+ */
+ abstract protected void setSharedPreferences(Context context);
+
+ private LoaderIdlingResource loaderIdlingResource;
+ private ActivityTestRule activityTestRule;
+ private static MockTcpServer server;
+ private static JSONConnectionHandlerManager manager;
+ private static PlayerHandler playerHandler;
+ private static ApplicationHandler applicationHandler;
+ private static InputHandler inputHandler;
+ private static PlaylistHandler playlistHandler;
+ private int kodiMajorVersion = HostInfo.DEFAULT_KODI_VERSION_MAJOR;
+ private HostInfo hostInfo;
+
+ @BeforeClass
+ public static void setupMockTCPServer() throws Throwable {
+ playerHandler = new PlayerHandler();
+ applicationHandler = new ApplicationHandler();
+ inputHandler = new InputHandler();
+ playlistHandler = new PlaylistHandler();
+ manager = new JSONConnectionHandlerManager();
+ manager.addHandler(playerHandler);
+ manager.addHandler(applicationHandler);
+ manager.addHandler(inputHandler);
+ manager.addHandler(new AddonsHandler());
+ manager.addHandler(playlistHandler);
+ manager.addHandler(new JSONRPCHandler());
+ server = new MockTcpServer(manager);
+ server.start();
+ }
+
+ @Before
+ public void setUp() throws Throwable {
+
+ activityTestRule = getActivityTestRule();
+
+ final Context context = activityTestRule.getActivity();
+ if (context == null)
+ throw new RuntimeException("Could not get context. Maybe activity failed to start?");
+
+ Utils.clearSharedPreferences(context);
+ //Prevent drawer from opening when we start a new activity
+ Utils.setLearnedAboutDrawerPreference(context, true);
+ //Allow each test to change the shared preferences
+ setSharedPreferences(context);
+
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean useEventServer = prefs.getBoolean(HostFragmentManualConfiguration.HOST_USE_EVENT_SERVER, false);
+
+ hostInfo = Database.addHost(context, server.getHostName(),
+ HostConnection.PROTOCOL_TCP, HostInfo.DEFAULT_HTTP_PORT,
+ server.getPort(), useEventServer, kodiMajorVersion);
+
+ loaderIdlingResource = new LoaderIdlingResource(activityTestRule.getActivity().getSupportLoaderManager());
+ IdlingRegistry.getInstance().register(loaderIdlingResource);
+
+ Utils.disableAnimations(context);
+
+ Utils.setupMediaProvider(context);
+
+ Database.fill(hostInfo, context, context.getContentResolver());
+
+ Utils.switchHost(context, activityTestRule.getActivity(), hostInfo);
+
+ //Relaunch the activity for the changes (Host selection, preference changes, and database fill) to take effect
+ activityTestRule.finishActivity();
+ activityTestRule.launchActivity(new Intent());
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ if ( loaderIdlingResource != null )
+ IdlingRegistry.getInstance().unregister(loaderIdlingResource);
+
+ applicationHandler.reset();
+ playerHandler.reset();
+
+ Context context = activityTestRule.getActivity();
+ Database.flush(context.getContentResolver());
+ Utils.enableAnimations(context);
+ }
+
+ @AfterClass
+ public static void cleanup() throws IOException {
+ server.shutdown();
+ }
+
+ protected T getActivity() {
+ if (activityTestRule != null) {
+ return activityTestRule.getActivity();
+ }
+ return null;
+ }
+
+ /**
+ * Use this to set the major version of Kodi.
+ *
+ * NOTE: be sure to call this before {@link #setUp()} is called to have the version correctly
+ * set in the database.
+ * @param kodiMajorVersion
+ */
+ protected void setKodiMajorVersion(int kodiMajorVersion) {
+ this.kodiMajorVersion = kodiMajorVersion;
+ }
+
+ public static JSONConnectionHandlerManager getConnectionHandlerManager() {
+ return manager;
+ }
+
+ public static PlayerHandler getPlayerHandler() {
+ return playerHandler;
+ }
+
+ public static ApplicationHandler getApplicationHandler() {
+ return applicationHandler;
+ }
+
+ public static InputHandler getInputHandler() {
+ return inputHandler;
+ }
+
+ public static PlaylistHandler getPlaylistHandler() {
+ return playlistHandler;
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/addons/AddonsActivityTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/addons/AddonsActivityTests.java
new file mode 100644
index 0000000..bf18c7d
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/addons/AddonsActivityTests.java
@@ -0,0 +1,212 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.addons;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.test.espresso.Espresso;
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.EspressoTestUtils;
+import org.xbmc.kore.testhelpers.action.ViewActions;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.addon.AddonsActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withParent;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.allOf;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickRecyclerViewItem;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.rotateDevice;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.selectListItemPressBackAndCheckActionbarTitle;
+
+/**
+ * Note: we use MoviesActivity here instead of AddonsActivity. The reason is that we use @Rule
+ * to start the activity which is done prior to executing @Before. This results in a deadlock
+ * situation.
+ *
+ * Normal startup procedure would be as follows:
+ *
+ * 1. Start MockTCPServer {@link AbstractTestClass#setupMockTCPServer()}
+ * 2. Start activity {mActivityRule}
+ * 3. Espresso waits for activity to become idle before calling {@link AbstractTestClass#setUp()}
+ * 4. Add AddonsHandler {@link AbstractTestClass#setUp()}
+ *
+ * At step 2 the AddonsActivity displays an animated progress indicator while it waits for the
+ * MockTCPServer to send the list of addons.
+ * This is never send as the {@link org.xbmc.kore.testutils.tcpserver.handlers.AddonsHandler} is
+ * added in {@link super#setUp()} which is never started by Espresso as it waits for
+ * {@link org.xbmc.kore.ui.sections.addon.AddonsActivity} to become idle.
+ */
+public class AddonsActivityTests extends AbstractTestClass {
+ @Rule
+ public ActivityTestRule mActivityRule = new ActivityTestRule<>(AddonsActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return mActivityRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ @Before
+ public void setUp() throws Throwable {
+ super.setUp();
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.list, v -> v.isShown(),10000));
+ }
+
+ /**
+ * Test if action bar title initially displays Addons
+ */
+ @Test
+ public void setActionBarTitleMain() {
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(R.string.addons)));
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: action bar title should show list item title
+ */
+ @Test
+ public void setActionBarTitle() {
+ EspressoTestUtils.selectListItemAndCheckActionbarTitle("Dumpert", R.id.list,
+ "Dumpert");
+ }
+
+ /**
+ * Test if action bar title is correctly restored after a configuration change
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Result: action bar title should show list item title
+ */
+ @Test
+ public void restoreActionBarTitleOnConfigurationStateChanged() {
+ EspressoTestUtils.selectListItemRotateDeviceAndCheckActionbarTitle("Dumpert", R.id.list,
+ "Dumpert",
+ getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored after returning from a movie selection
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: action bar title should show main title
+ */
+ @Test
+ public void restoreActionBarTitleOnReturningFromMovie() {
+ selectListItemPressBackAndCheckActionbarTitle(0, R.id.list,
+ getActivity().getString(R.string.addons));
+ }
+
+ /**
+ * Test if the initial state shows the hamburger icon
+ */
+ @Test
+ public void showHamburgerInInitialState() {
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void showArrowWhenSelectingListItem() {
+ clickRecyclerViewItem(0, R.id.list);
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void showHamburgerWhenSelectingListItemAndReturn() {
+ clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an arrow when selecting a list item
+ * and rotating the device
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void restoreArrowOnConfigurationChange() {
+ clickRecyclerViewItem(0, R.id.list);
+ rotateDevice(getActivity());
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an hamburger when selecting a list item
+ * and rotating the device and returning to the list
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Press back
+ * 4. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void restoreHamburgerOnConfigurationChangeOnReturn() {
+ clickRecyclerViewItem(0, R.id.list);
+ rotateDevice(getActivity());
+ Espresso.pressBack();
+
+ assertTrue(EspressoTestUtils.getActivity() instanceof AddonsActivity);
+ assertFalse(((AddonsActivity) EspressoTestUtils.getActivity()).getDrawerIndicatorIsArrow());
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/movies/MoviesActivityTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/movies/MoviesActivityTests.java
new file mode 100644
index 0000000..148a149
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/movies/MoviesActivityTests.java
@@ -0,0 +1,186 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.movies;
+
+import android.content.Context;
+import android.widget.TextView;
+
+import androidx.test.espresso.Espresso;
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.EspressoTestUtils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.video.MoviesActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withParent;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.allOf;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickRecyclerViewItem;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.rotateDevice;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.selectListItemPressBackAndCheckActionbarTitle;
+
+public class MoviesActivityTests extends AbstractTestClass {
+
+ @Rule
+ public ActivityTestRule mActivityRule = new ActivityTestRule<>(
+ MoviesActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return mActivityRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ /**
+ * Test if action bar title initially displays Movies
+ */
+ @Test
+ public void setActionBarTitleMain() {
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(R.string.movies)));
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: action bar title should show list item title
+ */
+ @Test
+ public void setActionBarTitle() {
+ EspressoTestUtils.selectListItemAndCheckActionbarTitle("#Rookie93 Marc Marquez: Beyond the Smile", R.id.list,
+ "#Rookie93 Marc Marquez: Beyond the Smile");
+ }
+
+ /**
+ * Test if action bar title is correctly restored after a configuration change
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Result: action bar title should show list item title
+ */
+ @Test
+ public void restoreActionBarTitleOnConfigurationStateChanged() {
+ EspressoTestUtils.selectListItemRotateDeviceAndCheckActionbarTitle("#Rookie93 Marc Marquez: Beyond the Smile", R.id.list,
+ "#Rookie93 Marc Marquez: Beyond the Smile",
+ getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored after returning from a movie selection
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: action bar title should show main title
+ */
+ @Test
+ public void restoreActionBarTitleOnReturningFromMovie() {
+ selectListItemPressBackAndCheckActionbarTitle(0, R.id.list,
+ getActivity().getString(R.string.movies));
+ }
+
+ /**
+ * Test if the initial state shows the hamburger icon
+ */
+ @Test
+ public void showHamburgerInInitialState() {
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void showArrowWhenSelectingListItem() {
+ clickRecyclerViewItem(0, R.id.list);
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void showHamburgerWhenSelectingListItemAndReturn() {
+ clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an arrow when selecting a list item
+ * and rotating the device
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void restoreArrowOnConfigurationChange() {
+ clickRecyclerViewItem(0, R.id.list);
+ rotateDevice(getActivity());
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an hamburger when selecting a list item
+ * and rotating the device and returning to the list
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Press back
+ * 4. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void restoreHamburgerOnConfigurationChangeOnReturn() {
+ clickRecyclerViewItem(0, R.id.list);
+ rotateDevice(getActivity());
+ Espresso.pressBack();
+
+ assertTrue(EspressoTestUtils.getActivity() instanceof MoviesActivity);
+ assertFalse(((MoviesActivity) EspressoTestUtils.getActivity()).getDrawerIndicatorIsArrow());
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/movies/RestoreSearchQueryListFragmentTest.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/movies/RestoreSearchQueryListFragmentTest.java
new file mode 100644
index 0000000..aaa3b4d
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/movies/RestoreSearchQueryListFragmentTest.java
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.movies;
+
+import android.content.Context;
+
+import androidx.test.espresso.Espresso;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.EspressoTestUtils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.video.MoviesActivity;
+
+@RunWith(AndroidJUnit4.class)
+public class RestoreSearchQueryListFragmentTest extends AbstractTestClass {
+
+ private final String SEARCH_QUERY = "Room";
+ private final int SEARCH_QUERY_LIST_SIZE = 2;
+ private final int COMPLETE_LIST_SIZE = 300;
+
+ @Rule
+ public ActivityTestRule mActivityRule = new ActivityTestRule<>(
+ MoviesActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return mActivityRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ /**
+ * Simple test that checks if search query results in expected item(s)
+ */
+ @Test
+ public void simpleSearchTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+
+ EspressoTestUtils.checkTextInSearchQuery(SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(SEARCH_QUERY, SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Simple test that checks if search query is restored after device rotate
+ */
+ @Test
+ public void simpleRotateTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ EspressoTestUtils.rotateDevice(mActivityRule.getActivity());
+
+ EspressoTestUtils.checkTextInSearchQuery(SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(SEARCH_QUERY, SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if search query is restored when user returns to list fragment from
+ * detail fragment
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Click on list item
+ * 3. Press back
+ * 4. Result: search query entered at 1. should be restored in search field
+ */
+ @Test
+ public void searchClickBackTest() {
+ EspressoTestUtils.clearSearchQuery(mActivityRule.getActivity());
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ EspressoTestUtils.clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+
+ EspressoTestUtils.checkTextInSearchQuery(SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(SEARCH_QUERY, SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if search query is restored when user returns to list fragment from
+ * detail fragment when device is rotated while on detail fragment
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Click on list item
+ * 3. Rotate device
+ * 4. Press back
+ * 5. Result: search query entered at 1. should be restored in search field
+ */
+ @Test
+ public void searchClickRotateBackTest() {
+ EspressoTestUtils.clearSearchQuery(mActivityRule.getActivity());
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ EspressoTestUtils.clickRecyclerViewItem(0, R.id.list);
+ EspressoTestUtils.rotateDevice(mActivityRule.getActivity());
+ Espresso.pressBack();
+
+ EspressoTestUtils.checkTextInSearchQuery(SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(SEARCH_QUERY, SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if saved search query is cleared when user clears the
+ * search query view
+ *
+ * UI interaction flow tested
+ * 1. Enter search query
+ * 2. Click on list item
+ * 3. Return to list
+ * 4. Clear search query
+ * 5. Click on list item
+ * 6. Return to list
+ * 7. Result: search query should be empty and collapsed
+ */
+ @Test
+ public void searchClickBackClearSearchClickBackTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ EspressoTestUtils.clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+ EspressoTestUtils.clearSearchQuery(mActivityRule.getActivity());
+ EspressoTestUtils.clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+
+ EspressoTestUtils.checkSearchMenuCollapsed();
+ }
+
+ /**
+ * Test if after restoring search query the search query is cleared
+ * when user presses back again.
+ *
+ * UI interaction flow tested
+ * 1. Enter search query
+ * 2. Click on list item
+ * 3. Return to list
+ * 4. Press back
+ * 7. Result: search query should be cleared, collapsed, and list should show everything
+ */
+ @Test
+ public void searchClickBackBackTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ EspressoTestUtils.clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+ Espresso.pressBack();
+
+ EspressoTestUtils.checkSearchMenuCollapsed();
+ EspressoTestUtils.checkListMatchesSearchQuery("", COMPLETE_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if pressing back clears a previous search
+ *
+ * UI interaction flow tested
+ * 1. Enter search query
+ * 2. Press back
+ * 3. Result: search query should be cleared, collapsed, and list should show everything
+ */
+ @Test
+ public void searchBackTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ Espresso.pressBack();
+ EspressoTestUtils.checkSearchMenuCollapsed();
+ EspressoTestUtils.checkListMatchesSearchQuery("", COMPLETE_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if after restoring the search query pressing home button up clears a previous search
+ *
+ * UI interaction flow tested
+ * 1. Enter search query
+ * 2. Click on list item
+ * 3. Press back
+ * 4. Press home button
+ * 5. Result: search query should be cleared, collapsed, and list should show everything
+ */
+ @Test
+ public void searchClickBackUpTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ EspressoTestUtils.clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+ EspressoTestUtils.clickToolbarCollapseButton();
+ EspressoTestUtils.checkSearchMenuCollapsed();
+ EspressoTestUtils.checkListMatchesSearchQuery("", COMPLETE_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if pressing home button up clears a previous search
+ *
+ * UI interaction flow tested
+ * 1. Enter search query
+ * 2. Press home button
+ * 3. Result: search query should be cleared, collapsed, and list should show everything
+ */
+ @Test
+ public void searchUpTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), SEARCH_QUERY);
+ EspressoTestUtils.clickToolbarCollapseButton();
+ EspressoTestUtils.checkSearchMenuCollapsed();
+ EspressoTestUtils.checkListMatchesSearchQuery("", COMPLETE_LIST_SIZE, R.id.list);
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/MusicActivityTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/MusicActivityTests.java
new file mode 100644
index 0000000..d014c14
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/MusicActivityTests.java
@@ -0,0 +1,366 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.music;
+
+import android.content.Context;
+import android.os.SystemClock;
+import android.widget.TextView;
+
+import androidx.test.espresso.Espresso;
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.EspressoTestUtils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.audio.MusicActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withParent;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.allOf;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickAlbumsTab;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickGenresTab;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickMusicVideosTab;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.rotateDevice;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.selectListItemAndCheckActionbarTitle;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.selectListItemPressBackAndCheckActionbarTitle;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.selectListItemRotateDeviceAndCheckActionbarTitle;
+
+public class MusicActivityTests extends AbstractTestClass {
+ @Rule
+ public ActivityTestRule musicActivityActivityTestRule =
+ new ActivityTestRule<>(MusicActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return musicActivityActivityTestRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ /**
+ * Test if action bar title initially displays Music
+ */
+ @Test
+ public void setActionBarTitleMain() {
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(R.string.music)));
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting an artist
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: action bar title should show list item title
+ */
+ @Test
+ public void setActionBarTitleArtist() {
+ selectListItemAndCheckActionbarTitle(ArtistTestData.title, R.id.list, ArtistTestData.title);
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting an album
+ *
+ * UI interaction flow tested:
+ * 1. Click on albums tab
+ * 2. Click on list item
+ * 3. Result: action bar title should show list item title
+ */
+ @Test
+ public void setActionBarTitleAlbum() {
+ clickAlbumsTab();
+ selectListItemAndCheckActionbarTitle(AlbumTestData.title, R.id.list, AlbumTestData.title);
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting a genre
+ *
+ * UI interaction flow tested:
+ * 1. Click on genres tab
+ * 2. Click on list item
+ * 3. Result: action bar title should show list item title
+ */
+ @Test
+ public void setActionBarTitleGenre() {
+ clickGenresTab();
+ selectListItemAndCheckActionbarTitle(GenreTestData.title, R.id.list, GenreTestData.title);
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting a video
+ *
+ * UI interaction flow tested:
+ * 1. Click on videos tab
+ * 2. Click on list item
+ * 3. Result: action bar title should show list item title
+ */
+ @Test
+ public void setActionBarTitleVideo() {
+ clickMusicVideosTab();
+ selectListItemAndCheckActionbarTitle(MusicVideoTestData.title, R.id.list, MusicVideoTestData.title);
+ }
+
+ /**
+ * Test if action bar title is correctly restored after a configuration change when artist
+ * is selected
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Result: action bar title should show list item title
+ */
+ @Test
+ public void restoreActionBarTitleArtistOnConfigurationStateChanged() {
+ SystemClock.sleep(10000);
+ selectListItemRotateDeviceAndCheckActionbarTitle(ArtistTestData.title, R.id.list,
+ ArtistTestData.title, getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored after a configuration change when album
+ * is selected
+ *
+ * UI interaction flow tested:
+ * 1. Select albums tab
+ * 2. Click on list item
+ * 3. Rotate device
+ * 4. Result: action bar title should show list item title
+ */
+ @Test
+ public void restoreActionBarTitleAlbumOnConfigurationStateChanged() {
+ clickAlbumsTab();
+ selectListItemRotateDeviceAndCheckActionbarTitle(AlbumTestData.title, R.id.list,
+ AlbumTestData.title,
+ getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored after a configuration change when genre
+ * is selected
+ *
+ * UI interaction flow tested:
+ * 1. Select genres tab
+ * 2. Click on list item
+ * 3. Rotate device
+ * 4. Result: action bar title should show list item title
+ */
+ @Test
+ public void restoreActionBarTitleGenreOnConfigurationStateChanged() {
+ clickGenresTab();
+ selectListItemRotateDeviceAndCheckActionbarTitle(GenreTestData.title, R.id.list,
+ GenreTestData.title, getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored after a configuration change when music video
+ * is selected
+ *
+ * UI interaction flow tested:
+ * 1. Select music videos tab
+ * 2. Click on list item
+ * 3. Rotate device
+ * 4. Result: action bar title should show list item title
+ */
+ @Test
+ public void restoreActionBarTitleMusicVideoOnConfigurationStateChanged() {
+ clickMusicVideosTab();
+ selectListItemRotateDeviceAndCheckActionbarTitle(MusicVideoTestData.title, R.id.list,
+ MusicVideoTestData.title,
+ getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored after returning from artist selection
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: action bar title should show main title
+ */
+ @Test
+ public void restoreActionBarTitleOnReturningFromArtist() {
+ selectListItemPressBackAndCheckActionbarTitle(ArtistTestData.title, R.id.list,
+ getActivity().getString(R.string.music));
+ }
+
+ /**
+ * Test if action bar title is correctly restored after returning from an album under
+ * artist
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Select albums tab
+ * 3. Press back
+ * 4. Result: action bar title should show artist title
+ */
+ @Test
+ public void restoreActionBarTitleOnArtistOnReturningFromAlbum() {
+ EspressoTestUtils.clickRecyclerViewItem(ArtistTestData.title, R.id.list);
+ clickAlbumsTab();
+ selectListItemPressBackAndCheckActionbarTitle(ArtistTestData.album, R.id.list, ArtistTestData.title);
+ }
+
+ /**
+ * Test if action bar title is correctly restored after returning from music video selection
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: action bar title should show main title
+ */
+ @Test
+ public void restoreActionBarTitleOnReturningFromMusicVideo() {
+ clickMusicVideosTab();
+ selectListItemPressBackAndCheckActionbarTitle(MusicVideoTestData.title, R.id.list,
+ getActivity().getString(R.string.music));
+ }
+
+ /**
+ * Test if action bar title is correctly restored after returning from genre selection
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: action bar title should show main title
+ */
+ @Test
+ public void restoreActionBarTitleOnReturningFromGenre() {
+ clickGenresTab();
+ selectListItemPressBackAndCheckActionbarTitle(GenreTestData.title, R.id.list,
+ getActivity().getString(R.string.music));
+ }
+
+ /**
+ * Test if action bar title is correctly restored after returning from album selection
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: action bar title should show main title
+ */
+ @Test
+ public void restoreActionBarTitleOnReturningFromAlbum() {
+ clickAlbumsTab();
+ selectListItemPressBackAndCheckActionbarTitle(AlbumTestData.title, R.id.list,
+ getActivity().getString(R.string.music));
+ }
+
+ /**
+ * Test if the initial state shows the hamburger icon
+ */
+ @Test
+ public void showHamburgerInInitialState() {
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void showArrowWhenSelectingListItem() {
+ EspressoTestUtils.clickRecyclerViewItem(ArtistTestData.title, R.id.list);
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void showHamburgerWhenSelectingListItemAndReturn() {
+ EspressoTestUtils.clickRecyclerViewItem(ArtistTestData.title, R.id.list);
+
+ Espresso.pressBack();
+
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an arrow when selecting a list item
+ * and rotating the device
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void restoreArrowOnConfigurationChange() {
+ EspressoTestUtils.clickRecyclerViewItem(ArtistTestData.title, R.id.list);
+
+ rotateDevice(getActivity());
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an hamburger when selecting a list item
+ * and rotating the device and returning to the list
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Press back
+ * 4. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void restoreHamburgerOnConfigurationChangeOnReturn() {
+ EspressoTestUtils.clickRecyclerViewItem(ArtistTestData.title, R.id.list);
+ rotateDevice(getActivity());
+ Espresso.pressBack();
+
+ assertTrue(EspressoTestUtils.getActivity() instanceof MusicActivity);
+ assertFalse(((MusicActivity) EspressoTestUtils.getActivity()).getDrawerIndicatorIsArrow());
+ }
+
+ private static class ArtistTestData {
+ static String title = "ABC Orch Conducted by Herschel Burke Gilbert";
+ static String album = "Songs Of The West";
+ }
+
+ private static class AlbumTestData {
+ static String title = "1958 - The Fabulous Johnny Cash";
+ }
+
+ private static class GenreTestData {
+ static String title = "Ambient";
+ }
+
+ private static class MusicVideoTestData {
+ static String title = "(You Drive Me) Crazy";
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/RestoreSearchQueryViewPagerTest.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/RestoreSearchQueryViewPagerTest.java
new file mode 100644
index 0000000..bdce021
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/RestoreSearchQueryViewPagerTest.java
@@ -0,0 +1,315 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.music;
+
+import android.app.Activity;
+import android.content.Context;
+
+import androidx.test.espresso.Espresso;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.EspressoTestUtils;
+import org.xbmc.kore.testhelpers.LoaderIdlingResource;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.audio.MusicActivity;
+
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickAlbumsTab;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickArtistsTab;
+
+@RunWith(AndroidJUnit4.class)
+public class RestoreSearchQueryViewPagerTest extends AbstractTestClass {
+
+ private final String ARTIST_SEARCH_QUERY = "Ben";
+ private final int ARTIST_SEARCH_QUERY_LIST_SIZE = 2;
+ private final String ARTIST_MATCHING_SEARCH_QUERY = "Ben E. King";
+ private final String ALBUMS_SEARCH_QUERY = "tes";
+ private final int ALBUM_SEARCH_QUERY_LIST_SIZE = 3;
+ private final int ARTIST_COMPLETE_LIST_SIZE = 229;
+ private final int ALBUM_COMPLETE_LIST_SIZE = 235;
+
+ private LoaderIdlingResource loaderIdlingResource;
+
+ @Rule
+ public ActivityTestRule mActivityRule = new ActivityTestRule<>(
+ MusicActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return mActivityRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ /**
+ * Simple test that checks if search query results in expected item(s)
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Result: search query entered at 1. should show in search field and list should match search query
+ */
+ @Test
+ public void simpleSearchTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), ARTIST_SEARCH_QUERY);
+
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ARTIST_SEARCH_QUERY, ARTIST_SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Simple test that checks if search query is restored after device rotate
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Rotate device
+ * 3. Result: search query entered at 1. should show in search field and list should match search query
+ */
+ @Test
+ public void simpleRotateTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.rotateDevice(mActivityRule.getActivity());
+
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ARTIST_SEARCH_QUERY, ARTIST_SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if search query is restored when user returns to list fragment from
+ * detail fragment
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Click on list item
+ * 3. Press back
+ * 4. Result: search query entered at 1. should be restored in search field
+ */
+ @Test
+ public void searchClickBackTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.clickRecyclerViewItem(ARTIST_MATCHING_SEARCH_QUERY, R.id.list);
+ Espresso.pressBack();
+
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ARTIST_SEARCH_QUERY, ARTIST_SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if search query is restored when user returns to list fragment from
+ * detail fragment when device is rotated while on detail fragment
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Click on list item
+ * 3. Rotate device
+ * 4. Press back
+ * 5. Result: search query entered at 1. should be restored in search field
+ */
+ @Test
+ public void searchClickRotateBackTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.clickRecyclerViewItem(ARTIST_MATCHING_SEARCH_QUERY, R.id.list);
+ EspressoTestUtils.rotateDevice(mActivityRule.getActivity());
+ Espresso.pressBack();
+
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ARTIST_SEARCH_QUERY, ARTIST_SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Test if search query is cleared when switching to
+ * different tab in the TabAdapter
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Switch to Albums tab
+ * 3. Result: search query should be cleared
+ */
+ @Test
+ public void searchSwitchTabTest() {
+ Activity activity = mActivityRule.getActivity();
+
+ EspressoTestUtils.enterSearchQuery(activity, ARTIST_SEARCH_QUERY);
+ clickAlbumsTab();
+
+ EspressoTestUtils.clickMenuItem(activity, activity.getString(R.string.action_search), R.id.action_search);
+ EspressoTestUtils.checkTextInSearchQuery("");
+ }
+
+ /**
+ * Tests if search query is still cleared when
+ * device is rotated after switching to a different tab
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Switch to Albums tab
+ * 3. Rotate device
+ * 4. Open search menu item
+ * 5. Result: search query should be cleared
+ */
+ @Test
+ public void searchSwitchTabRotateTest() {
+ Activity activity = mActivityRule.getActivity();
+
+ EspressoTestUtils.enterSearchQuery(activity, ARTIST_SEARCH_QUERY);
+ clickAlbumsTab();
+ EspressoTestUtils.rotateDevice(activity);
+ EspressoTestUtils.clickMenuItem(activity, activity.getString(R.string.action_search), R.id.action_search);
+ Espresso.closeSoftKeyboard();
+
+ EspressoTestUtils.checkTextInSearchQuery("");
+ EspressoTestUtils.checkListMatchesSearchQuery("", ALBUM_COMPLETE_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Tests if search query is restored when returning
+ * to the original tab
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Switch to Albums tab
+ * 3. Switch to Artists tab
+ * 4. Result: search query entered at 1. should show in search field and list should match search query
+ */
+ @Test
+ public void searchSwitchTabReturnTest() {
+ EspressoTestUtils.enterSearchQuery(mActivityRule.getActivity(), ARTIST_SEARCH_QUERY);
+ clickAlbumsTab();
+ clickArtistsTab();
+
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ARTIST_SEARCH_QUERY, ARTIST_SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+
+
+ /**
+ * Tests if search query is restored when returning
+ * to the original tab after switching to a different
+ * tab and rotating the device
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Switch to Albums tab
+ * 3. Rotate device
+ * 4. Switch to Artists tab
+ * 5. Result: search query entered at 1. should show in search field and list should match search query
+ */
+ @Test
+ public void searchSwitchTabRotateReturnTest() {
+ Activity activity = mActivityRule.getActivity();
+
+ EspressoTestUtils.enterSearchQuery(activity, ARTIST_SEARCH_QUERY);
+ clickAlbumsTab();
+ EspressoTestUtils.rotateDevice(activity);
+ clickArtistsTab();
+
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ARTIST_SEARCH_QUERY, ARTIST_SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Tests if search query is still cleared when user clears a previous
+ * search query and switches to a different tab and returns to the
+ * original tab
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Clear search query
+ * 3. Switch to Albums tab
+ * 4. Switch to Artists tab
+ * 5. Click search menu item
+ * 6. Result: search query should be cleared and list should contain all items
+ */
+ @Test
+ public void searchClearSwitchTabSwitchBack() {
+ Activity activity = mActivityRule.getActivity();
+
+ EspressoTestUtils.enterSearchQuery(activity, ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.clearSearchQuery(activity);
+ clickAlbumsTab();
+ clickArtistsTab();
+ EspressoTestUtils.clickMenuItem(activity, activity.getString(R.string.action_search), R.id.action_search);
+
+ EspressoTestUtils.checkTextInSearchQuery("");
+ EspressoTestUtils.checkListMatchesSearchQuery("", ARTIST_COMPLETE_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Same test as {@link #searchClearSwitchTabSwitchBack()} but this time clearing performed using X button
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query
+ * 2. Clear search query
+ * 3. Switch to Albums tab
+ * 4. Switch to Artists tab
+ * 5. Click search menu item using X button
+ * 6. Result: search query should be cleared and list should contain all items
+ */
+ @Test
+ public void searchSwitchTabSwitchBackClearUsingXButtonSwitchTabSwitchBack() {
+ Activity activity = mActivityRule.getActivity();
+
+ EspressoTestUtils.enterSearchQuery(activity, ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ clickAlbumsTab();
+ clickArtistsTab();
+ EspressoTestUtils.clearSearchQueryXButton(activity);
+ clickAlbumsTab();
+ clickArtistsTab();
+
+ EspressoTestUtils.checkSearchMenuCollapsed();
+ EspressoTestUtils.clickMenuItem(activity, activity.getString(R.string.action_search), R.id.action_search);
+ EspressoTestUtils.checkTextInSearchQuery("");
+ EspressoTestUtils.checkListMatchesSearchQuery("", ARTIST_COMPLETE_LIST_SIZE, R.id.list);
+ }
+
+ /**
+ * Tests if search queries for separate tabs are restored correctly
+ *
+ * UI interaction flow tested:
+ * 1. Enter search query artists tab
+ * 2. Enter search query albums tab
+ * 3. Switch to Artists tab
+ * 4. Result: search query entered at 1. should show in search field and list should match search query
+ * 5. Switch to Albums tab
+ * 6. Result: search query entered at 2. should show in search field and list should match search query
+ */
+ @Test
+ public void searchArtistsSearchAlbumsSwitchArtists() {
+ Activity activity = mActivityRule.getActivity();
+
+ EspressoTestUtils.enterSearchQuery(activity, ARTIST_SEARCH_QUERY);
+ clickAlbumsTab();
+ EspressoTestUtils.enterSearchQuery(activity, ALBUMS_SEARCH_QUERY);
+ clickArtistsTab();
+
+ EspressoTestUtils.checkTextInSearchQuery(ARTIST_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ARTIST_SEARCH_QUERY, ARTIST_SEARCH_QUERY_LIST_SIZE, R.id.list);
+
+ clickAlbumsTab();
+
+ EspressoTestUtils.checkTextInSearchQuery(ALBUMS_SEARCH_QUERY);
+ EspressoTestUtils.checkListMatchesSearchQuery(ALBUMS_SEARCH_QUERY, ALBUM_SEARCH_QUERY_LIST_SIZE, R.id.list);
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/SlideUpPanelTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/SlideUpPanelTests.java
new file mode 100644
index 0000000..4041667
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/music/SlideUpPanelTests.java
@@ -0,0 +1,666 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.music;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.SystemClock;
+import android.view.View;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+import androidx.preference.PreferenceManager;
+import androidx.test.rule.ActivityTestRule;
+
+import com.google.android.material.bottomsheet.BottomSheetBehavior;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.Settings;
+import org.xbmc.kore.testhelpers.Utils;
+import org.xbmc.kore.testhelpers.action.ViewActions;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.testutils.tcpserver.handlers.PlayerHandler;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Application;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Player;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Playlist;
+import org.xbmc.kore.ui.sections.audio.MusicActivity;
+import org.xbmc.kore.ui.widgets.HighlightButton;
+import org.xbmc.kore.ui.widgets.NowPlayingPanel;
+import org.xbmc.kore.ui.widgets.RepeatModeButton;
+
+import java.util.concurrent.TimeoutException;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.Espresso.pressBack;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickAdapterViewItem;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.rotateDevice;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.waitForPanelState;
+import static org.xbmc.kore.testhelpers.Matchers.withHighlightState;
+import static org.xbmc.kore.testhelpers.Matchers.withProgress;
+import static org.xbmc.kore.testutils.TestUtils.createMusicItem;
+import static org.xbmc.kore.testutils.TestUtils.createMusicVideoItem;
+import static org.xbmc.kore.testutils.TestUtils.createVideoItem;
+
+public class SlideUpPanelTests extends AbstractTestClass {
+
+ @Rule
+ public ActivityTestRule musicActivityActivityTestRule =
+ new ActivityTestRule<>(MusicActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return musicActivityActivityTestRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ @Override
+ public void setUp() throws Throwable {
+ super.setUp();
+
+ getPlaylistHandler().reset();
+ getPlaylistHandler().addItemToPlaylist(Playlist.playlistID.AUDIO, createMusicItem(0, 0), true);
+ getPlaylistHandler().addItemToPlaylist(Playlist.playlistID.VIDEO, createVideoItem(0, 1), false);
+ getPlaylistHandler().addItemToPlaylist(Playlist.playlistID.VIDEO, createMusicVideoItem(0, 2), false);
+
+ getPlayerHandler().reset();
+ getPlayerHandler().setPlaylists(getPlaylistHandler().getPlaylists());
+ getPlayerHandler().startPlay(Playlist.playlistID.AUDIO, 0);
+
+ waitForPanelState(BottomSheetBehavior.STATE_COLLAPSED);
+ }
+
+ /**
+ * Test if panel title is correctly set
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Result: panel title should show current playing media item
+ */
+ @Test
+ public void panelTitleTest() {
+ Player.GetItem item = getPlayerHandler().getMediaItem();
+ onView(withId(R.id.title)).check(matches(withText(item.getTitle())));
+ }
+
+ /**
+ * Test if panel buttons are correctly set for music items
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Result: panel should show next, play, and previous buttons
+ */
+ @Test
+ public void panelButtonsMusicTest() {
+ onView(withId(R.id.next)).check(matches(isDisplayed()));
+ onView(withId(R.id.previous)).check(matches(isDisplayed()));
+ onView(withId(R.id.play)).check(matches(isDisplayed()));
+ }
+
+ /**
+ * Test if panel buttons are correctly set for movie items
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a movie item
+ * 2. Result: panel should show play button
+ */
+ @Test
+ public void panelButtonsMoviesTest() {
+ getPlayerHandler().startPlay(Playlist.playlistID.VIDEO, 0);
+ Player.GetItem item = getPlayerHandler().getMediaItem();
+ final String title = item.getTitle();
+ onView(isRoot()).perform(ViewActions.waitForView(
+ R.id.title, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return title.contentEquals(((TextView) v).getText());
+ }
+ }, 10000));
+
+ onView(withId(R.id.next)).check(matches(not(isDisplayed())));
+ onView(withId(R.id.previous)).check(matches(not(isDisplayed())));
+ onView(withId(R.id.play)).check(matches(isDisplayed()));
+ }
+
+ /**
+ * Test if panel buttons are correctly set for music video items
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music video item
+ * 2. Result: panel should show next, play, and previous buttons
+ */
+ @Test
+ public void panelButtonsMusicVideoTest() {
+ getPlayerHandler().startPlay(Playlist.playlistID.VIDEO, 1);
+ Player.GetItem item = getPlayerHandler().getMediaItem();
+ final String title = item.getTitle();
+ onView(isRoot()).perform(ViewActions.waitForView(
+ R.id.title, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return title.contentEquals(((TextView) v).getText());
+ }
+ }, 10000));
+
+ onView(withId(R.id.next)).check(matches(isDisplayed()));
+ onView(withId(R.id.previous)).check(matches(isDisplayed()));
+ onView(withId(R.id.play)).check(matches(isDisplayed()));
+ }
+
+ /**
+ * Test if shuffle button state is correctly set
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Click on shuffle button
+ * 4. Result: shuffle button should be highlighted
+ */
+ @Test
+ public void panelButtonsShuffleTest() {
+ expandPanel();
+
+ onView(withId(R.id.shuffle)).perform(click());
+
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.shuffle, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((HighlightButton) v).isHighlighted();
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if repeat button state is correctly set
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Click on repeat button
+ * 4. Result: repeat button should be highlighted and show single item repeat mode
+ * 5. Click on repeat button
+ * 6. Result: repeat button should be highlighted and show repeat playlist mode
+ * 7. Click on repeat button
+ * 8. Result: repeat button should not be highlighted
+ */
+ @Test
+ public void panelButtonsRepeatModes() {
+ expandPanel();
+
+ //Initial state should be OFF
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.repeat, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((RepeatModeButton) v).getMode() == RepeatModeButton.MODE.OFF;
+ }
+ }, 10000));
+
+ // Test if repeat mode is set to ONE after first click
+ onView(withId(R.id.repeat)).perform(click());
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.repeat, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((RepeatModeButton) v).getMode() == RepeatModeButton.MODE.ONE;
+ }
+ }, 10000));
+
+ // Test if repeat mode is set to ALL after second click
+ onView(withId(R.id.repeat)).perform(click());
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.repeat, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((RepeatModeButton) v).getMode() == RepeatModeButton.MODE.ALL;
+ }
+ }, 10000));
+
+
+ // Test if repeat mode is set to OFF after third click
+ onView(withId(R.id.repeat)).perform(click());
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.repeat, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((RepeatModeButton) v).getMode() == RepeatModeButton.MODE.OFF;
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if panel collapsed state is restored on configuration changes
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Rotate device
+ * 3. Result: panel state should be collapsed
+ */
+ @Test
+ public void keepCollapsedOnRotate() {
+ rotateDevice(getActivity());
+
+ waitForPanelState(BottomSheetBehavior.STATE_COLLAPSED;
+ }
+
+ /**
+ * Test if panel expanded state is restored on configuration changes
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Rotate device
+ * 4. Result: panel state should be expanded
+ */
+ @Test
+ public void keepExpandedOnRotate() {
+ expandPanel();
+
+ rotateDevice(getActivity());
+
+ waitForPanelState(BottomSheetBehavior.STATE_EXPANDED);
+ }
+
+ /**
+ * Test if repeat button state is restored on configuration changes
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Click on repeat button
+ * 4. Rotate device
+ * 5. Result: repeat button state should be restored to state in step 2
+ */
+ @Test
+ public void restoreRepeatButtonStateOnRotate() {
+ expandPanel();
+ onView(withId(R.id.repeat)).perform(click());
+
+ rotateDevice(getActivity());
+
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.repeat, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((RepeatModeButton) v).getMode() == RepeatModeButton.MODE.ONE;
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if shuffle button state is correctly set
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Click on shuffle button
+ * 4. Result: shuffle button state should be set to shuffle
+ */
+ @Test
+ public void setShuffleButtonState() {
+ expandPanel();
+
+ onView(withId(R.id.shuffle)).perform(click()); //Set state to shuffled
+
+ onView(withId(R.id.shuffle)).check(matches(withHighlightState(true)));
+ }
+
+ /**
+ * Test if shuffle button state is restored on configuration changes
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Click on shuffle button
+ * 4. Rotate device
+ * 5. Result: shuffle button state should be restored to state in step 2
+ */
+ @Test
+ public void restoreShuffleButtonStateOnRotate() {
+ expandPanel();
+ onView(withId(R.id.shuffle)).perform(click()); //Set state to shuffled
+
+ rotateDevice(getActivityTestRule().getActivity());
+
+ //Using waitForView as we need to wait for the rotate to finish
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.shuffle, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((HighlightButton) v).isHighlighted();
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if volume is correctly set at start
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Set volume at server
+ * 3. Expand panel
+ * 4. Result: Volume indicator should show the same volume level as set at the server
+ */
+ @Test
+ public void setVolume() {
+ final int volume = 16;
+
+ getApplicationHandler().setVolume(volume, true);
+
+ assertTrue(getApplicationHandler().getVolume() == volume);
+ expandPanel();
+ onView(withId(R.id.vli_seek_bar)).check(matches(withProgress(volume)));
+ onView(withId(R.id.vli_volume_text)).check(matches(withText(String.valueOf(volume))));
+ }
+
+ /**
+ * Test if changing volume through the volume slider, updates the volume indicator correctly
+ * and sends the volume change to the server
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Set volume using slider
+ * 4. Result: Volume indicator should show volume level and server should be set to new volume level
+ */
+ @Test
+ public void changeVolume() throws TimeoutException {
+ final int volume = 16;
+ expandPanel();
+
+ onView(withId(R.id.vli_seek_bar)).perform(ViewActions.slideSeekBar(volume));
+
+ onView(withId(R.id.vli_seek_bar)).check(matches(withProgress(volume)));
+ onView(withId(R.id.vli_volume_text)).check(matches(withText(String.valueOf(volume))));
+
+ getConnectionHandlerManager().waitForMethodHandled(Application.SetVolume.METHOD_NAME, 10000);
+ assertTrue("applicationHandler volume: "+ getApplicationHandler().getVolume()
+ + " != " + volume, getApplicationHandler().getVolume() == volume);
+ }
+
+ /**
+ * Test if changing volume through the volume slider, updates the volume indicator correctly
+ * and sends the volume change to the server
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Set volume using slider
+ * 4. Result: Volume indicator should show volume level and server should be set to new volume level
+ */
+ @Test
+ public void restoreVolumeIndicatorOnRotate() throws TimeoutException {
+ final int volume = 16;
+ expandPanel();
+ onView(withId(R.id.vli_seek_bar)).perform(ViewActions.slideSeekBar(volume));
+
+ rotateDevice(getActivity());
+
+ assertTrue("applicationHandler volume: "+ getApplicationHandler().getVolume()
+ + " != " + volume, getApplicationHandler().getVolume() == volume);
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.vli_seek_bar, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((SeekBar) v).getProgress() == volume;
+ }
+ }, 10000));
+ onView(withId(R.id.vli_volume_text)).check(matches(withText(String.valueOf(volume))));
+ }
+
+ /**
+ * Test if setting progression correctly updates the media progress indicator
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Pause playback
+ * 3. Expand panel
+ * 4. Set progression
+ * 5. Result: Media progression indicator should be correctly updated and progression change
+ * should be sent to the server.
+ */
+ @Test
+ public void setProgression() {
+ final int progress = 16;
+ final String progressText = "0:16";
+ expandPanel();
+ onView(withId(R.id.play)).perform(click()); //Pause playback
+
+ onView(withId(R.id.mpi_seek_bar)).perform(ViewActions.slideSeekBar(progress));
+
+ onView(withId(R.id.mpi_progress)).check(matches(withText(progressText)));
+ assertTrue(getPlayerHandler().getTimeElapsed() == progress);
+ }
+
+ /**
+ * Test if progression is correctly restored after device configuration change
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Pause playback
+ * 3. Expand panel
+ * 4. Set progression
+ * 5. Rotate device
+ * 6. Result: Progression should be correctly same as before rotating the device.
+ */
+ @Test
+ public void restoreProgressOnRotate() {
+ final int progress = 16;
+ final String progressText = "0:16";
+ expandPanel();
+ onView(withId(R.id.play)).perform(click()); //Pause playback
+
+ onView(withId(R.id.mpi_seek_bar)).perform(ViewActions.slideSeekBar(progress));
+ rotateDevice(getActivity());
+
+ assertEquals(getPlayerHandler().getTimeElapsed(), progress);
+ onView(withId(R.id.mpi_progress)).check(matches(withProgress(progressText)));
+ onView(withId(R.id.mpi_seek_bar)).check(matches(withProgress(progress)));
+ }
+
+ /**
+ * Kodi resumes playback when progression changes.
+ * Test if changing progression when player is paused caused
+ * progression to start updating again
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Pause playback
+ * 4. Set progression
+ * 5. Start playback at server (that's what Kodi does)
+ * 6. Result: Playback should start at paused position
+ */
+ @Test
+ public void pauseSetProgressionPlay() {
+ expandPanel();
+
+ onView(withId(R.id.play)).perform(click()); //Pause playback
+ onView(withId(R.id.mpi_seek_bar)).perform(ViewActions.slideSeekBar(16));
+ getPlayerHandler().startPlay();
+
+ SeekBar seekBar = (SeekBar) getActivity().findViewById(R.id.mpi_seek_bar);
+ final int progress = seekBar.getProgress();
+ onView(isRoot()).perform(ViewActions.waitForView(
+ R.id.mpi_seek_bar, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((SeekBar) v).getProgress() > progress;
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if panel's progressionbar progresses when playing media
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Result: Progression should be progressing
+ */
+ @Test
+ public void progressionUpdaterStartedAfterPlay() {
+ expandPanel();
+ SeekBar seekBar = (SeekBar) getActivity().findViewById(R.id.mpi_seek_bar);
+ final int progress = seekBar.getProgress();
+
+ onView(isRoot()).perform(ViewActions.waitForView(
+ R.id.mpi_seek_bar, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((SeekBar) v).getProgress() > progress;
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if panel's progression is maintained when starting a new activity
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Expand panel
+ * 3. Set progression
+ * 4. Switch to movies (new activity)
+ * 5. Result: Progression should continue from step 3
+ */
+ @Test
+ public void continueProgressionAfterSwitchingActivity() throws Throwable {
+ final int progress = 24;
+ expandPanel();
+ onView(withId(R.id.mpi_seek_bar)).perform(ViewActions.slideSeekBar(progress));
+
+ Utils.openDrawer(getActivityTestRule());
+ clickAdapterViewItem(2, R.id.navigation_drawer); //select movie activity
+
+ waitForPanelState(BottomSheetBehavior.STATE_COLLAPSED);
+ expandPanel();
+
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.mpi_seek_bar, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ int seekBarProgress = ((SeekBar) v).getProgress();
+ return (seekBarProgress > progress) && (seekBarProgress < (progress + 4));
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if pause button pauses playback
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Pause playback
+ * 3. Result: Server should stop playing and progressbar should pause
+ */
+ @Test
+ public void pausePlayback() {
+ onView(withId(R.id.play)).perform(click());
+
+ assertSame(getPlayerHandler().getPlayState(), PlayerHandler.PLAY_STATE.PAUSED);
+
+ expandPanel();
+ final int progress = ((SeekBar) getActivity().findViewById(R.id.mpi_seek_bar)).getProgress();
+ SystemClock.sleep(1000); //wait one second to check if progression has indeed paused
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.mpi_seek_bar, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ int seekBarProgress = ((SeekBar) v).getProgress();
+ return seekBarProgress == progress;
+ }
+ }, 10000));
+ }
+
+ /**
+ * Test if panel is not displayed when user disables the panel
+ * through the preference screen
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Disable showing panel in settings
+ * 3. Result: Panel should not show
+ */
+ @Test
+ public void disableShowingPanelInPreferences() throws Throwable {
+ Utils.openDrawer(getActivityTestRule());
+ clickAdapterViewItem(10, R.id.navigation_drawer); //Show preference screen
+
+ SharedPreferences.Editor edit = PreferenceManager.getDefaultSharedPreferences(getActivity()).edit();
+ edit.putBoolean(Settings.KEY_PREF_SHOW_NOW_PLAYING_PANEL, false);
+ edit.apply();
+ pressBack();
+
+ waitForPanelState(BottomSheetBehavior.STATE_HIDDEN);
+ }
+
+ /**
+ * Test if panel is displayed when user enables the panel
+ * through the preference screen
+ *
+ * UI interaction flow tested:
+ * 1. Start playing a music item
+ * 2. Disable showing panel in settings
+ * 3. Show Music screen
+ * 4. Enable showing panel in settings
+ * 4. Return to Music screen
+ * 5. Result: Panel should show
+ */
+ @Test
+ public void showPanelWhenUserEnablesPanel() throws Throwable {
+ Utils.openDrawer(getActivityTestRule());
+ clickAdapterViewItem(10, R.id.navigation_drawer); //Show preference screen
+ SharedPreferences.Editor edit = PreferenceManager.getDefaultSharedPreferences(getActivity()).edit();
+ edit.putBoolean(Settings.KEY_PREF_SHOW_NOW_PLAYING_PANEL, false);
+ edit.apply();
+ pressBack();
+
+ Utils.openDrawer(getActivityTestRule());
+ clickAdapterViewItem(10, R.id.navigation_drawer); //Show preference screen
+ edit.putBoolean(Settings.KEY_PREF_SHOW_NOW_PLAYING_PANEL, true);
+ edit.apply();
+ pressBack();
+
+ waitForPanelState(BottomSheetBehavior.STATE_COLLAPSED);
+ }
+
+ private void expandPanel() {
+ int tries = 10;
+ while (tries-- > 0) {
+ try {
+ onView(withId(R.id.title)).perform(click());
+
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.now_playing_panel, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((NowPlayingPanel) v).getPanelState() == BottomSheetBehavior.STATE_EXPANDED;
+ }
+ }, 1000));
+
+ return;
+ } catch (Exception e) {
+ //Either the click event did not work or the panel did not expand.
+ //Let's try again.
+ }
+ }
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/eventserver/ButtonTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/eventserver/ButtonTests.java
new file mode 100644
index 0000000..01464e5
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/eventserver/ButtonTests.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.remote.controlpad.eventserver;
+
+import android.content.Context;
+
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.eventclient.ButtonCodes;
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.host.HostManager;
+import org.xbmc.kore.jsonrpc.method.Input;
+import org.xbmc.kore.testhelpers.TestUtils;
+import org.xbmc.kore.testhelpers.Utils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.testutils.eventserver.EventPacket;
+import org.xbmc.kore.testutils.eventserver.EventPacketBUTTON;
+import org.xbmc.kore.testutils.eventserver.MockEventServer;
+import org.xbmc.kore.ui.sections.remote.RemoteActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.action.ViewActions.longClick;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static junit.framework.Assert.assertTrue;
+
+public class ButtonTests extends AbstractTestClass {
+ private static MockEventServer mockEventServer;
+
+ @Rule
+ public ActivityTestRule remoteActivityActivityTestRule =
+ new ActivityTestRule<>(RemoteActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return remoteActivityActivityTestRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+ Utils.setUseEventServerPreference(context, true);
+ }
+
+ @BeforeClass
+ public static void setupEventServer() {
+ mockEventServer = new MockEventServer();
+ mockEventServer.setListenPort(HostInfo.DEFAULT_EVENT_SERVER_PORT);
+ mockEventServer.start();
+ }
+
+ @Override
+ public void setUp() throws Throwable {
+ setKodiMajorVersion(HostInfo.KODI_V17_KRYPTON);
+ super.setUp();
+ }
+
+ @After
+ public void resetState() {
+ mockEventServer.reset();
+ }
+
+ @AfterClass
+ public static void cleanup() {
+ mockEventServer.shutdown();
+ }
+
+ @Test
+ public void leftControlPadButtonTest() {
+ onView(withId(R.id.left)).perform(click());
+
+ testRemoteButton(ButtonCodes.REMOTE_LEFT);
+ }
+
+ @Test
+ public void rightControlPadButtonTest() {
+ onView(withId(R.id.right)).perform(click());
+
+ testRemoteButton(ButtonCodes.REMOTE_RIGHT);
+ }
+
+ @Test
+ public void upControlPadButtonTest() {
+ onView(withId(R.id.up)).perform(click());
+
+ testRemoteButton(ButtonCodes.REMOTE_UP);
+ }
+
+ @Test
+ public void downControlPadButtonTest() {
+ onView(withId(R.id.down)).perform(click());
+
+ testRemoteButton(ButtonCodes.REMOTE_DOWN);
+ }
+
+ @Test
+ public void selectPadButtonTest() {
+ onView(withId(R.id.select)).perform(click());
+
+ testRemoteButton(ButtonCodes.REMOTE_SELECT);
+ }
+
+ //The following tests do not use the event server. They're included here
+ //to make sure they still work when the event server is enabled.
+ @Test
+ public void contextControlPadButtonTest() {
+ onView(withId(R.id.context)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.CONTEXTMENU);
+ }
+
+ @Test
+ public void infoControlPadButtonTest() {
+ HostManager.getInstance(getActivity()).getHostInfo().setKodiVersionMajor(17);
+
+ onView(withId(R.id.info)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.INFO);
+ }
+
+ @Test
+ public void infoControlPadButtonLongClickTest() {
+ onView(withId(R.id.info)).perform(longClick());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.PLAYERPROCESSINFO);
+ }
+
+ @Test
+ public void osdControlPadButtonTest() {
+ onView(withId(R.id.osd)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.OSD);
+ }
+
+ @Test
+ public void backControlPadButtonTest() {
+ onView(withId(R.id.back)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.Back.METHOD_NAME, null);
+ }
+
+ private void testRemoteButton(String buttonName) {
+ EventPacket packet = mockEventServer.getEventPacket();
+ assertTrue(packet != null);
+ assertTrue(packet.getPacketType() == EventPacket.PT_BUTTON);
+ assertTrue(((EventPacketBUTTON) packet).getButtonName().contentEquals(buttonName));
+ assertTrue(((EventPacketBUTTON) packet).getMapName().contentEquals(ButtonCodes.MAP_REMOTE));
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/eventserver/KodiPreV17Tests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/eventserver/KodiPreV17Tests.java
new file mode 100644
index 0000000..6012e21
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/eventserver/KodiPreV17Tests.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.remote.controlpad.eventserver;
+
+import android.content.Context;
+
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.jsonrpc.method.Input;
+import org.xbmc.kore.testhelpers.Utils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.testutils.eventserver.MockEventServer;
+import org.xbmc.kore.ui.sections.remote.RemoteActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.longClick;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static junit.framework.Assert.assertTrue;
+
+public class KodiPreV17Tests extends AbstractTestClass {
+ private static MockEventServer mockEventServer;
+
+ @Rule
+ public ActivityTestRule remoteActivityActivityTestRule =
+ new ActivityTestRule<>(RemoteActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return remoteActivityActivityTestRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+ Utils.setUseEventServerPreference(context, true);
+ }
+
+ @BeforeClass
+ public static void setupEventServer() {
+ mockEventServer = new MockEventServer();
+ mockEventServer.setListenPort(HostInfo.DEFAULT_EVENT_SERVER_PORT);
+ mockEventServer.start();
+ }
+
+ @Override
+ public void setUp() throws Throwable {
+ setKodiMajorVersion(HostInfo.KODI_V16_JARVIS);
+ super.setUp();
+ }
+
+ @After
+ public void resetState() {
+ mockEventServer.reset();
+ }
+
+ @AfterClass
+ public static void cleanup() {
+ mockEventServer.shutdown();
+ }
+
+ @Test
+ public void infoControlPadButtonLongClickTest() {
+ onView(withId(R.id.info)).perform(longClick());
+
+ String actionReceived = getInputHandler().getAction();
+ assertTrue(actionReceived != null);
+ assertTrue(actionReceived.contentEquals(Input.ExecuteAction.CODECINFO));
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/http/ButtonTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/http/ButtonTests.java
new file mode 100644
index 0000000..b0c358f
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/http/ButtonTests.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.remote.controlpad.http;
+
+import android.content.Context;
+
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.host.HostManager;
+import org.xbmc.kore.jsonrpc.method.Input;
+import org.xbmc.kore.testhelpers.TestUtils;
+import org.xbmc.kore.testhelpers.Utils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.remote.RemoteActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.action.ViewActions.longClick;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+
+
+public class ButtonTests extends AbstractTestClass {
+ @Rule
+ public ActivityTestRule remoteActivityActivityTestRule =
+ new ActivityTestRule<>(RemoteActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return remoteActivityActivityTestRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+ Utils.setUseEventServerPreference(context, false);
+ }
+
+ @Override
+ public void setUp() throws Throwable {
+ setKodiMajorVersion(HostInfo.KODI_V17_KRYPTON);
+ super.setUp();
+ }
+
+ @Test
+ public void leftControlPadButtonTest() {
+ onView(withId(R.id.left)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.Left.METHOD_NAME, null);
+ }
+
+ @Test
+ public void rightControlPadButtonTest() {
+ onView(withId(R.id.right)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.Right.METHOD_NAME, null);
+ }
+
+ @Test
+ public void upControlPadButtonTest() {
+ onView(withId(R.id.up)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.Up.METHOD_NAME, null);
+ }
+
+ @Test
+ public void downControlPadButtonTest() {
+ onView(withId(R.id.down)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.Down.METHOD_NAME, null);
+ }
+
+ @Test
+ public void selectPadButtonTest() {
+ onView(withId(R.id.select)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.Select.METHOD_NAME, null);
+ }
+
+ @Test
+ public void contextControlPadButtonTest() {
+ onView(withId(R.id.context)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.CONTEXTMENU);
+ }
+
+ @Test
+ public void infoControlPadButtonTest() {
+ HostManager.getInstance(getActivity()).getHostInfo().setKodiVersionMajor(17);
+
+ onView(withId(R.id.info)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.INFO);
+ }
+
+ @Test
+ public void infoControlPadButtonLongClickTest() {
+ onView(withId(R.id.info)).perform(longClick());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.PLAYERPROCESSINFO);
+ }
+
+ @Test
+ public void osdControlPadButtonTest() {
+ onView(withId(R.id.osd)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.OSD);
+ }
+
+ @Test
+ public void backControlPadButtonTest() {
+ onView(withId(R.id.back)).perform(click());
+
+ TestUtils.testHTTPEvent(Input.Back.METHOD_NAME, null);
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/http/KodiPreV17Tests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/http/KodiPreV17Tests.java
new file mode 100644
index 0000000..680a43e
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/controlpad/http/KodiPreV17Tests.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.remote.controlpad.http;
+
+import android.content.Context;
+
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.jsonrpc.method.Input;
+import org.xbmc.kore.testhelpers.TestUtils;
+import org.xbmc.kore.testhelpers.Utils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.remote.RemoteActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.longClick;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+
+public class KodiPreV17Tests extends AbstractTestClass {
+ @Rule
+ public ActivityTestRule remoteActivityActivityTestRule =
+ new ActivityTestRule<>(RemoteActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return remoteActivityActivityTestRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+ Utils.setUseEventServerPreference(context, false);
+ }
+
+ @Override
+ public void setUp() throws Throwable {
+ setKodiMajorVersion(HostInfo.KODI_V16_JARVIS);
+ super.setUp();
+ }
+
+ @Test
+ public void infoControlPadButtonLongClickTest() {
+ onView(withId(R.id.info)).perform(longClick());
+
+ TestUtils.testHTTPEvent(Input.ExecuteAction.METHOD_NAME, Input.ExecuteAction.CODECINFO);
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/playlistfragment/TCP/PlaylistTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/playlistfragment/TCP/PlaylistTests.java
new file mode 100644
index 0000000..73adb42
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/remote/playlistfragment/TCP/PlaylistTests.java
@@ -0,0 +1,294 @@
+/*
+ * Copyright 2018 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.remote.playlistfragment.TCP;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.EspressoTestUtils;
+import org.xbmc.kore.testhelpers.action.ViewActions;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.testutils.tcpserver.handlers.PlayerHandler;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Player;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Playlist;
+import org.xbmc.kore.ui.sections.remote.RemoteActivity;
+
+import java.util.List;
+import java.util.concurrent.TimeoutException;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.swipeLeft;
+import static androidx.test.espresso.action.ViewActions.swipeRight;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.allOf;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.xbmc.kore.testutils.TestUtils.createMusicItem;
+import static org.xbmc.kore.testutils.TestUtils.createPictureItem;
+import static org.xbmc.kore.testutils.TestUtils.createVideoItem;
+import static org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Playlist.OnClear;
+
+public class PlaylistTests extends AbstractTestClass {
+
+ private static final int PLAYLIST_SIZE = 10;
+
+ @Rule
+ public ActivityTestRule remoteActivityActivityTestRule =
+ new ActivityTestRule<>(RemoteActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return remoteActivityActivityTestRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ @Override
+ public void setUp() throws Throwable {
+ int itemId = 0;
+
+ getPlaylistHandler().reset();
+ for (int i = 0; i < PLAYLIST_SIZE; i++) {
+ getPlaylistHandler().addItemToPlaylist(Playlist.playlistID.AUDIO, createMusicItem(i, itemId++), false);
+ getPlaylistHandler().addItemToPlaylist(Playlist.playlistID.VIDEO, createVideoItem(i, itemId++), false);
+ getPlaylistHandler().addItemToPlaylist(Playlist.playlistID.PICTURE, createPictureItem(i, itemId++), false);
+ }
+
+ getPlayerHandler().reset();
+ getPlayerHandler().setPlaylists(getPlaylistHandler().getPlaylists());
+ getPlayerHandler().startPlay(Playlist.playlistID.AUDIO, 0);
+
+ // Checking for available playlists is done in PlaylistFragment on startup
+ // and every 10 seconds. To make sure PlaylistFragment can get the available
+ // playlists at startup, the activity needs to be created after the backend
+ // has been fully setup.
+ super.setUp();
+
+ onView(isRoot()).perform(swipeLeft());
+ waitForAudioPlaylistToShow();
+ }
+
+ /**
+ * Test if playlist is not cleared when playback is stopped
+ *
+ * UI interaction flow tested:
+ * 1. Start playing multiple music items
+ * 2. Stop playback
+ * 3. Result: playlist should still be visible
+ */
+ @Test
+ public void keepPlaylistOnStop() {
+ onView(isRoot()).perform(swipeRight());
+ EspressoTestUtils.clickButton(R.id.stop);
+ onView(isRoot()).perform(swipeLeft());
+
+ assertEquals(getPlaylistHandler().getPlaylist(Playlist.playlistID.AUDIO).size(), PLAYLIST_SIZE);
+ EspressoTestUtils.checkListViewSize(PLAYLIST_SIZE, R.id.playlist);
+ }
+
+ /**
+ * Test if playlist is not cleared when playback is paused
+ *
+ * UI interaction flow tested:
+ * 1. Start playing multiple music items
+ * 2. Pause playback
+ * 3. Result: playlist should still be visible
+ */
+ @Test
+ public void keepPlaylistOnPause() {
+ onView(isRoot()).perform(swipeRight());
+ EspressoTestUtils.clickButton(R.id.play);
+ onView(isRoot()).perform(swipeLeft());
+
+ assertEquals(getPlaylistHandler().getPlaylist(Playlist.playlistID.AUDIO).size(), PLAYLIST_SIZE);
+ EspressoTestUtils.checkListViewSize(PLAYLIST_SIZE, R.id.playlist);
+ }
+
+ /**
+ * Test if playlist is cleared when cleared on Kodi
+ *
+ * UI interaction flow tested:
+ * 1. Start playing multiple music items
+ * 2. Clear playlist on server (Kodi)
+ * 3. Result: playlist should be empty
+ */
+ @Test
+ public void clearPlaylistWhenClearedOnKodi() throws Exception {
+ getPlaylistHandler().clearPlaylist(Playlist.playlistID.AUDIO);
+ getConnectionHandlerManager().waitForNotification(OnClear.METHOD_NAME, 10000);
+
+ assertEquals(0, getPlaylistHandler().getPlaylist(Playlist.playlistID.AUDIO).size());
+ onView(allOf(withId(R.id.info_title), withText(R.string.playlist_empty)))
+ .check(matches(isDisplayed()));
+ }
+
+ /**
+ * Test if playback of a playlist is resumed after stopping playback
+ *
+ * UI interaction flow tested:
+ * 1. Start playing multiple music items
+ * 2. Stop playback
+ * 3. Click on playlist item
+ * 4. Result: playback should resume from clicked playlist item
+ */
+ @Test
+ public void stopPlayingAndResumeNextItem() throws TimeoutException {
+ int positionClicked = 3;
+ onView(isRoot()).perform(swipeRight());
+ EspressoTestUtils.clickButton(R.id.stop);
+ onView(isRoot()).perform(swipeLeft());
+ getConnectionHandlerManager().clearMethodsHandled();
+ EspressoTestUtils.clickAdapterViewItem(positionClicked, R.id.playlist);
+ getConnectionHandlerManager().waitForMethodHandled(Player.Open.METHOD_NAME, 10000);
+
+ List playlistOnServer = getPlaylistHandler().getPlaylist(Playlist.playlistID.AUDIO);
+ assertSame(getPlayerHandler().getPlayState(), PlayerHandler.PLAY_STATE.PLAYING);
+ assertEquals("Playlist on server has size " + playlistOnServer.size() +
+ " but should be " + PLAYLIST_SIZE, playlistOnServer.size(), PLAYLIST_SIZE);
+ assertEquals("Current playing item ID is " + getPlayerHandler().getMediaItem().getLibraryId() +
+ ", but this should be " + playlistOnServer.get(positionClicked).getLibraryId(),
+ getPlayerHandler().getMediaItem().getLibraryId(), playlistOnServer.get(positionClicked).getLibraryId());
+ }
+
+ /**
+ * Test if playlist is correctly restored after playback has stopped
+ * and device configuration changed
+ * UI interaction flow tested:
+ * 1. Start playing multiple music items
+ * 2. Rotate device
+ * 3. Result: playlist should be the same as before rotation
+ */
+ @Test
+ public void restorePlaylistAfterConfigurationChange() {
+ getConnectionHandlerManager().clearMethodsHandled();
+ EspressoTestUtils.rotateDevice(getActivity());
+ waitForAudioPlaylistToShow();
+
+ assertEquals(getPlaylistHandler().getPlaylist(Playlist.playlistID.AUDIO).size(), PLAYLIST_SIZE);
+ EspressoTestUtils.checkListViewSize(PLAYLIST_SIZE, R.id.playlist);
+ }
+
+ /**
+ * Test if playlist is correctly restored after playback has stopped
+ * and device configuration changed
+ * UI interaction flow tested:
+ * 1. Start playing multiple music items
+ * 2. Stop playback
+ * 3. Rotate device
+ * 4. Result: playlist should be the same as before rotation
+ */
+ @Test
+ public void restorePlaylistAfterStopAndConfigurationChange() {
+ onView(isRoot()).perform(swipeRight());
+ EspressoTestUtils.clickButton(R.id.stop);
+ onView(isRoot()).perform(swipeLeft());
+
+ getConnectionHandlerManager().clearMethodsHandled();
+ EspressoTestUtils.rotateDevice(getActivity());
+ waitForAudioPlaylistToShow();
+
+ assertEquals(getPlaylistHandler().getPlaylist(Playlist.playlistID.AUDIO).size(), PLAYLIST_SIZE);
+ EspressoTestUtils.checkListViewSize(PLAYLIST_SIZE, R.id.playlist);
+ }
+
+ /**
+ * Test if playlist for currently playing item is shown even if other
+ * playlists are available on server
+ * UI interaction flow tested:
+ * 1. Add audio and video playlists on server
+ * 2. Start playing video item
+ * 3. Result: playlist for video items should be shown
+ */
+ @Test
+ public void showCurrentlyPlayingPlaylist() {
+ getPlayerHandler().startPlay(Playlist.playlistID.VIDEO, 0);
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.playlist_item_title, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((TextView) v).getText().toString().contains("Video");
+ }
+ }, 10000));
+
+ assertEquals("Playlist on server has size "
+ + getPlaylistHandler().getPlaylist(Playlist.playlistID.VIDEO).size() +
+ " but should be " + PLAYLIST_SIZE,
+ getPlaylistHandler().getPlaylist(Playlist.playlistID.VIDEO).size(), PLAYLIST_SIZE);
+ assertEquals("Got media type "
+ + getPlayerHandler().getMediaItem().getType() +
+ ", this should be " + Player.GetItem.TYPE.movie.name(),
+ getPlayerHandler().getMediaItem().getType(), Player.GetItem.TYPE.movie.name());
+
+ onView(allOf(withText(getPlayerHandler().getMediaItem().getTitle()), isDisplayed())).check(matches(isDisplayed()));
+ }
+
+ /**
+ * Test if playlist for last played item is shown when playback has stopped
+ * and other playlists are available on server
+ * UI interaction flow tested:
+ * 1. Add audio, picture, and video playlists on server
+ * 2. Start playing video item
+ * 3. Stop playback
+ * 4. Result: playlist for video items should be shown
+ */
+ @Test
+ public void showLastActivePlaylist() {
+ getPlayerHandler().startPlay(Playlist.playlistID.VIDEO, 0);
+ onView(isRoot()).perform(swipeRight());
+ EspressoTestUtils.clickButton(R.id.stop);
+
+ onView(isRoot()).perform(swipeLeft());
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.playlist_item_title, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return ((TextView) v).getText().toString().contains("Video");
+ }
+ }, 10000));
+
+ assertEquals("Playlist on server has size "
+ + getPlaylistHandler().getPlaylist(Playlist.playlistID.VIDEO).size() +
+ " but should be " + PLAYLIST_SIZE,
+ getPlaylistHandler().getPlaylist(Playlist.playlistID.VIDEO).size(), PLAYLIST_SIZE);
+ assertEquals("Got media type "
+ + getPlayerHandler().getMediaItem().getType() +
+ ", this should be " + Player.GetItem.TYPE.movie.name(),
+ getPlayerHandler().getMediaItem().getType(), Player.GetItem.TYPE.movie.name());
+
+ onView(allOf(withText(getPlayerHandler().getMediaItem().getTitle()), isDisplayed())).check(matches(isDisplayed()));
+ }
+
+ private void waitForAudioPlaylistToShow() {
+ onView(isRoot()).perform(ViewActions.waitForView(R.id.playlist_item_title, new ViewActions.CheckStatus() {
+ @Override
+ public boolean check(View v) {
+ return "Music 1".contentEquals(((TextView) v).getText());
+ }
+ }, 10000));
+ }
+}
diff --git a/app/src/androidTest/java/org/xbmc/kore/tests/ui/tvshows/TVShowsActivityTests.java b/app/src/androidTest/java/org/xbmc/kore/tests/ui/tvshows/TVShowsActivityTests.java
new file mode 100644
index 0000000..068b0bb
--- /dev/null
+++ b/app/src/androidTest/java/org/xbmc/kore/tests/ui/tvshows/TVShowsActivityTests.java
@@ -0,0 +1,282 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.tests.ui.tvshows;
+
+import android.content.Context;
+import android.widget.TextView;
+
+import androidx.test.espresso.Espresso;
+import androidx.test.rule.ActivityTestRule;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.xbmc.kore.R;
+import org.xbmc.kore.testhelpers.EspressoTestUtils;
+import org.xbmc.kore.tests.ui.AbstractTestClass;
+import org.xbmc.kore.ui.sections.video.TVShowsActivity;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withParent;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.CoreMatchers.allOf;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.clickRecyclerViewItem;
+import static org.xbmc.kore.testhelpers.EspressoTestUtils.rotateDevice;
+import static org.xbmc.kore.testhelpers.action.ViewActions.nestedScrollTo;
+
+public class TVShowsActivityTests extends AbstractTestClass {
+ private final String TV_SHOW_TITLE = "11.22.63";
+ private final String EPISODE_TITLE = "The Rabbit Hole";
+
+ @Rule
+ public ActivityTestRule mActivityRule = new ActivityTestRule<>(
+ TVShowsActivity.class);
+
+ @Override
+ protected ActivityTestRule getActivityTestRule() {
+ return mActivityRule;
+ }
+
+ @Override
+ protected void setSharedPreferences(Context context) {
+
+ }
+
+ /**
+ * Test if action bar title initially displays TV Shows
+ */
+ @Test
+ public void setActionBarTitleMain() {
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText(R.string.tv_shows)));
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: action bar title should show list item title
+ */
+ @Test
+ public void setActionBarTitle() {
+ EspressoTestUtils.selectListItemAndCheckActionbarTitle(TV_SHOW_TITLE, R.id.list, TV_SHOW_TITLE);
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting a season
+ *
+ * UI interaction flow tested:
+ * 1. Click on TV Show item
+ * 2. Click on next episode item
+ * 3. Result: action bar title should show next episode title
+ */
+ @Test
+ public void setActionBarTitleOnNextEpisode() {
+ clickRecyclerViewItem(1, R.id.list);
+ onView( withId(R.id.next_episode_list)).perform( nestedScrollTo(), click());
+
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText("3")));
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting a season
+ *
+ * UI interaction flow tested:
+ * 1. Click on TV Show item
+ * 2. Click on season item
+ * 3. Result: action bar title should show season title
+ */
+ @Test
+ public void setActionBarTitleOnSeasonList() {
+ clickRecyclerViewItem(0, R.id.list);
+ onView( withId(R.id.seasons_list)).perform(nestedScrollTo(), click());
+
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText("Season 01")));
+ }
+
+ /**
+ * Test if action bar title is correctly set after selecting an episode from the season list
+ *
+ * UI interaction flow tested:
+ * 1. Click on TV Show item
+ * 2. Click on season item
+ * 3. Click on an episode
+ * 4. Result: action bar title should show episode title
+ */
+ @Test
+ public void setActionBarTitleOnSeasonListEpisode() {
+ clickRecyclerViewItem(0, R.id.list);
+ onView( withId(R.id.seasons_list)).perform( nestedScrollTo(), click());
+ EspressoTestUtils.selectListItemAndCheckActionbarTitle(EPISODE_TITLE, R.id.list, TV_SHOW_TITLE);
+ }
+
+ /**
+ * Test if action bar title is correctly restored after a configuration change
+ *
+ * UI interaction flow tested:
+ * 1. Click on TV Show item
+ * 2. Rotate device
+ * 3. Result: action bar title should show TV show item title
+ */
+ @Test
+ public void restoreActionBarTitleOnConfigurationStateChanged() {
+ EspressoTestUtils.selectListItemRotateDeviceAndCheckActionbarTitle(TV_SHOW_TITLE, R.id.list,
+ TV_SHOW_TITLE,
+ mActivityRule.getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored on season list after a configuration change
+ *
+ * UI interaction flow tested:
+ * 1. Click on TV Show item
+ * 2. Click on season item
+ * 3. Rotate device
+ * 4. Result: action bar title should show season title
+ */
+ @Test
+ public void restoreActionBarTitleSeasonListOnConfigurationStateChanged() {
+ clickRecyclerViewItem(0, R.id.list);
+ onView( withId(R.id.seasons_list)).perform( nestedScrollTo(), click());
+ EspressoTestUtils.rotateDevice(mActivityRule.getActivity());
+
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText("Season 01")));
+ }
+
+ /**
+ * Test if action bar title is correctly restored on episode item title after a configuration change
+ *
+ * UI interaction flow tested:
+ * 1. Click on TV Show item
+ * 2. Click on season item
+ * 3. Click on episode item
+ * 4. Rotate device
+ * 5. Result: action bar title should TV show title
+ */
+ @Test
+ public void restoreActionBarTitleSeasonListEpisodeOnConfigurationStateChanged() {
+ clickRecyclerViewItem(0, R.id.list);
+ onView( withId(R.id.seasons_list)).perform( nestedScrollTo(), click());
+ EspressoTestUtils.selectListItemRotateDeviceAndCheckActionbarTitle(EPISODE_TITLE, R.id.list,
+ TV_SHOW_TITLE,
+ mActivityRule.getActivity());
+ }
+
+ /**
+ * Test if action bar title is correctly restored on next episode item title after a configuration change
+ *
+ * UI interaction flow tested:
+ * 1. Click on TV Show item
+ * 2. Click on next episode item
+ * 3. Rotate device
+ * 4. Result: action bar title should show season title
+ */
+ @Test
+ public void restoreActionBarTitleNextEpisodeOnConfigurationStateChanged() {
+ clickRecyclerViewItem(1, R.id.list);
+ onView( withId(R.id.next_episode_list)).perform( nestedScrollTo() );
+ onView( withText("You'll See the Sparkle")).perform( click() );
+ EspressoTestUtils.rotateDevice(mActivityRule.getActivity());
+
+ onView(allOf(instanceOf(TextView.class), withParent(withId(R.id.default_toolbar))))
+ .check(matches(withText("3")));
+ }
+
+ /**
+ * Test if the initial state shows the hamburger icon
+ */
+ @Test
+ public void showHamburgerInInitialState() {
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void showArrowWhenSelectingListItem() {
+ clickRecyclerViewItem(0, R.id.list);
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is changed to an arrow when selecting a list item
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Press back
+ * 3. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void showHamburgerWhenSelectingListItemAndReturn() {
+ clickRecyclerViewItem(0, R.id.list);
+ Espresso.pressBack();
+
+ assertFalse(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an arrow when selecting a list item
+ * and rotating the device
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Result: navigation icon should be an arrow
+ */
+ @Test
+ public void restoreArrowOnConfigurationChange() {
+ clickRecyclerViewItem(0, R.id.list);
+ rotateDevice(getActivity());
+
+ assertTrue(getActivity().getDrawerIndicatorIsArrow());
+ }
+
+ /**
+ * Test if navigation icon is restored to an hamburger when selecting a list item
+ * and rotating the device and returning to the list
+ *
+ * UI interaction flow tested:
+ * 1. Click on list item
+ * 2. Rotate device
+ * 3. Press back
+ * 4. Result: navigation icon should be a hamburger
+ */
+ @Test
+ public void restoreHamburgerOnConfigurationChangeOnReturn() {
+ clickRecyclerViewItem(0, R.id.list);
+ rotateDevice(getActivity());
+ Espresso.pressBack();
+
+ assertTrue(EspressoTestUtils.getActivity() instanceof TVShowsActivity);
+ assertFalse(((TVShowsActivity) EspressoTestUtils.getActivity()).getDrawerIndicatorIsArrow());
+ }
+}
diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000..00dea88
--- /dev/null
+++ b/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/debug/README.md b/app/src/debug/README.md
new file mode 100644
index 0000000..deae291
--- /dev/null
+++ b/app/src/debug/README.md
@@ -0,0 +1,5 @@
+Resources required for both the local and instrumentation tests.
+
+**Note**: do not put any tests here! Put local tests
+that DO NOT need to be executed on an android device in [test](../test).
+Put tests that DO need to run on an android device in [androidTest](../androidTest).
diff --git a/app/src/debug/assets/Addons.GetAddons.json b/app/src/debug/assets/Addons.GetAddons.json
new file mode 100644
index 0000000..9b05415
--- /dev/null
+++ b/app/src/debug/assets/Addons.GetAddons.json
@@ -0,0 +1,1244 @@
+{
+ "jsonrpc" : "2.0",
+ "id" : "libAddons",
+ "result" : {
+ "addons" : [
+ {
+ "path" : "/home/martijn/.kodi/addons/metadata.common.fanart.tv",
+ "enabled" : true,
+ "extrainfo" : [],
+ "description" : "Download backdrops from www.fanart.tv.com",
+ "rating" : -1,
+ "disclaimer" : "",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "xbmc.metadata",
+ "version" : "2.1.0"
+ }
+ ],
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.library",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "3.1.4",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.fanart.tv%2ficon.png/",
+ "summary" : "fanart.tv Scraper Library",
+ "name" : "fanart.tv Scraper Library",
+ "addonid" : "metadata.common.fanart.tv"
+ },
+ {
+ "fanart" : "",
+ "version" : "1.1.8",
+ "type" : "kodi.resource.images",
+ "broken" : false,
+ "installed" : true,
+ "name" : "Weather Icons - Default",
+ "addonid" : "resource.images.weathericons.default",
+ "summary" : "Default Weather Icons",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fresource.images.weathericons.default%2ficon.png/",
+ "description" : "Default set of Weather Icons shipped with Kodi",
+ "rating" : -1,
+ "extrainfo" : [],
+ "enabled" : true,
+ "path" : "/usr/share/kodi/addons/resource.images.weathericons.default",
+ "dependencies" : [
+ {
+ "version" : "1.0.0",
+ "optional" : false,
+ "addonid" : "kodi.resource"
+ }
+ ],
+ "author" : "Team Kodi",
+ "disclaimer" : ""
+ },
+ {
+ "author" : "Skipmode A1, Sparkline, Martijn",
+ "dependencies" : [
+ {
+ "version" : "5.1.7",
+ "optional" : false,
+ "addonid" : "plugin.video.youtube"
+ },
+ {
+ "version" : "3.0.8",
+ "addonid" : "script.module.beautifulsoup",
+ "optional" : false
+ },
+ {
+ "optional" : false,
+ "addonid" : "script.module.requests",
+ "version" : "2.4.3"
+ },
+ {
+ "addonid" : "xbmc.python",
+ "optional" : false,
+ "version" : "2.14.0"
+ }
+ ],
+ "disclaimer" : "For bugs, requests or general questions visit the Dumpert.nl thread on the XBMC forum.",
+ "rating" : -1,
+ "extrainfo" : [
+ {
+ "value" : "nl",
+ "key" : "language"
+ },
+ {
+ "value" : "video",
+ "key" : "provides"
+ }
+ ],
+ "description" : "Watch funny videos from Dumpert.nl (dutch)",
+ "enabled" : true,
+ "path" : "/home/martijn/.kodi/addons/plugin.video.dumpert",
+ "name" : "Dumpert",
+ "addonid" : "plugin.video.dumpert",
+ "summary" : "Watch funny videos from Dumpert.nl (dutch)",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.dumpert%2ficon.png/",
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.dumpert%2ffanart.jpg/",
+ "version" : "1.1.4",
+ "type" : "xbmc.python.pluginsource",
+ "broken" : false,
+ "installed" : true
+ },
+ {
+ "name" : "Kodi Add-on repository",
+ "addonid" : "repository.xbmc.org",
+ "summary" : "Install Add-ons from Kodi.tv",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2frepository.xbmc.org%2ficon.png/",
+ "fanart" : "",
+ "version" : "2.5.9",
+ "type" : "xbmc.addon.repository",
+ "broken" : false,
+ "installed" : true,
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "xbmc.addon",
+ "version" : "12.0.0"
+ }
+ ],
+ "author" : "Team Kodi",
+ "disclaimer" : "Team Kodi did not make all the add-ons on this repository and are not responsible for their content",
+ "extrainfo" : [],
+ "rating" : -1,
+ "description" : "Download and install add-ons from the Official Kodi.tv add-on repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All add-ons on this repository have under gone basic testing, if you find a broken or not working add-on please report it to Team Kodi so we can take any action needed.",
+ "enabled" : true,
+ "path" : "/usr/share/kodi/addons/repository.xbmc.org"
+ },
+ {
+ "disclaimer" : "",
+ "author" : "jez500, Team Kodi",
+ "dependencies" : [
+ {
+ "addonid" : "xbmc.json",
+ "optional" : false,
+ "version" : "6.0.0"
+ }
+ ],
+ "path" : "/usr/share/kodi/addons/webinterface.default",
+ "extrainfo" : [
+ {
+ "key" : "language",
+ "value" : "en"
+ }
+ ],
+ "description" : "Browse and interact with your Music, Movies, TV Shows and more via a web browser. Stream music and videos to your browser. Edit and manage your Kodi media library.",
+ "rating" : -1,
+ "enabled" : true,
+ "summary" : "Default web interface",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fwebinterface.default%2ficon.png/",
+ "addonid" : "webinterface.default",
+ "name" : "Kodi web interface - Chorus2",
+ "installed" : true,
+ "type" : "xbmc.webinterface",
+ "broken" : false,
+ "version" : "2.4.4",
+ "fanart" : ""
+ },
+ {
+ "description" : "Black is a simple screensaver that will turn your screen black.",
+ "rating" : -1,
+ "extrainfo" : [],
+ "enabled" : true,
+ "path" : "/usr/share/kodi/addons/screensaver.xbmc.builtin.black",
+ "dependencies" : [],
+ "author" : "Team Kodi",
+ "disclaimer" : "",
+ "fanart" : "",
+ "version" : "1.0.31",
+ "type" : "xbmc.ui.screensaver",
+ "broken" : false,
+ "installed" : true,
+ "name" : "Black",
+ "addonid" : "screensaver.xbmc.builtin.black",
+ "summary" : "Screensaver that turns your screen black",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fscreensaver.xbmc.builtin.black%2ficon.png/"
+ },
+ {
+ "path" : "/home/martijn/.kodi/addons/metadata.albums.theaudiodb.com",
+ "extrainfo" : [],
+ "description" : "TheAudioDB.com is a community driven database of audio releases. It is our aim to be the most simple, easy to use and accurate source for Music metadata on the web. We also provide an API to access our repository of data so it can be used in many popular HTPC and Mobile apps to give you the best possible audio experience without the hassle.",
+ "rating" : -1,
+ "enabled" : true,
+ "disclaimer" : "",
+ "dependencies" : [
+ {
+ "version" : "3.1.0",
+ "optional" : false,
+ "addonid" : "metadata.common.fanart.tv"
+ },
+ {
+ "version" : "1.7.3",
+ "addonid" : "metadata.common.theaudiodb.com",
+ "optional" : false
+ },
+ {
+ "version" : "2.1.0",
+ "addonid" : "xbmc.metadata",
+ "optional" : false
+ }
+ ],
+ "author" : "Olympia, Team Kodi",
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.albums",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "1.2.0",
+ "summary" : "TheAudioDb Album Scraper",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.albums.theaudiodb.com%2ficon.png/",
+ "name" : "TheAudioDb Album Scraper",
+ "addonid" : "metadata.albums.theaudiodb.com"
+ },
+ {
+ "addonid" : "audioencoder.xbmc.builtin.wma",
+ "name" : "WMA encoder",
+ "summary" : "WMA Audio Encoder",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2faudioencoder.xbmc.builtin.wma%2ficon.png/",
+ "version" : "1.0.0",
+ "fanart" : "",
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.audioencoder",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "xbmc.audioencoder",
+ "version" : "1.0.0"
+ }
+ ],
+ "author" : "spiff",
+ "disclaimer" : "",
+ "extrainfo" : [],
+ "description" : "WMA Audio Encoder",
+ "rating" : -1,
+ "enabled" : true,
+ "path" : "/usr/share/kodi/addons/audioencoder.xbmc.builtin.wma"
+ },
+ {
+ "disclaimer" : "",
+ "dependencies" : [],
+ "author" : "Team Kodi",
+ "path" : "/usr/share/kodi/addons/game.controller.default",
+ "enabled" : true,
+ "description" : "The default media center controller is based on the Xbox 360 controller.",
+ "rating" : -1,
+ "extrainfo" : [],
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fgame.controller.default%2ficon.png/",
+ "summary" : "Default Controller",
+ "name" : "Default Controller",
+ "addonid" : "game.controller.default",
+ "broken" : false,
+ "type" : "kodi.game.controller",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "1.0.3"
+ },
+ {
+ "dependencies" : [],
+ "author" : "Team Kodi",
+ "disclaimer" : "",
+ "enabled" : true,
+ "extrainfo" : [],
+ "description" : "The Dim screensaver is a simple screensaver that will dim (fade out) your screen to a setable value between 20 and 100% .",
+ "rating" : -1,
+ "path" : "/usr/share/kodi/addons/screensaver.xbmc.builtin.dim",
+ "addonid" : "screensaver.xbmc.builtin.dim",
+ "name" : "Dim",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fscreensaver.xbmc.builtin.dim%2ficon.png/",
+ "summary" : "Screensaver that dims your screen",
+ "version" : "1.0.38",
+ "fanart" : "",
+ "installed" : true,
+ "type" : "xbmc.ui.screensaver",
+ "broken" : false
+ },
+ {
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.beautifulsoup4%2ficon.png/",
+ "summary" : "HTML/XML parser for quick-turnaround applications like screen-scraping",
+ "addonid" : "script.module.beautifulsoup4",
+ "name" : "BeautifulSoup4",
+ "installed" : true,
+ "type" : "xbmc.python.module",
+ "broken" : false,
+ "version" : "4.5.3",
+ "fanart" : "",
+ "disclaimer" : "",
+ "author" : "Leonard Richardson (leonardr@segfault.org)",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "xbmc.python",
+ "version" : "2.25.0"
+ }
+ ],
+ "path" : "/home/martijn/.kodi/addons/script.module.beautifulsoup4",
+ "enabled" : true,
+ "rating" : -1,
+ "description" : "Beautiful Soup parses arbitrarily invalid SGML and provides a variety of methods and Pythonic idioms for iterating and searching the parse tree.",
+ "extrainfo" : []
+ },
+ {
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "metadata.common.imdb.com",
+ "version" : "2.7.8"
+ },
+ {
+ "optional" : false,
+ "addonid" : "metadata.common.themoviedb.org",
+ "version" : "2.13.1"
+ },
+ {
+ "optional" : true,
+ "addonid" : "plugin.video.youtube",
+ "version" : "4.4.10"
+ },
+ {
+ "addonid" : "xbmc.metadata",
+ "optional" : false,
+ "version" : "2.1.0"
+ }
+ ],
+ "disclaimer" : "",
+ "extrainfo" : [],
+ "description" : "themoviedb.org is a free and open movie database. It's completely user driven by people like you. TMDb is currently used by millions of people every month and with their powerful API, it is also used by many popular media centers like Kodi to retrieve Movie Metadata, Posters and Fanart to enrich the user's experience.",
+ "rating" : -1,
+ "enabled" : true,
+ "path" : "/home/martijn/.kodi/addons/metadata.themoviedb.org",
+ "addonid" : "metadata.themoviedb.org",
+ "name" : "The Movie Database",
+ "summary" : "TMDB Movie Scraper",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.themoviedb.org%2ficon.png/",
+ "version" : "3.9.3",
+ "fanart" : "",
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.movies"
+ },
+ {
+ "disclaimer" : "Feel free to use this script. For information visit kodi.tv",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "addonid" : "xbmc.python",
+ "optional" : false,
+ "version" : "2.1.0"
+ }
+ ],
+ "path" : "/home/martijn/.kodi/addons/service.xbmc.versioncheck",
+ "extrainfo" : [],
+ "rating" : -1,
+ "description" : "Kodi Version Check only supports a number of platforms/distros as releases may differ between them. For more information visit the kodi.tv website.",
+ "enabled" : true,
+ "summary" : "Kodi Version Check checks if you are running latest released version.",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fservice.xbmc.versioncheck%2ficon.png/",
+ "addonid" : "service.xbmc.versioncheck",
+ "name" : "Version Check",
+ "installed" : true,
+ "type" : "xbmc.service",
+ "broken" : false,
+ "version" : "0.3.22",
+ "fanart" : ""
+ },
+ {
+ "rating" : -1,
+ "extrainfo" : [
+ {
+ "key" : "language",
+ "value" : "nl"
+ },
+ {
+ "value" : "video",
+ "key" : "provides"
+ }
+ ],
+ "description" : "Watch videos from Gamekings.nl (dutch)",
+ "enabled" : true,
+ "path" : "/home/martijn/.kodi/addons/plugin.video.gamekings",
+ "dependencies" : [
+ {
+ "version" : "1.4.5",
+ "addonid" : "plugin.video.twitch",
+ "optional" : false
+ },
+ {
+ "version" : "4.1.4",
+ "addonid" : "plugin.video.vimeo",
+ "optional" : false
+ },
+ {
+ "addonid" : "plugin.video.youtube",
+ "optional" : false,
+ "version" : "5.1.7"
+ },
+ {
+ "addonid" : "script.module.beautifulsoup",
+ "optional" : false,
+ "version" : "3.0.8"
+ },
+ {
+ "version" : "2.4.3",
+ "addonid" : "script.module.requests",
+ "optional" : false
+ },
+ {
+ "optional" : false,
+ "addonid" : "xbmc.python",
+ "version" : "2.14.0"
+ }
+ ],
+ "author" : "Skipmode A1, Amelandbor",
+ "disclaimer" : "For bugs, requests or general questions visit the Gamekings.nl thread on the Kodi forum.",
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.gamekings%2ffanart.jpg/",
+ "version" : "1.2.7",
+ "broken" : false,
+ "type" : "xbmc.python.pluginsource",
+ "installed" : true,
+ "name" : "GameKings",
+ "addonid" : "plugin.video.gamekings",
+ "summary" : "Watch videos from Gamekings.nl (dutch)",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.gamekings%2ficon.png/"
+ },
+ {
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.beautifulsoup%2ficon.png/",
+ "summary" : "HTML/XML parser for quick-turnaround applications like screen-scraping",
+ "name" : "BeautifulSoup",
+ "addonid" : "script.module.beautifulsoup",
+ "type" : "xbmc.python.module",
+ "broken" : false,
+ "installed" : true,
+ "fanart" : "",
+ "version" : "3.2.1",
+ "disclaimer" : "",
+ "author" : "Leonard Richardson (leonardr@segfault.org)",
+ "dependencies" : [
+ {
+ "version" : "2.1.0",
+ "addonid" : "xbmc.python",
+ "optional" : false
+ }
+ ],
+ "path" : "/home/martijn/.kodi/addons/script.module.beautifulsoup",
+ "enabled" : true,
+ "description" : "Beautiful Soup parses arbitrarily invalid SGML and provides a variety of methods and Pythonic idioms for iterating and searching the parse tree.",
+ "extrainfo" : [],
+ "rating" : -1
+ },
+ {
+ "dependencies" : [
+ {
+ "addonid" : "xbmc.python",
+ "optional" : false,
+ "version" : "2.1.0"
+ }
+ ],
+ "author" : "PythonWare",
+ "disclaimer" : "",
+ "rating" : -1,
+ "extrainfo" : [],
+ "description" : "",
+ "enabled" : true,
+ "path" : "/usr/share/kodi/addons/script.module.pil",
+ "addonid" : "script.module.pil",
+ "name" : "Python Image Library",
+ "summary" : "",
+ "thumbnail" : "",
+ "version" : "1.1.7",
+ "fanart" : "",
+ "installed" : true,
+ "type" : "xbmc.python.module",
+ "broken" : false
+ },
+ {
+ "type" : "xbmc.python.pluginsource",
+ "broken" : false,
+ "installed" : true,
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.southpark_unofficial%2ffanart.jpg/",
+ "version" : "0.4.5",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.southpark_unofficial%2ficon.png/",
+ "summary" : "South Park Unofficial Player",
+ "name" : "South Park",
+ "addonid" : "plugin.video.southpark_unofficial",
+ "path" : "/home/martijn/.kodi/addons/plugin.video.southpark_unofficial",
+ "enabled" : true,
+ "extrainfo" : [
+ {
+ "key" : "language",
+ "value" : "en"
+ },
+ {
+ "value" : "video",
+ "key" : "provides"
+ }
+ ],
+ "description" : "Watch South Park episodes. The supported countries are the one that can view videos from http://southpark.cc.com or http://www.southpark.de.",
+ "rating" : -1,
+ "disclaimer" : "Some parts of this addon may not be legal in your country of residence - please check with your local laws before installing.",
+ "author" : "Deroad",
+ "dependencies" : [
+ {
+ "version" : "2.1.0",
+ "addonid" : "xbmc.python",
+ "optional" : false
+ }
+ ]
+ },
+ {
+ "path" : "/home/martijn/.kodi/addons/plugin.video.vimeo",
+ "enabled" : true,
+ "description" : "Vimeo is a one of the biggest video-sharing websites of the world.",
+ "rating" : -1,
+ "extrainfo" : [
+ {
+ "key" : "provides",
+ "value" : "video"
+ }
+ ],
+ "disclaimer" : "",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "xbmc.python",
+ "version" : "2.14.0"
+ }
+ ],
+ "author" : "bromix",
+ "type" : "xbmc.python.pluginsource",
+ "broken" : false,
+ "installed" : true,
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.vimeo%2ffanart.jpg/",
+ "version" : "4.1.4",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.vimeo%2ficon.png/",
+ "summary" : "Plugin for Vimeo",
+ "name" : "Vimeo",
+ "addonid" : "plugin.video.vimeo"
+ },
+ {
+ "installed" : true,
+ "type" : "xbmc.metadata.scraper.musicvideos",
+ "broken" : false,
+ "version" : "1.3.3",
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.musicvideos.theaudiodb.com%2ffanart.jpg/",
+ "summary" : "theaudiodb.com Music Video Scraper",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.musicvideos.theaudiodb.com%2ficon.png/",
+ "addonid" : "metadata.musicvideos.theaudiodb.com",
+ "name" : "TheAudioDb.com for Music Videos",
+ "path" : "/home/martijn/.kodi/addons/metadata.musicvideos.theaudiodb.com",
+ "rating" : -1,
+ "extrainfo" : [],
+ "description" : "This scraper downloads Music Video information from TheAudioDB.com website. Due to various search difficulties the scraper currently expects the folder/filename to be formatted as 'artist - trackname' otherwise it will not return results. It is important to note the space between the hyphen.",
+ "enabled" : true,
+ "disclaimer" : "",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "version" : "3.1.0",
+ "optional" : false,
+ "addonid" : "metadata.common.fanart.tv"
+ },
+ {
+ "version" : "1.7.3",
+ "optional" : false,
+ "addonid" : "metadata.common.theaudiodb.com"
+ },
+ {
+ "version" : "2.1.0",
+ "addonid" : "xbmc.metadata",
+ "optional" : false
+ }
+ ]
+ },
+ {
+ "disclaimer" : "",
+ "dependencies" : [
+ {
+ "addonid" : "script.module.requests",
+ "optional" : false,
+ "version" : "2.12.4"
+ },
+ {
+ "optional" : false,
+ "addonid" : "xbmc.python",
+ "version" : "2.19.0"
+ }
+ ],
+ "author" : "jdf76, bromix",
+ "path" : "/home/martijn/.kodi/addons/plugin.video.youtube",
+ "enabled" : true,
+ "description" : "YouTube is one of the biggest video-sharing websites of the world.",
+ "rating" : -1,
+ "extrainfo" : [
+ {
+ "value" : "video",
+ "key" : "provides"
+ }
+ ],
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.youtube%2ficon.png/",
+ "summary" : "Plugin for YouTube",
+ "addonid" : "plugin.video.youtube",
+ "name" : "YouTube",
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.python.pluginsource",
+ "version" : "5.3.12",
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.youtube%2ffanart.jpg/"
+ },
+ {
+ "broken" : false,
+ "type" : "xbmc.python.pluginsource",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "1.3.1",
+ "summary" : "Uitzendinggemist (NPO) - Watch free videos from Uitzendinggemist (only with a dutch ip-address)",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.uzg%2ficon.png/",
+ "name" : "Uitzendinggemist (NPO)",
+ "addonid" : "plugin.video.uzg",
+ "path" : "/home/martijn/.kodi/addons/plugin.video.uzg",
+ "rating" : -1,
+ "extrainfo" : [
+ {
+ "key" : "language",
+ "value" : "nl"
+ },
+ {
+ "value" : "video",
+ "key" : "provides"
+ }
+ ],
+ "description" : "Dutch Uitzendinggemist (NPO) videos NED1 / NED2 / NED3 (only with a dutch ip-address)",
+ "enabled" : true,
+ "disclaimer" : "",
+ "author" : "Bas Magré (Opvolger)",
+ "dependencies" : [
+ {
+ "version" : "2.4.0",
+ "addonid" : "script.module.xbmcswift2",
+ "optional" : false
+ },
+ {
+ "version" : "2.1.0",
+ "addonid" : "xbmc.python",
+ "optional" : false
+ }
+ ]
+ },
+ {
+ "fanart" : "image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estouchy%2fresources%2ffanart.jpg/",
+ "version" : "1.1.9",
+ "broken" : false,
+ "type" : "xbmc.gui.skin",
+ "installed" : true,
+ "name" : "Estouchy",
+ "addonid" : "skin.estouchy",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estouchy%2fresources%2ficon.png/",
+ "summary" : "Skin for touchscreen devices",
+ "enabled" : true,
+ "extrainfo" : [],
+ "description" : "Skin designed to be used on touchscreen devices like tablets and smartphones",
+ "rating" : -1,
+ "path" : "/usr/share/kodi/addons/skin.estouchy",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "version" : "5.12.0",
+ "addonid" : "xbmc.gui",
+ "optional" : false
+ }
+ ],
+ "disclaimer" : ""
+ },
+ {
+ "addonid" : "script.module.requests",
+ "name" : "requests",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.requests%2ficon.png/",
+ "summary" : "Python HTTP for Humans",
+ "version" : "2.12.4",
+ "fanart" : "",
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.python.module",
+ "dependencies" : [
+ {
+ "version" : "2.14.0",
+ "optional" : false,
+ "addonid" : "xbmc.python"
+ }
+ ],
+ "author" : "kennethreitz, beenje",
+ "disclaimer" : "",
+ "enabled" : true,
+ "description" : "Packed for KODI from https://github.com/kennethreitz/requests",
+ "rating" : -1,
+ "extrainfo" : [],
+ "path" : "/home/martijn/.kodi/addons/script.module.requests"
+ },
+ {
+ "version" : "0.9.98",
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.lazytv%2ffanart.jpg/",
+ "installed" : true,
+ "type" : "xbmc.python.script",
+ "broken" : false,
+ "addonid" : "script.lazytv",
+ "name" : "LazyTV",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.lazytv%2ficon.png/",
+ "summary" : "LazyTV",
+ "enabled" : true,
+ "extrainfo" : [
+ {
+ "value" : "en",
+ "key" : "language"
+ },
+ {
+ "value" : "executable",
+ "key" : "provides"
+ }
+ ],
+ "description" : "You have a huge library of TV shows and you havent viewed half of it. So why does it feel like such a chore to sit down and watch something?\nLazyTV is here to free you from your battles with indecision, instead letting you lean back and soak up content. With one click you can be channel-surfing your own library, or have what you probably want to watch pop up in a single window.\nAfterall, you know you want to watch TV, so why do you also have to decide what specifically to watch?\n\nUnlike a smart playlist or skin widget, LazyTV doesnt just provide the first unwatched episode of a TV show. It provides the first unwatched episode AFTER the last watched one in your library. A small, but important, distinction.\n\nLazyTV offers two main functions:\nThe first creates and launches a randomised playlist of the TV episodes. And not just any episodes, but the next episode it thinks you would want to watch. You also have the option to blend in your movies (both the watched and the unwatched) to complete the channel-surfing experience.\nThe second main function populates a window with the next available episode for each of your TV Shows. One click and your viewing menu is there, immediately.\n\nCombine either of the main functions with a playlist of preselected shows to customise your experience even further.\nSome TV shows, like cartoons or skit shows, can be viewed out of episodic order. So LazyTV gives you the ability to identify these shows and treat them differently. Those shows will be played in a random order.\n\nLazyTV also offers two minor functions that extend beyond the addon itself:\nThe first is an option to be notified if you are about to watch an episode that has an unwatched episode before it. This function excludes the TV shows identified as able to be watched out of order.\nThe second option posts a notification when you finish watching a TV episode telling you that the next show is available and asks if you want to view it now.\n\n\nLazyTV contains a service that stores the next episodes' information and monitors your player to pre-empt database changes. This is my attempt to make the addon more responsive on my Raspberry Pi. The Pi still takes a while to \"warm-up\"; a full refresh of the episode data (which occurs at start-up and on a library update) takes about 30 seconds for my ~100 show library*. However, the show list window opens and the random player starts in less than 2 seconds.\n\n*The same update takes 2 seconds on my laptop with its i5 processor.",
+ "rating" : -1,
+ "path" : "/home/martijn/.kodi/addons/script.lazytv",
+ "dependencies" : [
+ {
+ "version" : "2.1.0",
+ "optional" : false,
+ "addonid" : "xbmc.python"
+ }
+ ],
+ "author" : "KodeKarnage",
+ "disclaimer" : ""
+ },
+ {
+ "extrainfo" : [
+ {
+ "value" : "executable",
+ "key" : "provides"
+ }
+ ],
+ "rating" : -1,
+ "description" : "The most powerful way to access content on Netflix and YouTube and Amazon Instant Video would be a web browser, if web browsers provided good native support for a 10-foot user interface. This add-on launches a browser and connects the arrow buttons on the remote control to the mouse pointer. This is the most user-friendly way to consume online content without needing a wireless keyboard.",
+ "enabled" : true,
+ "path" : "/home/martijn/.kodi/addons/plugin.program.remote.control.browser",
+ "dependencies" : [
+ {
+ "version" : "4.3.2",
+ "addonid" : "script.module.beautifulsoup4",
+ "optional" : false
+ },
+ {
+ "version" : "1.1.7",
+ "addonid" : "script.module.pil",
+ "optional" : false
+ },
+ {
+ "version" : "2.24.0",
+ "addonid" : "xbmc.python",
+ "optional" : false
+ }
+ ],
+ "author" : "Chad Parry",
+ "disclaimer" : "The experience will be degraded unless these external dependencies are installed: “psutil,” “pyalsaaudio,” “pylirc2,” and “Pillow.” Another helpful utility is “unclutter,” which automatically hides the mouse pointer. (On a Debian-based system, run “sudo apt-get install python-psutil python-alsaaudio python-pylirc python-pil unclutter”). Finally, a theme with a large mouse pointer will improve pointer visibility, (e.g., https://www.gnome-look.org/p/999574/).",
+ "fanart" : "",
+ "version" : "1.0.5",
+ "type" : "xbmc.python.pluginsource",
+ "broken" : false,
+ "installed" : true,
+ "name" : "Remote Control Browser",
+ "addonid" : "plugin.program.remote.control.browser",
+ "summary" : "Browse websites with a remote control",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.program.remote.control.browser%2ficon.png/"
+ },
+ {
+ "fanart" : "",
+ "version" : "2.7.0",
+ "type" : "xbmc.metadata.scraper.albums",
+ "broken" : false,
+ "installed" : true,
+ "name" : "Universal Album Scraper",
+ "addonid" : "metadata.album.universal",
+ "summary" : "Universal Scraper for Albums",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.album.universal%2ficon.png/",
+ "description" : "This scraper collects information from the following supported sites: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.\n\nThe initial search is always done on MusicBrainz. In case allmusic and/or amazon.de links are not added on the MusicBrainz site, fields from allmusic.com and/or amazon.de cannot be fetched (very easy to add those missing links though).",
+ "extrainfo" : [],
+ "rating" : -1,
+ "enabled" : true,
+ "path" : "/home/martijn/.kodi/addons/metadata.album.universal",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "metadata.common.allmusic.com",
+ "version" : "3.1.0"
+ },
+ {
+ "optional" : false,
+ "addonid" : "metadata.common.fanart.tv",
+ "version" : "3.1.0"
+ },
+ {
+ "version" : "2.1.0",
+ "optional" : false,
+ "addonid" : "metadata.common.musicbrainz.org"
+ },
+ {
+ "version" : "1.8.1",
+ "optional" : false,
+ "addonid" : "metadata.common.theaudiodb.com"
+ },
+ {
+ "optional" : false,
+ "addonid" : "xbmc.metadata",
+ "version" : "2.1.0"
+ }
+ ],
+ "author" : "Olympia, Team Kodi",
+ "disclaimer" : ""
+ },
+ {
+ "fanart" : "",
+ "version" : "1.0.0",
+ "type" : "xbmc.audioencoder",
+ "broken" : false,
+ "installed" : true,
+ "name" : "AAC encoder",
+ "addonid" : "audioencoder.xbmc.builtin.aac",
+ "summary" : "AAC Audio Encoder",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2faudioencoder.xbmc.builtin.aac%2ficon.png/",
+ "description" : "AAC Audio Encoder",
+ "extrainfo" : [],
+ "rating" : -1,
+ "enabled" : true,
+ "path" : "/usr/share/kodi/addons/audioencoder.xbmc.builtin.aac",
+ "author" : "spiff",
+ "dependencies" : [
+ {
+ "version" : "1.0.0",
+ "optional" : false,
+ "addonid" : "xbmc.audioencoder"
+ }
+ ],
+ "disclaimer" : ""
+ },
+ {
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.library",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "1.3.4",
+ "summary" : "HTBackdrops Scraper Library",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.htbackdrops.com%2ficon.png/",
+ "name" : "HTBackdrops Scraper Library",
+ "addonid" : "metadata.common.htbackdrops.com",
+ "path" : "/home/martijn/.kodi/addons/metadata.common.htbackdrops.com",
+ "description" : "Download backdrops from www.htbackdrops.com",
+ "extrainfo" : [],
+ "rating" : -1,
+ "enabled" : true,
+ "disclaimer" : "",
+ "dependencies" : [
+ {
+ "version" : "2.1.0",
+ "optional" : false,
+ "addonid" : "xbmc.metadata"
+ }
+ ],
+ "author" : "Team Kodi"
+ },
+ {
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fresource.language.en_gb%2ficon.png/",
+ "summary" : "English language pack",
+ "name" : "English",
+ "addonid" : "resource.language.en_gb",
+ "broken" : false,
+ "type" : "kodi.resource.language",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "2.0.1",
+ "disclaimer" : "English is the default language for Kodi, removing it may cause issues",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "addonid" : "kodi.resource",
+ "optional" : false,
+ "version" : "1.0.0"
+ }
+ ],
+ "path" : "/usr/share/kodi/addons/resource.language.en_gb",
+ "enabled" : true,
+ "description" : "English version of all texts used in Kodi.",
+ "extrainfo" : [],
+ "rating" : -1
+ },
+ {
+ "summary" : "AllMusic Music Scraper Library",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.allmusic.com%2ficon.png/",
+ "name" : "AllMusic Scraper Library",
+ "addonid" : "metadata.common.allmusic.com",
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.library",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "3.1.1",
+ "disclaimer" : "",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "xbmc.metadata",
+ "version" : "2.1.0"
+ }
+ ],
+ "path" : "/home/martijn/.kodi/addons/metadata.common.allmusic.com",
+ "rating" : -1,
+ "description" : "Download Music information from www.allmusic.com",
+ "extrainfo" : [],
+ "enabled" : true
+ },
+ {
+ "enabled" : true,
+ "description" : "TheTVDB.com is a TV Scraper. The site is a massive open database that can be modified by anybody and contains full meta data for many shows in different languages. All content and images on the site have been contributed by their users for users and have a high standard or quality. The database schema and website are open source under the GPL.",
+ "rating" : -1,
+ "extrainfo" : [],
+ "path" : "/home/martijn/.kodi/addons/metadata.tvdb.com",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "version" : "2.7.8",
+ "addonid" : "metadata.common.imdb.com",
+ "optional" : false
+ },
+ {
+ "version" : "2.1.0",
+ "optional" : false,
+ "addonid" : "xbmc.metadata"
+ }
+ ],
+ "disclaimer" : "",
+ "fanart" : "",
+ "version" : "1.8.4",
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.tvshows",
+ "installed" : true,
+ "name" : "The TVDB",
+ "addonid" : "metadata.tvdb.com",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.tvdb.com%2ficon.png/",
+ "summary" : "Fetch TV show metadata from TheTVDB.com"
+ },
+ {
+ "fanart" : "",
+ "version" : "2.1.1",
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.library",
+ "installed" : true,
+ "name" : "MusicBrainz Scraper Library",
+ "addonid" : "metadata.common.musicbrainz.org",
+ "summary" : "MusicBrainz Music Scraper Library",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.musicbrainz.org%2ficon.png/",
+ "description" : "Download Music information from www.musicbrainz.org",
+ "extrainfo" : [],
+ "rating" : -1,
+ "enabled" : true,
+ "path" : "/home/martijn/.kodi/addons/metadata.common.musicbrainz.org",
+ "dependencies" : [
+ {
+ "version" : "2.1.0",
+ "optional" : false,
+ "addonid" : "xbmc.metadata"
+ }
+ ],
+ "author" : "Team Kodi",
+ "disclaimer" : ""
+ },
+ {
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.albums",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "1.0.0",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fmetadata.local%2ficon.png/",
+ "summary" : "Local Infomation only pseudo-scraper",
+ "name" : "Local information only",
+ "addonid" : "metadata.local",
+ "path" : "/usr/share/kodi/addons/metadata.local",
+ "enabled" : true,
+ "description" : "Use local information only",
+ "extrainfo" : [],
+ "rating" : -1,
+ "disclaimer" : "",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "version" : "1.0",
+ "optional" : false,
+ "addonid" : "xbmc.metadata"
+ }
+ ]
+ },
+ {
+ "summary" : "TMDb Scraper Library",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.themoviedb.org%2ficon.png/",
+ "name" : "The Movie Database Scraper Library",
+ "addonid" : "metadata.common.themoviedb.org",
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.library",
+ "installed" : true,
+ "fanart" : "",
+ "version" : "2.14.0",
+ "disclaimer" : "",
+ "dependencies" : [
+ {
+ "version" : "2.1.0",
+ "addonid" : "xbmc.metadata",
+ "optional" : false
+ }
+ ],
+ "author" : "Team Kodi",
+ "path" : "/home/martijn/.kodi/addons/metadata.common.themoviedb.org",
+ "extrainfo" : [],
+ "rating" : -1,
+ "description" : "Download thumbs and fanarts from www.themoviedb.org",
+ "enabled" : true
+ },
+ {
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "kodi.resource",
+ "version" : "1.0.0"
+ }
+ ],
+ "author" : "Team Kodi",
+ "disclaimer" : "",
+ "extrainfo" : [],
+ "description" : "Kodi GUI sounds",
+ "rating" : -1,
+ "enabled" : true,
+ "path" : "/usr/share/kodi/addons/resource.uisounds.kodi",
+ "name" : "Kodi UI Sounds",
+ "addonid" : "resource.uisounds.kodi",
+ "summary" : "Kodi GUI sounds",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fresource.uisounds.kodi%2ficon.png/",
+ "fanart" : "",
+ "version" : "1.0.0",
+ "type" : "kodi.resource.uisounds",
+ "broken" : false,
+ "installed" : true
+ },
+ {
+ "path" : "/home/martijn/.kodi/addons/metadata.common.theaudiodb.com",
+ "enabled" : true,
+ "extrainfo" : [],
+ "description" : "Download Music information from www.theaudiodb.com",
+ "rating" : -1,
+ "disclaimer" : "",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "addonid" : "xbmc.metadata",
+ "optional" : false,
+ "version" : "2.1.0"
+ }
+ ],
+ "type" : "xbmc.metadata.scraper.library",
+ "broken" : false,
+ "installed" : true,
+ "fanart" : "",
+ "version" : "1.9.0",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.theaudiodb.com%2ficon.png/",
+ "summary" : "TheAudioDb Music Scraper Library",
+ "name" : "TheAudioDb Scraper Library",
+ "addonid" : "metadata.common.theaudiodb.com"
+ },
+ {
+ "version" : "3.7.2",
+ "fanart" : "",
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.artists",
+ "addonid" : "metadata.artists.universal",
+ "name" : "Universal Artist Scraper",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.artists.universal%2ficon.png/",
+ "summary" : "Universal Scraper for Artists",
+ "enabled" : true,
+ "extrainfo" : [],
+ "description" : "This scraper collects information from the following supported sites: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.\n\nThe initial search is always done on MusicBrainz. In case allmusic link is not added on the MusicBrainz site fields from allmusic.com cannot be fetched (very easy to add those missing links though).",
+ "rating" : -1,
+ "path" : "/home/martijn/.kodi/addons/metadata.artists.universal",
+ "dependencies" : [
+ {
+ "version" : "3.1.0",
+ "optional" : false,
+ "addonid" : "metadata.common.allmusic.com"
+ },
+ {
+ "version" : "3.1.0",
+ "addonid" : "metadata.common.fanart.tv",
+ "optional" : false
+ },
+ {
+ "version" : "1.3.2",
+ "optional" : false,
+ "addonid" : "metadata.common.htbackdrops.com"
+ },
+ {
+ "version" : "2.1.0",
+ "addonid" : "metadata.common.musicbrainz.org",
+ "optional" : false
+ },
+ {
+ "addonid" : "metadata.common.theaudiodb.com",
+ "optional" : false,
+ "version" : "1.8.1"
+ },
+ {
+ "addonid" : "xbmc.metadata",
+ "optional" : false,
+ "version" : "2.1.0"
+ }
+ ],
+ "author" : "Olympia, Team Kodi",
+ "disclaimer" : ""
+ },
+ {
+ "path" : "/home/martijn/.kodi/addons/metadata.common.imdb.com",
+ "enabled" : true,
+ "rating" : -1,
+ "description" : "Download Movie information from www.imdb.com",
+ "extrainfo" : [],
+ "disclaimer" : "",
+ "author" : "Team Kodi",
+ "dependencies" : [
+ {
+ "version" : "2.1.0",
+ "addonid" : "xbmc.metadata",
+ "optional" : false
+ }
+ ],
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.metadata.scraper.library",
+ "version" : "2.8.7",
+ "fanart" : "",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.imdb.com%2ficon.png/",
+ "summary" : "IMDB Scraper Library",
+ "addonid" : "metadata.common.imdb.com",
+ "name" : "IMDB Scraper Library"
+ },
+ {
+ "disclaimer" : "",
+ "dependencies" : [
+ {
+ "optional" : false,
+ "addonid" : "xbmc.python",
+ "version" : "2.1.0"
+ }
+ ],
+ "author" : "Jonathan Beluch (jbel)",
+ "path" : "/home/martijn/.kodi/addons/script.module.xbmcswift2",
+ "description" : "",
+ "extrainfo" : [],
+ "rating" : -1,
+ "enabled" : true,
+ "summary" : "",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.xbmcswift2%2ficon.png/",
+ "addonid" : "script.module.xbmcswift2",
+ "name" : "xbmcswift2",
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.python.module",
+ "version" : "2.4.0",
+ "fanart" : ""
+ },
+ {
+ "path" : "/usr/share/kodi/addons/skin.estuary",
+ "enabled" : true,
+ "rating" : -1,
+ "extrainfo" : [],
+ "description" : "Estuary is the default skin for Kodi 17.0 and above. It attempts to be easy for first time Kodi users to understand and use.",
+ "disclaimer" : "Estuary is the default skin for Kodi, removing it may cause issues",
+ "dependencies" : [
+ {
+ "version" : "5.12.0",
+ "addonid" : "xbmc.gui",
+ "optional" : false
+ }
+ ],
+ "author" : "phil65, Ichabod Fletchman",
+ "broken" : false,
+ "type" : "xbmc.gui.skin",
+ "installed" : true,
+ "fanart" : "image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estuary%2fresources%2ffanart.jpg/",
+ "version" : "1.9.12",
+ "thumbnail" : "image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estuary%2fresources%2ficon.png/",
+ "summary" : "Estuary skin by phil65. (Kodi's default skin)",
+ "name" : "Estuary",
+ "addonid" : "skin.estuary"
+ },
+ {
+ "version" : "1.4.5",
+ "fanart" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.twitch%2ffanart.jpg/",
+ "installed" : true,
+ "broken" : false,
+ "type" : "xbmc.python.pluginsource",
+ "addonid" : "plugin.video.twitch",
+ "name" : "Twitch",
+ "summary" : "Twitch video plugin",
+ "thumbnail" : "image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.twitch%2ficon.png/",
+ "extrainfo" : [
+ {
+ "key" : "language",
+ "value" : "en"
+ },
+ {
+ "value" : "video",
+ "key" : "provides"
+ }
+ ],
+ "description" : "Watch your favorite gaming streams!",
+ "rating" : -1,
+ "enabled" : true,
+ "path" : "/home/martijn/.kodi/addons/plugin.video.twitch",
+ "dependencies" : [
+ {
+ "version" : "1.2.0",
+ "optional" : false,
+ "addonid" : "script.module.xbmcswift2"
+ },
+ {
+ "addonid" : "xbmc.python",
+ "optional" : false,
+ "version" : "2.20.0"
+ }
+ ],
+ "author" : "A Talented Community",
+ "disclaimer" : ""
+ }
+ ],
+ "limits" : {
+ "start" : 0,
+ "end" : 41,
+ "total" : 41
+ }
+ }
+}
diff --git a/app/src/debug/assets/AudioLibrary.GetAlbums.json b/app/src/debug/assets/AudioLibrary.GetAlbums.json
new file mode 100644
index 0000000..4e25368
--- /dev/null
+++ b/app/src/debug/assets/AudioLibrary.GetAlbums.json
@@ -0,0 +1,7666 @@
+{
+ "id" : "libAlbums",
+ "jsonrpc" : "2.0",
+ "result" : {
+ "limits" : {
+ "total" : 232,
+ "start" : 0,
+ "end" : 234
+ },
+ "albums" : [
+ {
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "genreid" : [
+ 32
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "artistid" : [
+ 92
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Clitoridus Invaginatus",
+ "type" : "",
+ "albumid" : 97,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2009,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "3 Way Split CD",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "3 Way Split CD"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Dismemberment",
+ "type" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "genreid" : [
+ 32
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 93
+ ],
+ "artist" : [
+ "Dismemberment"
+ ],
+ "label" : "3 Way Split CD",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "3 Way Split CD",
+ "albumid" : 98,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2009,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Modus Delicti",
+ "type" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "artistid" : [
+ 94
+ ],
+ "artist" : [
+ "Modus Delicti"
+ ],
+ "genreid" : [
+ 32
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "label" : "3 Way Split CD",
+ "fanart" : "",
+ "style" : [],
+ "title" : "3 Way Split CD",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 99,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "1958 - The Fabulous Johnny Cash",
+ "label" : "1958 - The Fabulous Johnny Cash",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 50,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1958,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1976,
+ "albumid" : 51,
+ "style" : [],
+ "title" : "1976 - Strawberry Cake",
+ "mood" : [],
+ "label" : "1976 - Strawberry Cake",
+ "fanart" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 52,
+ "title" : "1976 - Strawberry Cake",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "1976 - Strawberry Cake",
+ "artist" : [
+ "Medley: Church In The Wildwood"
+ ],
+ "artistid" : [
+ 51
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 13
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "displayartist" : "Medley: Church In The Wildwood",
+ "thumbnail" : ""
+ },
+ {
+ "style" : [],
+ "title" : "AKATIAN NO TAMENO",
+ "mood" : [],
+ "label" : "AKATIAN NO TAMENO",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 96,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "artist" : [
+ "VARIOS"
+ ],
+ "artistid" : [
+ 91
+ ],
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : []
+ },
+ {
+ "title" : "Alb",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Alb",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 1980,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 223,
+ "type" : "",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "artistid" : [
+ 215
+ ],
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 3
+ ],
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "albumid" : 82,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Album",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "The Album",
+ "genre" : [],
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 0
+ ],
+ "artist" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "displayartist" : "",
+ "type" : ""
+ },
+ {
+ "style" : [],
+ "title" : "Appalachian Breakdown",
+ "mood" : [],
+ "label" : "Appalachian Breakdown",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 100,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various artists",
+ "artistid" : [
+ 95
+ ],
+ "artist" : [
+ "Various artists"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 81,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Atlantica",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Atlantica",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "artistid" : [
+ 78
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "type" : "",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : ""
+ },
+ {
+ "type" : "",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "artist" : [
+ "Cockpunch"
+ ],
+ "artistid" : [
+ 27
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 12
+ ],
+ "genre" : [
+ "Hardcore"
+ ],
+ "title" : "Attack!",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Attack!",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 27
+ },
+ {
+ "style" : [],
+ "title" : "Barn Burners",
+ "mood" : [],
+ "label" : "Barn Burners",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 73,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain",
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "genreid" : [],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : []
+ },
+ {
+ "genreid" : [
+ 17
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "artistid" : [
+ 36
+ ],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 36,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2003,
+ "mood" : [],
+ "style" : [],
+ "title" : "Best of Defari",
+ "label" : "Best of Defari",
+ "fanart" : ""
+ },
+ {
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "artist" : [
+ "Intro"
+ ],
+ "artistid" : [
+ 37
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 17
+ ],
+ "displayartist" : "Intro",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 37,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Best of Defari",
+ "title" : "Best of Defari",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 19
+ ],
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "fanart" : "",
+ "label" : "Best of the Modern Years, (The)",
+ "mood" : [],
+ "title" : "Best of the Modern Years, (The)",
+ "style" : [],
+ "albumid" : 39,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [],
+ "artist" : [
+ "Jay-Z"
+ ],
+ "artistid" : [
+ 46
+ ],
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 46,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "The Black Chronic",
+ "fanart" : "",
+ "style" : [],
+ "title" : "The Black Chronic",
+ "mood" : []
+ },
+ {
+ "label" : "Blue Skies",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Blue Skies",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1995,
+ "albumid" : 41,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "type" : "",
+ "genre" : [
+ "Easy Listening"
+ ],
+ "artistid" : [
+ 41
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "genreid" : [
+ 20
+ ],
+ "description" : "",
+ "albumlabel" : ""
+ },
+ {
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 101,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Bluegrass Banjo",
+ "title" : "Bluegrass Banjo",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Bluegrass"
+ ],
+ "artist" : [
+ "Adam \"Swannee\" Swann"
+ ],
+ "artistid" : [
+ 97
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 33
+ ],
+ "displayartist" : "Adam \"Swannee\" Swann",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Art Podell",
+ "artistid" : [
+ 98
+ ],
+ "artist" : [
+ "Art Podell"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "style" : [],
+ "title" : "Bluegrass Banjo",
+ "mood" : [],
+ "label" : "Bluegrass Banjo",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 102
+ },
+ {
+ "displayartist" : "Billy Cheatwood",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 33
+ ],
+ "artistid" : [
+ 99
+ ],
+ "artist" : [
+ "Billy Cheatwood"
+ ],
+ "fanart" : "",
+ "label" : "Bluegrass Banjo",
+ "mood" : [],
+ "title" : "Bluegrass Banjo",
+ "style" : [],
+ "albumid" : 103,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Bluegrass"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "David Lindley"
+ ],
+ "artistid" : [
+ 100
+ ],
+ "thumbnail" : "",
+ "displayartist" : "David Lindley",
+ "type" : "",
+ "albumid" : 104,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2005,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Bluegrass Banjo",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Bluegrass Banjo"
+ },
+ {
+ "fanart" : "",
+ "label" : "Bluegrass Banjo",
+ "mood" : [],
+ "title" : "Bluegrass Banjo",
+ "style" : [],
+ "albumid" : 105,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "Dick Rasmini",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 33
+ ],
+ "artist" : [
+ "Dick Rasmini"
+ ],
+ "artistid" : [
+ 101
+ ]
+ },
+ {
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 106,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Bluegrass Banjo",
+ "title" : "Bluegrass Banjo",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Bluegrass"
+ ],
+ "artist" : [
+ "Dick Weissman"
+ ],
+ "artistid" : [
+ 102
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 33
+ ],
+ "displayartist" : "Dick Weissman",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "type" : "",
+ "displayartist" : "Eric Weissberg with Marshall Brickman",
+ "thumbnail" : "",
+ "artist" : [
+ "Eric Weissberg with Marshall Brickman"
+ ],
+ "artistid" : [
+ 103
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 33
+ ],
+ "genre" : [
+ "Bluegrass"
+ ],
+ "title" : "Bluegrass Banjo",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Bluegrass Banjo",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 107
+ },
+ {
+ "label" : "Bluegrass Banjo",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Bluegrass Banjo",
+ "albumid" : 108,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "thumbnail" : "",
+ "displayartist" : "Erik Darling",
+ "type" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 104
+ ],
+ "artist" : [
+ "Erik Darling"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 109,
+ "style" : [],
+ "title" : "Bluegrass Banjo",
+ "mood" : [],
+ "label" : "Bluegrass Banjo",
+ "fanart" : "",
+ "artistid" : [
+ 105
+ ],
+ "artist" : [
+ "Jim Helms"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jim Helms"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Jim McGuinn",
+ "type" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Jim McGuinn"
+ ],
+ "artistid" : [
+ 106
+ ],
+ "label" : "Bluegrass Banjo",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Bluegrass Banjo",
+ "albumid" : 110,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 111,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Bluegrass Banjo",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Bluegrass Banjo",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 33
+ ],
+ "artistid" : [
+ 107
+ ],
+ "artist" : [
+ "Joe Maphis"
+ ],
+ "genre" : [
+ "Bluegrass"
+ ],
+ "type" : "",
+ "displayartist" : "Joe Maphis",
+ "thumbnail" : ""
+ },
+ {
+ "genre" : [
+ "Bluegrass"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 108
+ ],
+ "artist" : [
+ "Mason Williams"
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Mason Williams",
+ "type" : "",
+ "albumid" : 112,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2005,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Bluegrass Banjo",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Bluegrass Banjo"
+ },
+ {
+ "label" : "Bluegrass Banjo",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Bluegrass Banjo",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 113,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Mike Seeger",
+ "type" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "artistid" : [
+ 109
+ ],
+ "artist" : [
+ "Mike Seeger"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "albumlabel" : "",
+ "description" : ""
+ },
+ {
+ "displayartist" : "Billy Larkin",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "artist" : [
+ "Billy Larkin"
+ ],
+ "artistid" : [
+ 175
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 181,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 182,
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : "",
+ "artist" : [
+ "Bruce Cloud"
+ ],
+ "artistid" : [
+ 176
+ ],
+ "genreid" : [
+ 36
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bruce Cloud"
+ },
+ {
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "mood" : [],
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 183,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Clare Sisters",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "artistid" : [
+ 177
+ ],
+ "artist" : [
+ "Clare Sisters"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ]
+ },
+ {
+ "artistid" : [
+ 178
+ ],
+ "artist" : [
+ "Ed Bruce"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 36
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "displayartist" : "Ed Bruce",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 184,
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies"
+ },
+ {
+ "artistid" : [
+ 179
+ ],
+ "artist" : [
+ "Eddie Martin"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Eddie Martin",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 185,
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : ""
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 186,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ],
+ "artistid" : [
+ 180
+ ],
+ "artist" : [
+ "January Jones"
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "displayartist" : "January Jones",
+ "thumbnail" : ""
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 187,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ],
+ "artist" : [
+ "Jarmels"
+ ],
+ "artistid" : [
+ 181
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "displayartist" : "Jarmels",
+ "thumbnail" : ""
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 188,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 36
+ ],
+ "artistid" : [
+ 182
+ ],
+ "artist" : [
+ "Jennifer Wells"
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "displayartist" : "Jennifer Wells",
+ "thumbnail" : ""
+ },
+ {
+ "displayartist" : "Johnny & The Hurricanes",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ],
+ "artistid" : [
+ 183
+ ],
+ "artist" : [
+ "Johnny & The Hurricanes"
+ ],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "albumid" : 189,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 190,
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "artistid" : [
+ 184
+ ],
+ "artist" : [
+ "June Valli"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "displayartist" : "June Valli",
+ "thumbnail" : ""
+ },
+ {
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 191,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Lonnis Smith",
+ "type" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "artistid" : [
+ 185
+ ],
+ "artist" : [
+ "Lonnis Smith"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "albumlabel" : "",
+ "description" : ""
+ },
+ {
+ "genre" : [
+ "Oldies"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 36
+ ],
+ "artistid" : [
+ 186
+ ],
+ "artist" : [
+ "Marvellows"
+ ],
+ "displayartist" : "Marvellows",
+ "thumbnail" : "",
+ "type" : "",
+ "albumid" : 192,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : []
+ },
+ {
+ "displayartist" : "Milt Rogers",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ],
+ "artistid" : [
+ 187
+ ],
+ "artist" : [
+ "Milt Rogers"
+ ],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "albumid" : 193,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 194,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "mood" : [],
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : "",
+ "genreid" : [
+ 36
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 188
+ ],
+ "artist" : [
+ "Nina Simone"
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Nina Simone"
+ },
+ {
+ "artist" : [
+ "Pierre Lalonde"
+ ],
+ "artistid" : [
+ 189
+ ],
+ "genreid" : [
+ 36
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Pierre Lalonde",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 195,
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Plas Johnson",
+ "type" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Plas Johnson"
+ ],
+ "artistid" : [
+ 190
+ ],
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "albumid" : 196,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "genre" : [
+ "Oldies"
+ ],
+ "artistid" : [
+ 191
+ ],
+ "artist" : [
+ "P←rez Prado"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "displayartist" : "P←rez Prado",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 197,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 198,
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "mood" : [],
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : "",
+ "artist" : [
+ "Ronnie Gallant"
+ ],
+ "artistid" : [
+ 192
+ ],
+ "genreid" : [
+ 36
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ronnie Gallant"
+ },
+ {
+ "genreid" : [
+ 36
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 193
+ ],
+ "artist" : [
+ "Toni Harper"
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Toni Harper",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 199,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "mood" : [],
+ "style" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "fanart" : ""
+ },
+ {
+ "type" : "",
+ "displayartist" : "Triumphs",
+ "thumbnail" : "",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 36
+ ],
+ "artistid" : [
+ 194
+ ],
+ "artist" : [
+ "Triumphs"
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "mood" : [],
+ "title" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 200,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ]
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "Brain Plugin Spaghetti",
+ "label" : "Brain Plugin Spaghetti",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 15,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2004,
+ "rating" : 0,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys",
+ "genreid" : [
+ 7
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 15
+ ],
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "genre" : [
+ "Punk"
+ ]
+ },
+ {
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 28
+ ],
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "artistid" : [
+ 69
+ ],
+ "genre" : [
+ "Rap"
+ ],
+ "type" : "",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 72,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Buckets And Booty Calls",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Buckets And Booty Calls"
+ },
+ {
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1984,
+ "rating" : 0,
+ "mood" : [],
+ "style" : [],
+ "title" : "Children's Songs (SHM)",
+ "label" : "Children's Songs (SHM)",
+ "fanart" : "",
+ "genreid" : [
+ 5
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Chick Corea"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea"
+ },
+ {
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 221,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Chinese Pornography",
+ "title" : "Chinese Pornography",
+ "style" : [],
+ "mood" : [],
+ "genre" : [],
+ "artistid" : [
+ 213
+ ],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [],
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genreid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1976,
+ "rating" : 0,
+ "albumid" : 53,
+ "style" : [],
+ "title" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "mood" : [],
+ "label" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "fanart" : ""
+ },
+ {
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "artistid" : [
+ 129
+ ],
+ "fanart" : "",
+ "label" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "mood" : [],
+ "title" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "style" : [],
+ "albumid" : 134,
+ "rating" : 0,
+ "year" : 1947,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "label" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "fanart" : "",
+ "style" : [],
+ "title" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1947,
+ "rating" : 0,
+ "albumid" : 135,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Quintet [5]",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artist" : [
+ "Original Charlie Parker Quintet [5]"
+ ],
+ "artistid" : [
+ 130
+ ],
+ "genreid" : [
+ 5
+ ],
+ "description" : "",
+ "albumlabel" : ""
+ },
+ {
+ "genre" : [
+ "Jazz"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "artistid" : [
+ 131
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "type" : "",
+ "albumid" : 136,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1947,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07"
+ },
+ {
+ "type" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 8
+ ],
+ "artistid" : [
+ 16
+ ],
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "genre" : [
+ "Grind Core"
+ ],
+ "mood" : [],
+ "title" : "Cunt",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Cunt",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 16,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ]
+ },
+ {
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "artistid" : [
+ 56
+ ],
+ "genreid" : [
+ 3
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "style" : [],
+ "title" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "mood" : [],
+ "label" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "fanart" : ""
+ },
+ {
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 25,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "De Muziekfabriek",
+ "title" : "De Muziekfabriek",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 11
+ ],
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "pigto",
+ "type" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "artistid" : [
+ 65
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "genreid" : [
+ 26
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "label" : "depravada sexual",
+ "fanart" : "",
+ "style" : [],
+ "title" : "depravada sexual",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 68,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 65,
+ "style" : [],
+ "title" : "die schönsten Kinderlieder",
+ "mood" : [],
+ "label" : "die schönsten Kinderlieder",
+ "fanart" : "",
+ "artistid" : [
+ 62
+ ],
+ "artist" : [
+ "Music Kids"
+ ],
+ "genreid" : [
+ 4
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Music Kids"
+ },
+ {
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 15
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "artistid" : [
+ 31
+ ],
+ "fanart" : "",
+ "label" : "EN VIVO EN PARAGUAY",
+ "mood" : [],
+ "title" : "EN VIVO EN PARAGUAY",
+ "style" : [],
+ "albumid" : 31,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artistid" : [
+ 12
+ ],
+ "artist" : [
+ "Bath"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bath",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1982,
+ "rating" : 0,
+ "albumid" : 12,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "The Entity",
+ "fanart" : "",
+ "style" : [],
+ "title" : "The Entity",
+ "mood" : []
+ },
+ {
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Bernstein, Charles",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 13,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "The Entity",
+ "title" : "The Entity",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "displayartist" : "It Appears",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artistid" : [
+ 14
+ ],
+ "artist" : [
+ "It Appears"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 6
+ ],
+ "fanart" : "",
+ "label" : "The Entity",
+ "title" : "The Entity",
+ "style" : [],
+ "mood" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 14,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "type" : "",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 10
+ ],
+ "genre" : [
+ "Metal"
+ ],
+ "title" : "Evolution Through Revolution",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Evolution Through Revolution",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 23
+ },
+ {
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 54,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "The Fabulous Johnny Cash",
+ "title" : "The Fabulous Johnny Cash",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "label" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "fanart" : "",
+ "style" : [],
+ "title" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 55,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "type" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "artistid" : [
+ 52
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : ""
+ },
+ {
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 225,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "The Fat of the Band",
+ "title" : "The Fat of the Band",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 7
+ ],
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 31
+ ],
+ "genre" : [
+ "Dancehall"
+ ],
+ "type" : "",
+ "displayartist" : "VA",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 95,
+ "title" : "Gangsta Rock",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Gangsta Rock"
+ },
+ {
+ "albumid" : 48,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2003,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Gigli (Original Motion Picture Score)",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Gigli (Original Motion Picture Score)",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 48
+ ],
+ "artist" : [
+ "God Bless You"
+ ],
+ "thumbnail" : "",
+ "displayartist" : "God Bless You",
+ "type" : ""
+ },
+ {
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "artistid" : [
+ 49
+ ],
+ "genreid" : [
+ 6
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "thumbnail" : "",
+ "displayartist" : "John Powell",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 49,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "Gigli (Original Motion Picture Score)",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Gigli (Original Motion Picture Score)",
+ "mood" : []
+ },
+ {
+ "artistid" : [
+ 28
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 28,
+ "style" : [],
+ "title" : "The Great Conway Twitty",
+ "mood" : [],
+ "label" : "The Great Conway Twitty",
+ "fanart" : ""
+ },
+ {
+ "style" : [],
+ "title" : "Have Yourself a Merry Little Christma",
+ "mood" : [],
+ "label" : "Have Yourself a Merry Little Christma",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1987,
+ "rating" : 0,
+ "albumid" : 79,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "The Hollywood Trombones",
+ "artistid" : [
+ 76
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "artistid" : [
+ 60
+ ],
+ "genreid" : [
+ 3
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 63,
+ "style" : [],
+ "title" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "mood" : [],
+ "label" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "fanart" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2012,
+ "rating" : 0,
+ "albumid" : 45,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "Here's James Brown",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Here's James Brown",
+ "mood" : [],
+ "genre" : [
+ "Other"
+ ],
+ "artist" : [
+ "James Brown"
+ ],
+ "artistid" : [
+ 45
+ ],
+ "genreid" : [
+ 23
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "displayartist" : "James Brown",
+ "type" : ""
+ },
+ {
+ "genre" : [
+ "Blues"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "artist" : [
+ "Fats Domino"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "thumbnail" : "",
+ "displayartist" : "Fats Domino",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 40,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "I'm Walking",
+ "fanart" : "",
+ "style" : [],
+ "title" : "I'm Walking",
+ "mood" : []
+ },
+ {
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "label" : "Ireland's Best Fiddle Tunes Disk 2",
+ "mood" : [],
+ "title" : "Ireland's Best Fiddle Tunes Disk 2",
+ "style" : [],
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "artistid" : [
+ 61
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 3
+ ],
+ "fanart" : "",
+ "label" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Israel in Egypt, arr Mendelssohn",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 64,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "type" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "artistid" : [
+ 71
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "label" : "Juniorville 20",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Juniorville 20",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1998,
+ "albumid" : 74,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "albumid" : 1,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1991,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Kangaroo Shuffle",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Kangaroo Shuffle",
+ "genre" : [
+ "Blues"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Albert Collins"
+ ],
+ "artistid" : [
+ 1
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Albert Collins",
+ "type" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1991,
+ "albumid" : 2,
+ "style" : [],
+ "title" : "Kangaroo Shuffle",
+ "mood" : [],
+ "label" : "Kangaroo Shuffle",
+ "fanart" : "",
+ "artistid" : [
+ 2
+ ],
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Henry Hayes"
+ },
+ {
+ "albumid" : 3,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1991,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Kangaroo Shuffle",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Kangaroo Shuffle",
+ "genre" : [
+ "Blues"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 3
+ ],
+ "artist" : [
+ "Henry Hayes With Georgetta Hardin"
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Henry Hayes With Georgetta Hardin",
+ "type" : ""
+ },
+ {
+ "genre" : [
+ "Blues"
+ ],
+ "artist" : [
+ "Herbert Milburn and the Lesabres"
+ ],
+ "artistid" : [
+ 4
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 1
+ ],
+ "displayartist" : "Herbert Milburn and the Lesabres",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 1991,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 4,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Kangaroo Shuffle",
+ "title" : "Kangaroo Shuffle",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "fanart" : "",
+ "label" : "Kangaroo Shuffle",
+ "title" : "Kangaroo Shuffle",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 1991,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Joe Hughes",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "artist" : [
+ "Joe Hughes"
+ ],
+ "artistid" : [
+ 5
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 1
+ ]
+ },
+ {
+ "displayartist" : "Piano Slim",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 1
+ ],
+ "artistid" : [
+ 6
+ ],
+ "artist" : [
+ "Piano Slim"
+ ],
+ "fanart" : "",
+ "label" : "Kangaroo Shuffle",
+ "mood" : [],
+ "title" : "Kangaroo Shuffle",
+ "style" : [],
+ "albumid" : 6,
+ "year" : 1991,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "fanart" : "",
+ "label" : "Kangaroo Shuffle",
+ "title" : "Kangaroo Shuffle",
+ "style" : [],
+ "mood" : [],
+ "year" : 1991,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 7,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Tigers, (The)",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "artist" : [
+ "Tigers, (The)"
+ ],
+ "artistid" : [
+ 7
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 1
+ ]
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 58,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Kottans Kapelle",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Kottans Kapelle",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [],
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "artistid" : [
+ 55
+ ],
+ "genre" : [],
+ "type" : "",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : ""
+ },
+ {
+ "type" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "mood" : [],
+ "title" : "L' Africana",
+ "style" : [],
+ "fanart" : "",
+ "label" : "L' Africana",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 56,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "type" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "genreid" : [
+ 37
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 220
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "label" : "L' Africana-Ελ. Καραΐνδρου",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "L' Africana-Ελ. Καραΐνδρου",
+ "albumid" : 228,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1990,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "artist" : [
+ "Ray Charles"
+ ],
+ "artistid" : [
+ 68
+ ],
+ "genreid" : [
+ 5
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 71,
+ "style" : [],
+ "title" : "Legend (Disk 2)",
+ "mood" : [],
+ "label" : "Legend (Disk 2)",
+ "fanart" : ""
+ },
+ {
+ "label" : "Legends of Soul: The Drifters",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Legends of Soul: The Drifters",
+ "albumid" : 77,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2007,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "type" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "genreid" : [
+ 29
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "The Drifters"
+ ],
+ "artistid" : [
+ 74
+ ]
+ },
+ {
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 214
+ ],
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "type" : "",
+ "displayartist" : "Vladimir Cosma",
+ "thumbnail" : "",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 222,
+ "year" : 1973,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Les aventures de Rabbi Jacob",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Les aventures de Rabbi Jacob"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "type" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "artistid" : [
+ 43
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "label" : "The Little Darlin' Sound of Lloyd Green",
+ "fanart" : "",
+ "style" : [],
+ "title" : "The Little Darlin' Sound of Lloyd Green",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 43,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "type" : "",
+ "displayartist" : "Adult Books",
+ "thumbnail" : "",
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [],
+ "artistid" : [
+ 17
+ ],
+ "artist" : [
+ "Adult Books"
+ ],
+ "genre" : [],
+ "mood" : [],
+ "title" : "Live At The Firecracker Lounge",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Live At The Firecracker Lounge",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 17,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ]
+ },
+ {
+ "label" : "Live At The Firecracker Lounge",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Live At The Firecracker Lounge",
+ "albumid" : 18,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "thumbnail" : "",
+ "displayartist" : "Boss DJ",
+ "type" : "",
+ "genre" : [],
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Boss DJ"
+ ],
+ "artistid" : [
+ 18
+ ]
+ },
+ {
+ "label" : "Live At The Firecracker Lounge",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Live At The Firecracker Lounge",
+ "albumid" : 19,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "type" : "",
+ "genre" : [],
+ "genreid" : [],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "artistid" : [
+ 19
+ ]
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "Live At The Firecracker Lounge",
+ "label" : "Live At The Firecracker Lounge",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 20,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Welcome Tomorrow",
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Welcome Tomorrow"
+ ],
+ "artistid" : [
+ 20
+ ],
+ "genre" : []
+ },
+ {
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 7
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "type" : "",
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 70,
+ "title" : "Loco Live (CD 1)",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Loco Live (CD 1)"
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "genreid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1998,
+ "albumid" : 47,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "Love Letters",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Love Letters",
+ "mood" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "Med Anledning Av..",
+ "label" : "Med Anledning Av..",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "genreid" : [
+ 2
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "artistid" : [
+ 72
+ ],
+ "genre" : [
+ "Reggae"
+ ]
+ },
+ {
+ "genre" : [
+ "Ambient"
+ ],
+ "genreid" : [
+ 9
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Brian Eno"
+ ],
+ "artistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "type" : "",
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "More Music For Films",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "More Music For Films"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2000,
+ "albumid" : 8,
+ "style" : [],
+ "title" : "My Time Is The Right Time",
+ "mood" : [],
+ "label" : "My Time Is The Right Time",
+ "fanart" : "",
+ "artistid" : [
+ 8
+ ],
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis"
+ },
+ {
+ "genre" : [
+ "Classical"
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "artistid" : [
+ 22
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 1995,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 22,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Oberösterreichische Kirchenmusik",
+ "title" : "Oberösterreichische Kirchenmusik",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 63
+ ],
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "mood" : [],
+ "style" : [],
+ "title" : "Onie's Country Boppers",
+ "label" : "Onie's Country Boppers",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 66,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "type" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "label" : "Power-Sprachtraining Rumänisch",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Power-Sprachtraining Rumänisch",
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2010,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "artistid" : [
+ 219
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "style" : [],
+ "title" : "Raise The Red Lantern",
+ "mood" : [],
+ "label" : "Raise The Red Lantern",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 227
+ },
+ {
+ "genre" : [
+ "Reggae"
+ ],
+ "artistid" : [
+ 77
+ ],
+ "artist" : [
+ "U-Roy"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 2
+ ],
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "type" : "",
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 80,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "The Righful Ruler (Disc 2)",
+ "title" : "The Righful Ruler (Disc 2)",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "label" : "Riot In The Hive Mind",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Riot In The Hive Mind",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 78,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "type" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "genreid" : [
+ 30
+ ],
+ "description" : "",
+ "albumlabel" : ""
+ },
+ {
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 114,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2014,
+ "mood" : [],
+ "style" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "fanart" : "",
+ "genreid" : [
+ 34
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Aretha Franklin"
+ ],
+ "artistid" : [
+ 110
+ ],
+ "genre" : [
+ "Rock"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Aretha Franklin"
+ },
+ {
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 115,
+ "type" : "",
+ "displayartist" : "Ben E. King",
+ "thumbnail" : "",
+ "artistid" : [
+ 111
+ ],
+ "artist" : [
+ "Ben E. King"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "genre" : [
+ "Rock"
+ ]
+ },
+ {
+ "displayartist" : "Bob B. Sox and the Blue Jeans",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "artist" : [
+ "Bob B. Sox and the Blue Jeans"
+ ],
+ "artistid" : [
+ 112
+ ],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "mood" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "albumid" : 116,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "displayartist" : "Carl Perkins",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "artist" : [
+ "Carl Perkins"
+ ],
+ "artistid" : [
+ 113
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 34
+ ],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "mood" : [],
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 117,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 118,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Dion",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "artist" : [
+ "Dion"
+ ],
+ "artistid" : [
+ 114
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 34
+ ]
+ },
+ {
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "artistid" : [
+ 115
+ ],
+ "artist" : [
+ "Eddy Arnold"
+ ],
+ "genre" : [
+ "Rock"
+ ],
+ "type" : "",
+ "displayartist" : "Eddy Arnold",
+ "thumbnail" : "",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 119,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits"
+ },
+ {
+ "genre" : [
+ "Rock"
+ ],
+ "artist" : [
+ "Elvis Presley"
+ ],
+ "artistid" : [
+ 116
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 34
+ ],
+ "displayartist" : "Elvis Presley",
+ "thumbnail" : "",
+ "type" : "",
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 120,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "albumid" : 121,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "mood" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "genre" : [
+ "Rock"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "artist" : [
+ "Everly Brothers, The"
+ ],
+ "artistid" : [
+ 117
+ ],
+ "displayartist" : "Everly Brothers, The",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "genreid" : [
+ 34
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Floyd Robinson"
+ ],
+ "artistid" : [
+ 118
+ ],
+ "genre" : [
+ "Rock"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Floyd Robinson",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 122,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2014,
+ "mood" : [],
+ "style" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "fanart" : ""
+ },
+ {
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 123,
+ "type" : "",
+ "displayartist" : "Guy Mitchell",
+ "thumbnail" : "",
+ "artistid" : [
+ 119
+ ],
+ "artist" : [
+ "Guy Mitchell"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "genre" : [
+ "Rock"
+ ]
+ },
+ {
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "mood" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "albumid" : 124,
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "Jerry Lee Lewis",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 34
+ ],
+ "artistid" : [
+ 120
+ ],
+ "artist" : [
+ "Jerry Lee Lewis"
+ ]
+ },
+ {
+ "genre" : [
+ "Rock"
+ ],
+ "genreid" : [
+ 34
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "John D. Loudermilk"
+ ],
+ "artistid" : [
+ 121
+ ],
+ "thumbnail" : "",
+ "displayartist" : "John D. Loudermilk",
+ "type" : "",
+ "albumid" : 125,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2014,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Rock 'n Roll: 60 Hits",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Rock 'n Roll: 60 Hits"
+ },
+ {
+ "displayartist" : "Johnnie Ray",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "artist" : [
+ "Johnnie Ray"
+ ],
+ "artistid" : [
+ 122
+ ],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "mood" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "albumid" : 126,
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Rock"
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "type" : "",
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 127,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "type" : "",
+ "displayartist" : "Johnny Restivo",
+ "thumbnail" : "",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "artistid" : [
+ 123
+ ],
+ "artist" : [
+ "Johnny Restivo"
+ ],
+ "genre" : [
+ "Rock"
+ ],
+ "mood" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 128,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ]
+ },
+ {
+ "mood" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 129,
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "type" : "",
+ "displayartist" : "Neil Sedaka",
+ "thumbnail" : "",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "artistid" : [
+ 124
+ ],
+ "artist" : [
+ "Neil Sedaka"
+ ],
+ "genre" : [
+ "Rock"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2014,
+ "albumid" : 130,
+ "style" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "mood" : [],
+ "label" : "Rock 'n Roll: 60 Hits",
+ "fanart" : "",
+ "artist" : [
+ "Paul Anka"
+ ],
+ "artistid" : [
+ 125
+ ],
+ "genreid" : [
+ 34
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Paul Anka"
+ },
+ {
+ "albumid" : 131,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2014,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Rock 'n Roll: 60 Hits",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "genre" : [
+ "Rock"
+ ],
+ "genreid" : [
+ 34
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 126
+ ],
+ "artist" : [
+ "Peggy March"
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Peggy March",
+ "type" : ""
+ },
+ {
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 132,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Rock 'n Roll: 60 Hits",
+ "title" : "Rock 'n Roll: 60 Hits",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Rock"
+ ],
+ "artistid" : [
+ 127
+ ],
+ "artist" : [
+ "Platters, The"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 34
+ ],
+ "displayartist" : "Platters, The",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "style" : [],
+ "title" : "Rock 'n Roll: 60 Hits",
+ "mood" : [],
+ "label" : "Rock 'n Roll: 60 Hits",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2014,
+ "rating" : 0,
+ "albumid" : 133,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ray Peterson",
+ "artistid" : [
+ 128
+ ],
+ "artist" : [
+ "Ray Peterson"
+ ],
+ "genreid" : [
+ 34
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Rock"
+ ]
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "Royal Greek Festival Company",
+ "label" : "Royal Greek Festival Company",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 10,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2000,
+ "rating" : 0,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "genreid" : [
+ 4
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "artistid" : [
+ 10
+ ],
+ "genre" : [
+ "Folk"
+ ]
+ },
+ {
+ "type" : "",
+ "displayartist" : "ABC Orch",
+ "thumbnail" : "",
+ "artist" : [
+ "ABC Orch"
+ ],
+ "artistid" : [
+ 195
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 13
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 201
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 196
+ ],
+ "artist" : [
+ "ABC Orch Conducted by Herschel Burke Gilbert"
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ABC Orch Conducted by Herschel Burke Gilbert",
+ "type" : "",
+ "albumid" : 202,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1994,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)"
+ },
+ {
+ "artist" : [
+ "Al Caiola"
+ ],
+ "artistid" : [
+ 197
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 13
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "displayartist" : "Al Caiola",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 203,
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Al Caiola & His Orch",
+ "type" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 198
+ ],
+ "artist" : [
+ "Al Caiola & His Orch"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1994,
+ "rating" : 0,
+ "albumid" : 204,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 205,
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "artistid" : [
+ 199
+ ],
+ "artist" : [
+ "Bill Hayes"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 13
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "displayartist" : "Bill Hayes",
+ "thumbnail" : ""
+ },
+ {
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 206,
+ "type" : "",
+ "displayartist" : "CBS Orch",
+ "thumbnail" : "",
+ "artistid" : [
+ 200
+ ],
+ "artist" : [
+ "CBS Orch"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 13
+ ],
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Changing Channels",
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Changing Channels"
+ ],
+ "artistid" : [
+ 201
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 207,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1994,
+ "rating" : 0
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 208,
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "mood" : [],
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "artistid" : [
+ 202
+ ],
+ "artist" : [
+ "Frankie Laine"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frankie Laine"
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 209,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1994,
+ "rating" : 0,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Gene Autry",
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 203
+ ],
+ "artist" : [
+ "Gene Autry"
+ ],
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "albumid" : 210,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "mood" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : [],
+ "genre" : [
+ "Country"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 204
+ ],
+ "artist" : [
+ "Hugh O'Brian w Ken Darby's Orch & Chorus"
+ ],
+ "displayartist" : "Hugh O'Brian w Ken Darby's Orch & Chorus",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Hugo Mentenegro",
+ "genreid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Hugo Mentenegro"
+ ],
+ "artistid" : [
+ 205
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 211,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994
+ },
+ {
+ "albumid" : 212,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "genre" : [
+ "Country"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "type" : ""
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Johnny Western"
+ ],
+ "artistid" : [
+ 206
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Western",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 213,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994,
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : ""
+ },
+ {
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 214,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Marty Robbins"
+ ],
+ "artistid" : [
+ 207
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Marty Robbins",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "NBC Orch"
+ ],
+ "artistid" : [
+ 208
+ ],
+ "thumbnail" : "",
+ "displayartist" : "NBC Orch",
+ "type" : "",
+ "albumid" : 215,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)"
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 209
+ ],
+ "artist" : [
+ "Orch & Chorus Conducted by David Buttolph"
+ ],
+ "displayartist" : "Orch & Chorus Conducted by David Buttolph",
+ "thumbnail" : "",
+ "type" : "",
+ "albumid" : 216,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "mood" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : []
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Roy Rogers"
+ ],
+ "artistid" : [
+ 210
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Roy Rogers",
+ "type" : "",
+ "albumid" : 217,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Roy Rogers w Spade Cooley & His Western Swing Band",
+ "type" : "",
+ "genre" : [
+ "Country"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "Roy Rogers w Spade Cooley & His Western Swing Band"
+ ],
+ "artistid" : [
+ 211
+ ],
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "albumid" : 218,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1994,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 212
+ ],
+ "artist" : [
+ "Tex Ritter"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "type" : "",
+ "displayartist" : "Tex Ritter",
+ "thumbnail" : "",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 219,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)"
+ },
+ {
+ "label" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1994,
+ "rating" : 0,
+ "albumid" : 220,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Various Artists",
+ "type" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 95
+ ],
+ "artist" : [
+ "Various artists"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "albumlabel" : "",
+ "description" : ""
+ },
+ {
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 152,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Al Ferrier",
+ "type" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artistid" : [
+ 146
+ ],
+ "artist" : [
+ "Al Ferrier"
+ ],
+ "genreid" : [
+ 35
+ ],
+ "description" : "",
+ "albumlabel" : ""
+ },
+ {
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 153,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1990,
+ "rating" : 0,
+ "mood" : [],
+ "style" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "fanart" : "",
+ "genreid" : [
+ 35
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 147
+ ],
+ "artist" : [
+ "Bobby Jay"
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bobby Jay"
+ },
+ {
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artist" : [
+ "Carol Fran"
+ ],
+ "artistid" : [
+ 148
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 35
+ ],
+ "displayartist" : "Carol Fran",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 154,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 155,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Charles Sheffield",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artist" : [
+ "Charles Sheffield"
+ ],
+ "artistid" : [
+ 149
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 35
+ ]
+ },
+ {
+ "albumid" : 156,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "mood" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 35
+ ],
+ "artist" : [
+ "Guitar Gable"
+ ],
+ "artistid" : [
+ 150
+ ],
+ "displayartist" : "Guitar Gable",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 157,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1990,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jay Nelson",
+ "genreid" : [
+ 35
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Jay Nelson"
+ ],
+ "artistid" : [
+ 151
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Joe Hudson & His Rockin' Dukes",
+ "type" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artistid" : [
+ 152
+ ],
+ "artist" : [
+ "Joe Hudson & His Rockin' Dukes"
+ ],
+ "genreid" : [
+ 35
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 158,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "albumid" : 159,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "mood" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 35
+ ],
+ "artist" : [
+ "Johnny Jano"
+ ],
+ "artistid" : [
+ 153
+ ],
+ "displayartist" : "Johnny Jano",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 35
+ ],
+ "artistid" : [
+ 154
+ ],
+ "artist" : [
+ "Lazy Lester"
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "type" : "",
+ "displayartist" : "Lazy Lester",
+ "thumbnail" : "",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 160,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1"
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 161,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 35
+ ],
+ "artist" : [
+ "Leroy Washington"
+ ],
+ "artistid" : [
+ 155
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "type" : "",
+ "displayartist" : "Leroy Washington",
+ "thumbnail" : ""
+ },
+ {
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artist" : [
+ "Lightning Slim"
+ ],
+ "artistid" : [
+ 156
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 35
+ ],
+ "displayartist" : "Lightning Slim",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 162,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "displayartist" : "Lonesome Sundown",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artist" : [
+ "Lonesome Sundown"
+ ],
+ "artistid" : [
+ 157
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 35
+ ],
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "mood" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 163,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 164,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1990,
+ "rating" : 0,
+ "mood" : [],
+ "style" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "fanart" : "",
+ "genreid" : [
+ 35
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 158
+ ],
+ "artist" : [
+ "Silas Hogan"
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Silas Hogan"
+ },
+ {
+ "displayartist" : "Slim Harpo",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 35
+ ],
+ "artist" : [
+ "Slim Harpo"
+ ],
+ "artistid" : [
+ 159
+ ],
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "mood" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "albumid" : 165,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "type" : "",
+ "displayartist" : "Warren Storm",
+ "thumbnail" : "",
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 35
+ ],
+ "artistid" : [
+ 160
+ ],
+ "artist" : [
+ "Warren Storm"
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "mood" : [],
+ "title" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 166,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [
+ ""
+ ]
+ },
+ {
+ "fanart" : "",
+ "label" : "Sounds from the Burning Spear",
+ "title" : "Sounds from the Burning Spear",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 24,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 2
+ ]
+ },
+ {
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 167,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "type" : "",
+ "displayartist" : "Arlette Zola",
+ "thumbnail" : "",
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 161
+ ],
+ "artist" : [
+ "Arlette Zola"
+ ],
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 168,
+ "type" : "",
+ "displayartist" : "Christine Delaroche",
+ "thumbnail" : "",
+ "artist" : [
+ "Christine Delaroche"
+ ],
+ "artistid" : [
+ 162
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "displayartist" : "Christine Pilzer",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 163
+ ],
+ "artist" : [
+ "Christine Pilzer"
+ ],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "albumid" : 169,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Clothilde"
+ ],
+ "artistid" : [
+ 164
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Clothilde",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 170,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2005,
+ "rating" : 0,
+ "mood" : [],
+ "style" : [],
+ "title" : "Swinging Mademoiselles",
+ "label" : "Swinging Mademoiselles",
+ "fanart" : ""
+ },
+ {
+ "label" : "Swinging Mademoiselles",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Swinging Mademoiselles",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 171,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Cosette",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artist" : [
+ "Cosette"
+ ],
+ "artistid" : [
+ 165
+ ],
+ "genreid" : [
+ 5
+ ],
+ "description" : "",
+ "albumlabel" : ""
+ },
+ {
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "albumid" : 172,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "Dephine Desyeux",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 166
+ ],
+ "artist" : [
+ "Dephine Desyeux"
+ ]
+ },
+ {
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 173,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "type" : "",
+ "displayartist" : "Elizabeth",
+ "thumbnail" : "",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 167
+ ],
+ "artist" : [
+ "Elizabeth"
+ ],
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "displayartist" : "Isabelle De Funes",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 168
+ ],
+ "artist" : [
+ "Isabelle De Funes"
+ ],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "albumid" : 174,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Jacqueline Perez",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 169
+ ],
+ "artist" : [
+ "Jacqueline Perez"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "label" : "Swinging Mademoiselles",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Swinging Mademoiselles",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 175,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "albumid" : 176,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "Jacqueline Tajeb",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Jacqueline Tajeb"
+ ],
+ "artistid" : [
+ 170
+ ]
+ },
+ {
+ "albumid" : 177,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Katy David"
+ ],
+ "artistid" : [
+ 171
+ ],
+ "displayartist" : "Katy David",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 178,
+ "type" : "",
+ "displayartist" : "Liz Brady",
+ "thumbnail" : "",
+ "artistid" : [
+ 172
+ ],
+ "artist" : [
+ "Liz Brady"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 5
+ ],
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "displayartist" : "Olivia",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 173
+ ],
+ "artist" : [
+ "Olivia"
+ ],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "mood" : [],
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "albumid" : 179,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 174
+ ],
+ "artist" : [
+ "Stella"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "Stella",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 180,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Swinging Mademoiselles",
+ "title" : "Swinging Mademoiselles",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "style" : [],
+ "title" : "Tarentule - Taren",
+ "mood" : [],
+ "label" : "Tarentule - Taren",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1978,
+ "rating" : 0,
+ "albumid" : 9,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ],
+ "genreid" : [
+ 3
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "albumid" : 57,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 0,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Tavernengeflüster",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Tavernengeflüster",
+ "genre" : [
+ "Celtic"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 54
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "type" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 67,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "Ten Minutes Older",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Ten Minutes Older",
+ "mood" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "artistid" : [
+ 64
+ ],
+ "genreid" : [
+ 6
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "type" : ""
+ },
+ {
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "artistid" : [
+ 57
+ ],
+ "artist" : [
+ "Les Paul"
+ ],
+ "genreid" : [
+ 25
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "style" : [],
+ "title" : "This Is Gold D1 of 3",
+ "mood" : [],
+ "label" : "This Is Gold D1 of 3",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 60
+ },
+ {
+ "style" : [],
+ "title" : "This Is Gold D1 of 3",
+ "mood" : [],
+ "label" : "This Is Gold D1 of 3",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 61,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Paul & Mary Ford",
+ "artistid" : [
+ 58
+ ],
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "genreid" : [
+ 25
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Pop"
+ ]
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 34,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Three Things At Once",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Three Things At Once",
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 16
+ ],
+ "artistid" : [
+ 34
+ ],
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "genre" : [
+ "Punk Rock"
+ ],
+ "type" : "",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : ""
+ },
+ {
+ "fanart" : "",
+ "label" : "Tocates valencianes",
+ "mood" : [],
+ "title" : "Tocates valencianes",
+ "style" : [],
+ "albumid" : 44,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 22
+ ],
+ "artistid" : [
+ 44
+ ],
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ]
+ },
+ {
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 4
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "artistid" : [
+ 59
+ ],
+ "genre" : [
+ "Folk"
+ ],
+ "type" : "",
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 62,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Tocs i Músiques de Les Santes",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Tocs i Músiques de Les Santes"
+ },
+ {
+ "type" : "",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "artistid" : [
+ 11
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 5
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "title" : "The Very Best of Bent Fabric",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "The Very Best of Bent Fabric",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 1997,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 11
+ },
+ {
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Various artists"
+ ],
+ "artistid" : [
+ 95
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "type" : "",
+ "displayartist" : "Various artists",
+ "thumbnail" : "",
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 137,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Violin exam pieces 2008-2011",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Violin exam pieces 2008-2011"
+ },
+ {
+ "albumid" : 32,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Wegzeichen",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "Wegzeichen",
+ "genre" : [],
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "artist" : [
+ "Dauner"
+ ],
+ "artistid" : [
+ 32
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "type" : ""
+ },
+ {
+ "fanart" : "",
+ "label" : "Wegzeichen",
+ "mood" : [],
+ "title" : "Wegzeichen",
+ "style" : [],
+ "albumid" : 33,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "Meditation",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [],
+ "artistid" : [
+ 33
+ ],
+ "artist" : [
+ "Meditation"
+ ]
+ },
+ {
+ "displayartist" : "Wildabeast",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "artist" : [
+ "Wildabeast"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 17
+ ],
+ "fanart" : "",
+ "label" : "Wildabeast",
+ "title" : "Wildabeast",
+ "style" : [],
+ "mood" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 226,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "genreid" : [
+ 18
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 38,
+ "style" : [],
+ "title" : "World of Shit",
+ "mood" : [],
+ "label" : "World of Shit",
+ "fanart" : ""
+ },
+ {
+ "label" : "Xenophilism",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Xenophilism",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 29,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "Assimilation",
+ "type" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "artist" : [
+ "Assimilation"
+ ],
+ "artistid" : [
+ 29
+ ],
+ "genreid" : [
+ 14
+ ],
+ "albumlabel" : "",
+ "description" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 30,
+ "title" : "Xenophilism",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Xenophilism",
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "artistid" : [
+ 30
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 14
+ ],
+ "genre" : [
+ "Goregrind"
+ ],
+ "type" : "",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 42,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "Ya-Ka-May",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Ya-Ka-May",
+ "mood" : [],
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "artist" : [
+ "Galactic"
+ ],
+ "artistid" : [
+ 42
+ ],
+ "genreid" : [
+ 21
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "thumbnail" : "",
+ "displayartist" : "Galactic",
+ "type" : ""
+ },
+ {
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 138,
+ "type" : "",
+ "displayartist" : "Clair Marlo, Alexander Baker",
+ "thumbnail" : "",
+ "artist" : [
+ "Clair Marlo, Alexander Baker"
+ ],
+ "artistid" : [
+ 132
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 9
+ ],
+ "genre" : [
+ "Ambient"
+ ]
+ },
+ {
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 139,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Cy Jack, Duncan Aran",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "artistid" : [
+ 133
+ ],
+ "artist" : [
+ "Cy Jack, Duncan Aran"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 9
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 140,
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "artist" : [
+ "Dean Landon, Anika Paris"
+ ],
+ "artistid" : [
+ 134
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 9
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "type" : "",
+ "displayartist" : "Dean Landon, Anika Paris",
+ "thumbnail" : ""
+ },
+ {
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 141,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Ambient"
+ ],
+ "artist" : [
+ "Geoff Bastow, Jim Harbourg"
+ ],
+ "artistid" : [
+ 135
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 9
+ ],
+ "displayartist" : "Geoff Bastow, Jim Harbourg",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "type" : "",
+ "displayartist" : "Ian Clarke, Simon Painter",
+ "thumbnail" : "",
+ "artist" : [
+ "Ian Clarke, Simon Painter"
+ ],
+ "artistid" : [
+ 136
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 9
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 142
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Jamie Winchester, Tibor Bornai",
+ "type" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "artistid" : [
+ 137
+ ],
+ "artist" : [
+ "Jamie Winchester, Tibor Bornai"
+ ],
+ "genreid" : [
+ 9
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2006,
+ "albumid" : 143,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : []
+ },
+ {
+ "label" : "Zentiva--Muzica de relaxare",
+ "fanart" : "",
+ "style" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 144,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "John Pitman",
+ "type" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "artistid" : [
+ 138
+ ],
+ "artist" : [
+ "John Pitman"
+ ],
+ "genreid" : [
+ 9
+ ],
+ "albumlabel" : "",
+ "description" : ""
+ },
+ {
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Lindsay Tomasic",
+ "artist" : [
+ "Lindsay Tomasic"
+ ],
+ "artistid" : [
+ 139
+ ],
+ "genreid" : [
+ 9
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "style" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "mood" : [],
+ "label" : "Zentiva--Muzica de relaxare",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 145
+ },
+ {
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 146,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "mood" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 9
+ ],
+ "artist" : [
+ "Lindsay Tomasic, Lisa Rapport"
+ ],
+ "artistid" : [
+ 140
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "type" : "",
+ "displayartist" : "Lindsay Tomasic, Lisa Rapport",
+ "thumbnail" : ""
+ },
+ {
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "mood" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 147,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "Matthias Wittwer, Clements Schweikhart",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "artistid" : [
+ 141
+ ],
+ "artist" : [
+ "Matthias Wittwer, Clements Schweikhart"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 9
+ ]
+ },
+ {
+ "fanart" : "",
+ "label" : "Zentiva--Muzica de relaxare",
+ "mood" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "style" : [],
+ "albumid" : 148,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "Michael Bräumer, Uwe Clemens",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 9
+ ],
+ "artist" : [
+ "Michael Bräumer, Uwe Clemens"
+ ],
+ "artistid" : [
+ 142
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 149,
+ "style" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "mood" : [],
+ "label" : "Zentiva--Muzica de relaxare",
+ "fanart" : "",
+ "artist" : [
+ "Quito Colayco"
+ ],
+ "artistid" : [
+ 143
+ ],
+ "genreid" : [
+ 9
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Quito Colayco"
+ },
+ {
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 150,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2006,
+ "mood" : [],
+ "style" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "label" : "Zentiva--Muzica de relaxare",
+ "fanart" : "",
+ "genreid" : [
+ 9
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 144
+ ],
+ "artist" : [
+ "Ryan James, Matteo Imbrianti"
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ryan James, Matteo Imbrianti"
+ },
+ {
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 151,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2006,
+ "mood" : [],
+ "style" : [],
+ "title" : "Zentiva--Muzica de relaxare",
+ "label" : "Zentiva--Muzica de relaxare",
+ "fanart" : "",
+ "genreid" : [
+ 9
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 145
+ ],
+ "artist" : [
+ "Sandra M. Levy, John J. Hayes"
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "Sandra M. Levy, John J. Hayes"
+ },
+ {
+ "genre" : [
+ "Punk"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 7
+ ],
+ "artistid" : [
+ 35
+ ],
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "type" : "",
+ "albumid" : 35,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "Zurück Zum Glück",
+ "mood" : [],
+ "title" : "Zurück Zum Glück",
+ "style" : []
+ },
+ {
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 229,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "title" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "style" : [],
+ "mood" : [],
+ "genre" : [
+ "Folklore"
+ ],
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "artistid" : [
+ 221
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [
+ 22
+ ],
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "type" : ""
+ },
+ {
+ "label" : "おいしいうた・いただきまーす・",
+ "fanart" : "",
+ "style" : [],
+ "title" : "おいしいうた・いただきまーす・",
+ "mood" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 84,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "thumbnail" : "",
+ "displayartist" : "のこいのこ",
+ "type" : "",
+ "genre" : [],
+ "artistid" : [
+ 79
+ ],
+ "artist" : [
+ "のこいのこ"
+ ],
+ "genreid" : [],
+ "description" : "",
+ "albumlabel" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 85,
+ "style" : [],
+ "title" : "おいしいうた・いただきまーす・",
+ "mood" : [],
+ "label" : "おいしいうた・いただきまーす・",
+ "fanart" : "",
+ "artist" : [
+ "ひばり児童合唱団"
+ ],
+ "artistid" : [
+ 80
+ ],
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : [],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "ひばり児童合唱団"
+ },
+ {
+ "genre" : [],
+ "artist" : [
+ "ペグモ"
+ ],
+ "artistid" : [
+ 81
+ ],
+ "genreid" : [],
+ "description" : "",
+ "albumlabel" : "",
+ "thumbnail" : "",
+ "displayartist" : "ペグモ",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 86,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "おいしいうた・いただきまーす・",
+ "fanart" : "",
+ "style" : [],
+ "title" : "おいしいうた・いただきまーす・",
+ "mood" : []
+ },
+ {
+ "displayartist" : "大和田 りつ子",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [],
+ "artist" : [
+ "大和田 りつ子"
+ ],
+ "artistid" : [
+ 82
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [],
+ "fanart" : "",
+ "label" : "おいしいうた・いただきまーす・",
+ "title" : "おいしいうた・いただきまーす・",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 2002,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 87,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "genreid" : [],
+ "description" : "",
+ "albumlabel" : "",
+ "artistid" : [
+ 83
+ ],
+ "artist" : [
+ "子門 真人"
+ ],
+ "genre" : [],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "子門 真人",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 88,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2002,
+ "rating" : 0,
+ "mood" : [],
+ "style" : [],
+ "title" : "おいしいうた・いただきまーす・",
+ "label" : "おいしいうた・いただきまーす・",
+ "fanart" : ""
+ },
+ {
+ "genre" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [],
+ "artistid" : [
+ 84
+ ],
+ "artist" : [
+ "松熊 由紀"
+ ],
+ "displayartist" : "松熊 由紀",
+ "thumbnail" : "",
+ "type" : "",
+ "albumid" : 89,
+ "year" : 2002,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "label" : "おいしいうた・いただきまーす・",
+ "mood" : [],
+ "title" : "おいしいうた・いただきまーす・",
+ "style" : []
+ },
+ {
+ "fanart" : "",
+ "label" : "おいしいうた・いただきまーす・",
+ "title" : "おいしいうた・いただきまーす・",
+ "style" : [],
+ "mood" : [],
+ "rating" : 0,
+ "year" : 2002,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 90,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "displayartist" : "柴矢 裕美",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [],
+ "artistid" : [
+ 85
+ ],
+ "artist" : [
+ "柴矢 裕美"
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : []
+ },
+ {
+ "style" : [],
+ "title" : "おいしいうた・いただきまーす・",
+ "mood" : [],
+ "label" : "おいしいうた・いただきまーす・",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 91,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "永井寛孝とおっぺれった",
+ "artistid" : [
+ 86
+ ],
+ "artist" : [
+ "永井寛孝とおっぺれった"
+ ],
+ "genreid" : [],
+ "albumlabel" : "",
+ "description" : "",
+ "genre" : []
+ },
+ {
+ "displayartist" : "田原 俊彦",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [],
+ "artist" : [
+ "田原 俊彦"
+ ],
+ "artistid" : [
+ 87
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [],
+ "fanart" : "",
+ "label" : "おいしいうた・いただきまーす・",
+ "title" : "おいしいうた・いただきまーす・",
+ "style" : [],
+ "mood" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 92,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : []
+ },
+ {
+ "artist" : [
+ "速水 けんたろう"
+ ],
+ "artistid" : [
+ 88
+ ],
+ "genreid" : [],
+ "description" : "",
+ "albumlabel" : "",
+ "genre" : [],
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "速水 けんたろう",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 2002,
+ "albumid" : 93,
+ "style" : [],
+ "title" : "おいしいうた・いただきまーす・",
+ "mood" : [],
+ "label" : "おいしいうた・いただきまーす・",
+ "fanart" : ""
+ },
+ {
+ "genre" : [],
+ "artist" : [
+ "速水けんたろう、茂森あゆみ"
+ ],
+ "artistid" : [
+ 89
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "genreid" : [],
+ "displayartist" : "速水けんたろう、茂森あゆみ",
+ "thumbnail" : "",
+ "type" : "",
+ "rating" : 0,
+ "year" : 2002,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "albumid" : 94,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "theme" : [],
+ "fanart" : "",
+ "label" : "おいしいうた・いただきまーす・",
+ "title" : "おいしいうた・いただきまーす・",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "fanart" : "",
+ "label" : "おかあさんといっしょ コロンパッ",
+ "mood" : [],
+ "title" : "おかあさんといっしょ コロンパッ",
+ "style" : [],
+ "albumid" : 233,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "theme" : [],
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "type" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "artistid" : [
+ 225
+ ]
+ },
+ {
+ "genre" : [
+ "Punk"
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "artistid" : [
+ 222
+ ],
+ "genreid" : [
+ 7
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "type" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 230,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "theme" : [],
+ "label" : "アナーキー・ライブ",
+ "fanart" : "",
+ "style" : [],
+ "title" : "アナーキー・ライブ",
+ "mood" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "title" : "ピアノスタディ1",
+ "label" : "ピアノスタディ1",
+ "fanart" : "",
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "rating" : 0,
+ "year" : 0,
+ "type" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "genreid" : [
+ 39
+ ],
+ "albumlabel" : "",
+ "description" : "",
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genre" : [
+ "Instrumental"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ",
+ "type" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "genreid" : [
+ 38
+ ],
+ "description" : "",
+ "albumlabel" : "",
+ "artist" : [
+ "ジャレコ"
+ ],
+ "artistid" : [
+ 223
+ ],
+ "label" : "プラスアルファ",
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "title" : "プラスアルファ",
+ "albumid" : 231,
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "year" : 1989,
+ "rating" : 0,
+ "theme" : [],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "description" : "",
+ "artist" : [
+ "First artist",
+ "Second artist",
+ "Third artist"
+ ],
+ "type" : "",
+ "title" : "ThreeArtistsAlbum",
+ "label" : "ThreeArtistsAlbum",
+ "rating" : 0,
+ "albumlabel" : "",
+ "playcount" : 0,
+ "albumid" : 234,
+ "thumbnail" : "",
+ "genreid" : [],
+ "artistid" : [
+ 226,
+ 227,
+ 228
+ ],
+ "mood" : [],
+ "theme" : [],
+ "genre" : [],
+ "displayartist" : "First artist / Second artist / Third artist",
+ "style" : [],
+ "fanart" : "",
+ "year" : 0,
+ "musicbrainzalbumartistid" : [
+ "",
+ "",
+ ""
+ ]
+ },
+ {
+ "mood" : [],
+ "displayartist" : "Various artists",
+ "artist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "genreid" : [],
+ "albumlabel" : "",
+ "theme" : [],
+ "genre" : [],
+ "thumbnail" : "",
+ "style" : [],
+ "description" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "label" : "Various Artists Album",
+ "title" : "Various Artists Album",
+ "albumid" : 235,
+ "musicbrainzalbumid" : "",
+ "year" : 0,
+ "artistid" : [
+ 229
+ ],
+ "rating" : 0,
+ "type" : "",
+ "playcount" : 0
+ },
+ {
+ "albumlabel" : "",
+ "albumid" : 236,
+ "playcount" : 0,
+ "genreid" : [],
+ "displayartist" : "Various artists",
+ "musicbrainzalbumartistid" : [
+ ""
+ ],
+ "musicbrainzalbumid" : "",
+ "label" : "Various Artists Album No Song Artist",
+ "mood" : [],
+ "type" : "",
+ "title" : "Various Artists Album No Song Artist",
+ "style" : [],
+ "year" : 0,
+ "fanart" : "",
+ "genre" : [],
+ "artist" : [
+ "Various artists"
+ ],
+ "artistid" : [
+ 229
+ ],
+ "theme" : [],
+ "description" : "",
+ "thumbnail" : "",
+ "rating" : 0
+ },
+ {
+ "type" : "",
+ "musicbrainzalbumid" : "",
+ "title" : "Multi disc album",
+ "label" : "Multi disc album",
+ "genreid" : [],
+ "theme" : [],
+ "albumlabel" : "",
+ "playcount" : 0,
+ "style" : [],
+ "albumid" : 237,
+ "rating" : 0,
+ "fanart" : "",
+ "genre" : [],
+ "description" : "",
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "year" : 0,
+ "artistid" : [
+ 230
+ ],
+ "mood" : [],
+ "displayartist" : "Multi disc artist",
+ "thumbnail" : "",
+ "musicbrainzalbumartistid" : [
+ ""
+ ]
+ }
+ ]
+ }
+}
diff --git a/app/src/debug/assets/AudioLibrary.GetArtists.json b/app/src/debug/assets/AudioLibrary.GetArtists.json
new file mode 100644
index 0000000..94286ac
--- /dev/null
+++ b/app/src/debug/assets/AudioLibrary.GetArtists.json
@@ -0,0 +1,4593 @@
+{
+ "id" : "libArtists",
+ "jsonrpc" : "2.0",
+ "result" : {
+ "artists" : [
+ {
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "ABC Orch",
+ "artistid" : 195,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "label" : "ABC Orch",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "died" : "",
+ "artist" : "ABC Orch Conducted by Herschel Burke Gilbert",
+ "artistid" : 196,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "ABC Orch Conducted by Herschel Burke Gilbert",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "artist" : "Adam \"Swannee\" Swann",
+ "died" : "",
+ "artistid" : 97,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "Adam \"Swannee\" Swann",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Adult Books",
+ "fanart" : "",
+ "yearsactive" : [],
+ "died" : "",
+ "artistid" : 17,
+ "artist" : "Adult Books",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "artist" : "Al Caiola",
+ "died" : "",
+ "artistid" : 197,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "Al Caiola",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artistid" : 198,
+ "artist" : "Al Caiola & His Orch",
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "label" : "Al Caiola & His Orch",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Al Ferrier",
+ "yearsactive" : [],
+ "fanart" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "Al Ferrier",
+ "artistid" : 146,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artistid" : 1,
+ "died" : "",
+ "artist" : "Albert Collins",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "Albert Collins",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "Alton Ellis",
+ "died" : "",
+ "artistid" : 8,
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Alton Ellis",
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "Aretha Franklin",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artist" : "Aretha Franklin",
+ "died" : "",
+ "artistid" : 110,
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Arlette Zola",
+ "died" : "",
+ "artistid" : 161,
+ "description" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Arlette Zola",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "description" : "",
+ "born" : "",
+ "artist" : "Art Podell",
+ "died" : "",
+ "artistid" : 98,
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Art Podell"
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "The Artist",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 73,
+ "artist" : "The Artist",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Assimilation",
+ "artistid" : 29,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Assimilation",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "born" : "",
+ "died" : "",
+ "artistid" : 9,
+ "artist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Atrium Musicae de Madrid, Gregorio Paniagua"
+ },
+ {
+ "artist" : "Authentic Greek Folk Songs and Dances",
+ "died" : "",
+ "artistid" : 10,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Authentic Greek Folk Songs and Dances",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Bath",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Bath",
+ "artistid" : 12,
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "Ben E. King",
+ "artistid" : 111,
+ "born" : "",
+ "description" : "",
+ "label" : "Ben E. King",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "died" : "",
+ "artist" : "Bent Fabric",
+ "artistid" : 11,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Bent Fabric",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "description" : "",
+ "born" : "",
+ "artist" : "Bernstein, Charles",
+ "died" : "",
+ "artistid" : 13,
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Bernstein, Charles"
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artist" : "Bill Hayes",
+ "died" : "",
+ "artistid" : 199,
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "label" : "Bill Hayes",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Billy Cheatwood",
+ "fanart" : "",
+ "yearsactive" : [],
+ "description" : "",
+ "died" : "",
+ "artistid" : 99,
+ "artist" : "Billy Cheatwood",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Billy Larkin",
+ "artistid" : 175,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Billy Larkin",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Bleach Boys",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artistid" : 15,
+ "artist" : "Bleach Boys",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artist" : "BLOOD DUSTER",
+ "died" : "",
+ "artistid" : 16,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "BLOOD DUSTER",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "Bob B. Sox and the Blue Jeans",
+ "artistid" : 112,
+ "born" : "",
+ "label" : "Bob B. Sox and the Blue Jeans",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "description" : "",
+ "born" : "",
+ "artist" : "Bobby Jay",
+ "died" : "",
+ "artistid" : 147,
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Bobby Jay"
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "artist" : "Boss DJ",
+ "died" : "",
+ "artistid" : 18,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "label" : "Boss DJ",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "formed" : "",
+ "label" : "Brad Nowell",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 19,
+ "died" : "",
+ "artist" : "Brad Nowell",
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Brian Eno",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 21,
+ "died" : "",
+ "artist" : "Brian Eno",
+ "description" : ""
+ },
+ {
+ "label" : "Bruce Cloud",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artistid" : 176,
+ "artist" : "Bruce Cloud",
+ "born" : ""
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Bruckner. Anton",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "artistid" : 22,
+ "died" : "",
+ "artist" : "Bruckner. Anton",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Brutal Truth",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "Brutal Truth",
+ "artistid" : 23,
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 24,
+ "artist" : "Burning Spear",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Burning Spear",
+ "formed" : ""
+ },
+ {
+ "born" : "",
+ "died" : "",
+ "artist" : "Calefax Rietkwintet",
+ "artistid" : 25,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Calefax Rietkwintet"
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "label" : "Carl Perkins",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "died" : "",
+ "artistid" : 113,
+ "artist" : "Carl Perkins",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 148,
+ "artist" : "Carol Fran",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Carol Fran",
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "CBS Orch",
+ "born" : "",
+ "died" : "",
+ "artistid" : 200,
+ "artist" : "CBS Orch",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "label" : "Changing Channels",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "Changing Channels",
+ "artistid" : 201,
+ "born" : ""
+ },
+ {
+ "label" : "Charles Sheffield",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "Charles Sheffield",
+ "artistid" : 149,
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Charlie Parker All Stars [5]",
+ "artistid" : 129,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Charlie Parker All Stars [5]",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Chick Corea",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Chick Corea",
+ "died" : "",
+ "artistid" : 26,
+ "description" : ""
+ },
+ {
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Christine Delaroche",
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "Christine Delaroche",
+ "died" : "",
+ "artistid" : 162
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Christine Pilzer",
+ "born" : "",
+ "died" : "",
+ "artistid" : 163,
+ "artist" : "Christine Pilzer",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Clair Marlo, Alexander Baker",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 132,
+ "artist" : "Clair Marlo, Alexander Baker",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "artistid" : 177,
+ "died" : "",
+ "artist" : "Clare Sisters",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Clare Sisters",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "description" : "",
+ "died" : "",
+ "artistid" : 92,
+ "artist" : "Clitoridus Invaginatus",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Clitoridus Invaginatus",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Clothilde",
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 164,
+ "artist" : "Clothilde"
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "Cockpunch",
+ "artistid" : 27,
+ "born" : "",
+ "description" : "",
+ "label" : "Cockpunch",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Conway Twitty",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "artist" : "Conway Twitty",
+ "died" : "",
+ "artistid" : 28,
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "died" : "",
+ "artistid" : 30,
+ "artist" : "Corporal Raid",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Corporal Raid",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 165,
+ "artist" : "Cosette",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Cosette",
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Cy Jack, Duncan Aran",
+ "fanart" : "",
+ "yearsactive" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "Cy Jack, Duncan Aran",
+ "artistid" : 133,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "DAMAS GRATIS",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "DAMAS GRATIS",
+ "died" : "",
+ "artistid" : 31,
+ "description" : ""
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Dauner",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artistid" : 32,
+ "artist" : "Dauner",
+ "description" : ""
+ },
+ {
+ "label" : "David Lindley",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artistid" : 100,
+ "died" : "",
+ "artist" : "David Lindley",
+ "born" : ""
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artist" : "Dean Landon, Anika Paris",
+ "died" : "",
+ "artistid" : 134,
+ "born" : "",
+ "label" : "Dean Landon, Anika Paris",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "label" : "Deep Sleep",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "Deep Sleep",
+ "artistid" : 34,
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Dephine Desyeux",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 166,
+ "died" : "",
+ "artist" : "Dephine Desyeux",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "Dick Rasmini",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "Dick Rasmini",
+ "artistid" : 101,
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "label" : "Dick Weissman",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 102,
+ "died" : "",
+ "artist" : "Dick Weissman",
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Die Toten Hosen",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "artistid" : 35,
+ "died" : "",
+ "artist" : "Die Toten Hosen",
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Dion",
+ "fanart" : "",
+ "yearsactive" : [],
+ "artistid" : 114,
+ "died" : "",
+ "artist" : "Dion",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "died" : "",
+ "artist" : "Dismemberment",
+ "artistid" : 93,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Dismemberment",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artistid" : 36,
+ "artist" : "DJ Revolution",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "DJ Revolution",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "The Drifters",
+ "artistid" : 74,
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "label" : "The Drifters",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artist" : "Eating Shit",
+ "died" : "",
+ "artistid" : 38,
+ "born" : "",
+ "label" : "Eating Shit",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Ed Bruce",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "artist" : "Ed Bruce",
+ "died" : "",
+ "artistid" : 178,
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 179,
+ "died" : "",
+ "artist" : "Eddie Martin",
+ "born" : "",
+ "description" : "",
+ "label" : "Eddie Martin",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Eddy Arnold",
+ "fanart" : "",
+ "yearsactive" : [],
+ "description" : "",
+ "died" : "",
+ "artistid" : 115,
+ "artist" : "Eddy Arnold",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "Elizabeth",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "Elizabeth",
+ "artistid" : 167,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Elvis Presley",
+ "died" : "",
+ "artistid" : 116,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Elvis Presley",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Eric Weissberg with Marshall Brickman",
+ "died" : "",
+ "artistid" : 103,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Eric Weissberg with Marshall Brickman",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Erik Darling",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artistid" : 104,
+ "artist" : "Erik Darling",
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Etta James",
+ "artistid" : 39,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Etta James",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "description" : "",
+ "artistid" : 117,
+ "died" : "",
+ "artist" : "Everly Brothers, The",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Everly Brothers, The",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "the Faeries",
+ "description" : "",
+ "born" : "",
+ "artistid" : 75,
+ "died" : "",
+ "artist" : "the Faeries",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "description" : "",
+ "born" : "",
+ "artistid" : 40,
+ "died" : "",
+ "artist" : "Fats Domino",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Fats Domino"
+ },
+ {
+ "died" : "",
+ "artist" : "Floyd Robinson",
+ "artistid" : 118,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Floyd Robinson",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Frank Sinatra",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 41,
+ "artist" : "Frank Sinatra",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "died" : "",
+ "artistid" : 202,
+ "artist" : "Frankie Laine",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "Frankie Laine",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Galactic",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artistid" : 42,
+ "died" : "",
+ "artist" : "Galactic",
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Gene Autry",
+ "born" : "",
+ "died" : "",
+ "artistid" : 203,
+ "artist" : "Gene Autry",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Geoff Bastow, Jim Harbourg",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "Geoff Bastow, Jim Harbourg",
+ "artistid" : 135,
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "God Bless You",
+ "description" : "",
+ "born" : "",
+ "artistid" : 48,
+ "died" : "",
+ "artist" : "God Bless You",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Green, Lloyd",
+ "yearsactive" : [],
+ "fanart" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "Green, Lloyd",
+ "artistid" : 43,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "yearsactive" : [],
+ "fanart" : "",
+ "description" : "",
+ "died" : "",
+ "artistid" : 44,
+ "artist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "Guitar Gable",
+ "died" : "",
+ "artistid" : 150,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Guitar Gable",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artistid" : 119,
+ "died" : "",
+ "artist" : "Guy Mitchell",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Guy Mitchell",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Henry Hayes",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Henry Hayes",
+ "artistid" : 2,
+ "description" : ""
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Henry Hayes With Georgetta Hardin",
+ "yearsactive" : [],
+ "fanart" : "",
+ "died" : "",
+ "artist" : "Henry Hayes With Georgetta Hardin",
+ "artistid" : 3,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artistid" : 4,
+ "artist" : "Herbert Milburn and the Lesabres",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "Herbert Milburn and the Lesabres",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "artistid" : 76,
+ "died" : "",
+ "artist" : "The Hollywood Trombones",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "The Hollywood Trombones",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artistid" : 204,
+ "artist" : "Hugh O'Brian w Ken Darby's Orch & Chorus",
+ "born" : "",
+ "description" : "",
+ "label" : "Hugh O'Brian w Ken Darby's Orch & Chorus",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 205,
+ "artist" : "Hugo Mentenegro",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Hugo Mentenegro",
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Ian Clarke, Simon Painter",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "Ian Clarke, Simon Painter",
+ "died" : "",
+ "artistid" : 136,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artistid" : 37,
+ "artist" : "Intro",
+ "description" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Intro",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "Isabelle De Funes",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "artist" : "Isabelle De Funes",
+ "died" : "",
+ "artistid" : 168,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "died" : "",
+ "artistid" : 14,
+ "artist" : "It Appears",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "It Appears",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "Jacqueline Perez",
+ "died" : "",
+ "artistid" : 169,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Jacqueline Perez",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "description" : "",
+ "died" : "",
+ "artistid" : 170,
+ "artist" : "Jacqueline Tajeb",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Jacqueline Tajeb",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "James Brown",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 45,
+ "died" : "",
+ "artist" : "James Brown",
+ "description" : ""
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artistid" : 137,
+ "died" : "",
+ "artist" : "Jamie Winchester, Tibor Bornai",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Jamie Winchester, Tibor Bornai",
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "January Jones",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 180,
+ "died" : "",
+ "artist" : "January Jones",
+ "description" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "artistid" : 181,
+ "died" : "",
+ "artist" : "Jarmels",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Jarmels",
+ "formed" : ""
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 151,
+ "died" : "",
+ "artist" : "Jay Nelson",
+ "born" : "",
+ "description" : "",
+ "label" : "Jay Nelson",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "Jay-Z",
+ "artistid" : 46,
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "label" : "Jay-Z",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 182,
+ "died" : "",
+ "artist" : "Jennifer Wells",
+ "description" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Jennifer Wells",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Jerry Lee Lewis",
+ "yearsactive" : [],
+ "fanart" : "",
+ "description" : "",
+ "artist" : "Jerry Lee Lewis",
+ "died" : "",
+ "artistid" : 120,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Jim Helms",
+ "artistid" : 105,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Jim Helms",
+ "formed" : ""
+ },
+ {
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Jim McGuinn",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Jim McGuinn",
+ "died" : "",
+ "artistid" : 106,
+ "description" : ""
+ },
+ {
+ "label" : "Jim Reeves",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 47,
+ "died" : "",
+ "artist" : "Jim Reeves",
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "label" : "Joe Hudson & His Rockin' Dukes",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 152,
+ "died" : "",
+ "artist" : "Joe Hudson & His Rockin' Dukes",
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 5,
+ "died" : "",
+ "artist" : "Joe Hughes",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Joe Hughes",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "artistid" : 107,
+ "died" : "",
+ "artist" : "Joe Maphis",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Joe Maphis",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "John D. Loudermilk",
+ "description" : "",
+ "born" : "",
+ "artistid" : 121,
+ "died" : "",
+ "artist" : "John D. Loudermilk",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "John Pitman",
+ "died" : "",
+ "artistid" : 138,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "John Pitman",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "John Powell",
+ "artistid" : 49,
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "John Powell",
+ "formed" : ""
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Johnnie Ray",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Johnnie Ray",
+ "died" : "",
+ "artistid" : 122,
+ "description" : ""
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Johnny & The Hurricanes",
+ "died" : "",
+ "artistid" : 183,
+ "description" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Johnny & The Hurricanes",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "born" : "",
+ "died" : "",
+ "artist" : "Johnny Cash",
+ "artistid" : 50,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Johnny Cash"
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Johnny Cash a",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artist" : "Johnny Cash a",
+ "died" : "",
+ "artistid" : 52,
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 153,
+ "artist" : "Johnny Jano",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Johnny Jano",
+ "formed" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Johnny Restivo",
+ "artistid" : 123,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Johnny Restivo",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "artistid" : 206,
+ "died" : "",
+ "artist" : "Johnny Western",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Johnny Western",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "born" : "",
+ "died" : "",
+ "artist" : "June Valli",
+ "artistid" : 184,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "June Valli"
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Karaindrou, Eleni",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "artist" : "Karaindrou, Eleni",
+ "died" : "",
+ "artistid" : 53,
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Katy David",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 171,
+ "artist" : "Katy David",
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Koboldix",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Koboldix",
+ "artistid" : 54,
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artist" : "Kottans Kapelle",
+ "died" : "",
+ "artistid" : 55,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "Kottans Kapelle",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artist" : "LAMARQUE et GOUDARD",
+ "died" : "",
+ "artistid" : 56,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "LAMARQUE et GOUDARD",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Lazy Lester",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 154,
+ "artist" : "Lazy Lester",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "artistid" : 155,
+ "died" : "",
+ "artist" : "Leroy Washington",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Leroy Washington",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "artist" : "Les Paul",
+ "died" : "",
+ "artistid" : 57,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "Les Paul",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artistid" : 58,
+ "artist" : "Les Paul & Mary Ford",
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "label" : "Les Paul & Mary Ford",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Les Santes",
+ "born" : "",
+ "died" : "",
+ "artist" : "Les Santes",
+ "artistid" : 59,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artistid" : 156,
+ "artist" : "Lightning Slim",
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "label" : "Lightning Slim",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Lindsay Tomasic",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Lindsay Tomasic",
+ "died" : "",
+ "artistid" : 139,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Lindsay Tomasic, Lisa Rapport",
+ "artistid" : 140,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Lindsay Tomasic, Lisa Rapport",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "label" : "Liz Brady",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artist" : "Liz Brady",
+ "died" : "",
+ "artistid" : 172,
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Lonesome Sundown",
+ "died" : "",
+ "artistid" : 157,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Lonesome Sundown",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Lonnis Smith",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Lonnis Smith",
+ "artistid" : 185,
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Marienvesper 1693",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "Marienvesper 1693",
+ "artistid" : 60,
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Marty Robbins",
+ "born" : "",
+ "artist" : "Marty Robbins",
+ "died" : "",
+ "artistid" : 207,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Marvellows",
+ "fanart" : "",
+ "yearsactive" : [],
+ "artistid" : 186,
+ "died" : "",
+ "artist" : "Marvellows",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artistid" : 108,
+ "died" : "",
+ "artist" : "Mason Williams",
+ "born" : "",
+ "label" : "Mason Williams",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Matthias Wittwer, Clements Schweikhart",
+ "yearsactive" : [],
+ "fanart" : "",
+ "description" : "",
+ "artistid" : 141,
+ "died" : "",
+ "artist" : "Matthias Wittwer, Clements Schweikhart",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "artistid" : 61,
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Meditation",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "Meditation",
+ "artistid" : 33,
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 51,
+ "died" : "",
+ "artist" : "Medley: Church In The Wildwood",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Medley: Church In The Wildwood",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artistid" : 142,
+ "artist" : "Michael Bräumer, Uwe Clemens",
+ "description" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Michael Bräumer, Uwe Clemens",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Mike Seeger",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Mike Seeger",
+ "artistid" : 109,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "Milt Rogers",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artistid" : 187,
+ "died" : "",
+ "artist" : "Milt Rogers",
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "label" : "Modus Delicti",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artistid" : 94,
+ "artist" : "Modus Delicti",
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artistid" : 62,
+ "artist" : "Music Kids",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "Music Kids",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "NBC Orch",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "NBC Orch",
+ "artistid" : 208,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "Neil Sedaka",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 124,
+ "died" : "",
+ "artist" : "Neil Sedaka",
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "artist" : "Nina Simone",
+ "died" : "",
+ "artistid" : 188,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "label" : "Nina Simone",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Olivia",
+ "born" : "",
+ "died" : "",
+ "artistid" : 173,
+ "artist" : "Olivia",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "description" : "",
+ "artist" : "Onie Wheeler",
+ "died" : "",
+ "artistid" : 63,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "Onie Wheeler",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "label" : "Orch & Chorus Conducted by David Buttolph",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artist" : "Orch & Chorus Conducted by David Buttolph",
+ "died" : "",
+ "artistid" : 209,
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "artistid" : 130,
+ "died" : "",
+ "artist" : "Original Charlie Parker Quintet [5]",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Original Charlie Parker Quintet [5]",
+ "yearsactive" : [],
+ "fanart" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artist" : "Original Charlie Parker Sextet [6]",
+ "died" : "",
+ "artistid" : 131,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "Original Charlie Parker Sextet [6]",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "died" : "",
+ "artist" : "Paul Anka",
+ "artistid" : 125,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "Paul Anka",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "description" : "",
+ "born" : "",
+ "artistid" : 64,
+ "died" : "",
+ "artist" : "Paul Englishby",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Paul Englishby"
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Peggy March",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Peggy March",
+ "artistid" : 126,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 6,
+ "artist" : "Piano Slim",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Piano Slim",
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artistid" : 189,
+ "died" : "",
+ "artist" : "Pierre Lalonde",
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "label" : "Pierre Lalonde",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "pigto",
+ "died" : "",
+ "artistid" : 65,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "pigto",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Plas Johnson",
+ "fanart" : "",
+ "yearsactive" : [],
+ "artistid" : 190,
+ "died" : "",
+ "artist" : "Plas Johnson",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Platters, The",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 127,
+ "artist" : "Platters, The",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "PONS",
+ "born" : "",
+ "died" : "",
+ "artist" : "PONS",
+ "artistid" : 66,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "P←rez Prado",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "P←rez Prado",
+ "died" : "",
+ "artistid" : 191,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Quito Colayco",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Quito Colayco",
+ "artistid" : 143,
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Ramones",
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 67,
+ "artist" : "Ramones"
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "artist" : "Ray Charles",
+ "died" : "",
+ "artistid" : 68,
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Ray Charles",
+ "formed" : ""
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Ray Peterson",
+ "artistid" : 128,
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Ray Peterson",
+ "formed" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 69,
+ "artist" : "Roach Gigz",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Roach Gigz",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "artist" : "Ronnie Gallant",
+ "died" : "",
+ "artistid" : 192,
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Ronnie Gallant",
+ "formed" : ""
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Roy Rogers",
+ "died" : "",
+ "artistid" : 210,
+ "description" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Roy Rogers",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Roy Rogers w Spade Cooley & His Western Swing Band",
+ "artistid" : 211,
+ "genre" : [],
+ "instrument" : [],
+ "mood" : [],
+ "style" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Roy Rogers w Spade Cooley & His Western Swing Band",
+ "formed" : ""
+ },
+ {
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Ryan James, Matteo Imbrianti",
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 144,
+ "artist" : "Ryan James, Matteo Imbrianti"
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Sandra M. Levy, John J. Hayes",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 145,
+ "artist" : "Sandra M. Levy, John J. Hayes",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artistid" : 158,
+ "died" : "",
+ "artist" : "Silas Hogan",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Silas Hogan",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Slim Harpo",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artistid" : 159,
+ "died" : "",
+ "artist" : "Slim Harpo",
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 70,
+ "artist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Smoky Mountain",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Space Juniors",
+ "died" : "",
+ "artistid" : 71,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Space Juniors",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "died" : "",
+ "artistid" : 174,
+ "artist" : "Stella",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "style" : [],
+ "mood" : [],
+ "label" : "Stella",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : ""
+ },
+ {
+ "label" : "Svenska Akademien",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "Svenska Akademien",
+ "artistid" : 72,
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Tex Ritter",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "Tex Ritter",
+ "artistid" : 212,
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Tigers, (The)",
+ "born" : "",
+ "artistid" : 7,
+ "died" : "",
+ "artist" : "Tigers, (The)",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : ""
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Toni Harper",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "artist" : "Toni Harper",
+ "died" : "",
+ "artistid" : 193,
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Triumphs",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "artistid" : 194,
+ "died" : "",
+ "artist" : "Triumphs",
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "instrument" : [],
+ "genre" : [],
+ "artist" : "U-Roy",
+ "died" : "",
+ "artistid" : 77,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "formed" : "",
+ "label" : "U-Roy",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : []
+ },
+ {
+ "label" : "Unicorn Valley",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 78,
+ "died" : "",
+ "artist" : "Unicorn Valley",
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "VA",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "VA",
+ "artistid" : 90,
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "died" : "",
+ "artistid" : 91,
+ "artist" : "VARIOS",
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "VARIOS",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 96,
+ "died" : "",
+ "artist" : "Various",
+ "born" : "",
+ "description" : "",
+ "label" : "Various",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Victims in Ecstacy",
+ "yearsactive" : [],
+ "fanart" : "",
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artistid" : 213,
+ "artist" : "Victims in Ecstacy",
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artist" : "Vladimir Cosma",
+ "died" : "",
+ "artistid" : 214,
+ "born" : "",
+ "label" : "Vladimir Cosma",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : ""
+ },
+ {
+ "died" : "",
+ "artist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "artistid" : 215,
+ "born" : "",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "label" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "fanart" : "",
+ "yearsactive" : []
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Waltons",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "died" : "",
+ "artistid" : 216,
+ "artist" : "Waltons",
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Warren Storm",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Warren Storm",
+ "artistid" : 160,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "artist" : "Wat Tyler",
+ "died" : "",
+ "artistid" : 217,
+ "description" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Wat Tyler",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "Welcome Tomorrow",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artistid" : 20,
+ "artist" : "Welcome Tomorrow",
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "Wildabeast",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artistid" : 218,
+ "artist" : "Wildabeast",
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "Zhao Jiping",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artistid" : 219,
+ "artist" : "Zhao Jiping",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "artistid" : 220,
+ "died" : "",
+ "artist" : "Άνευ ερμηνευτού",
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "label" : "Άνευ ερμηνευτού",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "died" : "",
+ "artist" : "Трыхэђшэр аџсъютр",
+ "artistid" : 221,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "Трыхэђшэр аџсъютр",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "mood" : [],
+ "style" : [],
+ "label" : "のこいのこ",
+ "fanart" : "",
+ "yearsactive" : [],
+ "formed" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "のこいのこ",
+ "artistid" : 79,
+ "born" : "",
+ "genre" : [],
+ "instrument" : []
+ },
+ {
+ "style" : [],
+ "mood" : [],
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "ひばり児童合唱団",
+ "formed" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "born" : "",
+ "artist" : "ひばり児童合唱団",
+ "died" : "",
+ "artistid" : 80,
+ "description" : "",
+ "instrument" : [],
+ "genre" : []
+ },
+ {
+ "label" : "アナーキー",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "アナーキー",
+ "artistid" : 222,
+ "born" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "ジャレコ",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 223,
+ "died" : "",
+ "artist" : "ジャレコ",
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "ペグモ",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "ペグモ",
+ "died" : "",
+ "artistid" : 81,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "formed" : "",
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "ヤマハ音楽振興会",
+ "mood" : [],
+ "style" : [],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artist" : "ヤマハ音楽振興会",
+ "died" : "",
+ "artistid" : 224,
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "label" : "大和田 りつ子",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "artistid" : 82,
+ "died" : "",
+ "artist" : "大和田 りつ子",
+ "born" : "",
+ "description" : ""
+ },
+ {
+ "formed" : "",
+ "label" : "子門 真人",
+ "yearsactive" : [],
+ "fanart" : "",
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "died" : "",
+ "artist" : "子門 真人",
+ "artistid" : 83,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "born" : "",
+ "artistid" : 84,
+ "died" : "",
+ "artist" : "松熊 由紀",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "松熊 由紀",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "formed" : "",
+ "mood" : [],
+ "style" : [],
+ "label" : "柴矢 裕美",
+ "yearsactive" : [],
+ "fanart" : "",
+ "description" : "",
+ "died" : "",
+ "artist" : "柴矢 裕美",
+ "artistid" : 85,
+ "born" : "",
+ "genre" : [],
+ "instrument" : [],
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "thumbnail" : ""
+ },
+ {
+ "born" : "",
+ "died" : "",
+ "artistid" : 225,
+ "artist" : "横山だいすけ、三谷たくみ",
+ "description" : "",
+ "instrument" : [],
+ "genre" : [],
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "style" : [],
+ "mood" : [],
+ "fanart" : "",
+ "yearsactive" : [],
+ "label" : "横山だいすけ、三谷たくみ"
+ },
+ {
+ "formed" : "",
+ "label" : "永井寛孝とおっぺれった",
+ "fanart" : "",
+ "yearsactive" : [],
+ "style" : [],
+ "mood" : [],
+ "instrument" : [],
+ "genre" : [],
+ "artist" : "永井寛孝とおっぺれった",
+ "died" : "",
+ "artistid" : 86,
+ "born" : "",
+ "description" : "",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : ""
+ },
+ {
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "disbanded" : "",
+ "instrument" : [],
+ "genre" : [],
+ "born" : "",
+ "died" : "",
+ "artist" : "田原 俊彦",
+ "artistid" : 87,
+ "description" : "",
+ "yearsactive" : [],
+ "fanart" : "",
+ "label" : "田原 俊彦",
+ "style" : [],
+ "mood" : [],
+ "formed" : ""
+ },
+ {
+ "label" : "速水 けんたろう",
+ "fanart" : "",
+ "yearsactive" : [],
+ "mood" : [],
+ "style" : [],
+ "formed" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artistid" : 88,
+ "artist" : "速水 けんたろう",
+ "born" : ""
+ },
+ {
+ "genre" : [],
+ "instrument" : [],
+ "description" : "",
+ "died" : "",
+ "artist" : "速水けんたろう、茂森あゆみ",
+ "artistid" : 89,
+ "born" : "",
+ "thumbnail" : "",
+ "disbanded" : "",
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "formed" : "",
+ "label" : "速水けんたろう、茂森あゆみ",
+ "yearsactive" : [],
+ "fanart" : "",
+ "mood" : [],
+ "style" : []
+ },
+ {
+ "description" : "",
+ "disbanded" : "",
+ "artist" : "First artist",
+ "instrument" : [],
+ "label" : "First artist",
+ "born" : "",
+ "yearsactive" : [],
+ "genre" : [],
+ "thumbnail" : "",
+ "mood" : [],
+ "artistid" : 226,
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "died" : "",
+ "formed" : "",
+ "style" : [],
+ "fanart" : ""
+ },
+ {
+ "description" : "",
+ "disbanded" : "",
+ "artist" : "Second artist",
+ "instrument" : [],
+ "label" : "Second artist",
+ "born" : "",
+ "yearsactive" : [],
+ "genre" : [],
+ "thumbnail" : "",
+ "mood" : [],
+ "artistid" : 227,
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "died" : "",
+ "formed" : "",
+ "style" : [],
+ "fanart" : ""
+ },
+ {
+ "description" : "",
+ "disbanded" : "",
+ "artist" : "Third artist",
+ "instrument" : [],
+ "label" : "Third artist",
+ "born" : "",
+ "yearsactive" : [],
+ "genre" : [],
+ "thumbnail" : "",
+ "mood" : [],
+ "artistid" : 228,
+ "musicbrainzartistid" : [
+ ""
+ ],
+ "died" : "",
+ "formed" : "",
+ "style" : [],
+ "fanart" : ""
+ },
+ {
+ "instrument" : [],
+ "artist" : "Various artists",
+ "fanart" : "",
+ "mood" : [],
+ "disbanded" : "",
+ "thumbnail" : "",
+ "formed" : "",
+ "genre" : [],
+ "died" : "",
+ "description" : "",
+ "style" : [],
+ "label" : "Various artists",
+ "yearsactive" : [],
+ "artistid" : 229,
+ "born" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ },
+ {
+ "instrument" : [],
+ "yearsactive" : [],
+ "label" : "Multi disc artist",
+ "died" : "",
+ "born" : "",
+ "genre" : [],
+ "fanart" : "",
+ "disbanded" : "",
+ "artist" : "Multi disc artist",
+ "description" : "",
+ "formed" : "",
+ "style" : [],
+ "artistid" : 230,
+ "mood" : [],
+ "thumbnail" : "",
+ "musicbrainzartistid" : [
+ ""
+ ]
+ }
+ ],
+ "limits" : {
+ "total" : 228,
+ "end" : 229,
+ "start" : 0
+ }
+ }
+}
diff --git a/app/src/debug/assets/AudioLibrary.GetGenres.json b/app/src/debug/assets/AudioLibrary.GetGenres.json
new file mode 100644
index 0000000..5116663
--- /dev/null
+++ b/app/src/debug/assets/AudioLibrary.GetGenres.json
@@ -0,0 +1,247 @@
+{
+ "id" : "libGenres",
+ "result" : {
+ "limits" : {
+ "total" : 39,
+ "start" : 0,
+ "end" : 39
+ },
+ "genres" : [
+ {
+ "genreid" : 9,
+ "title" : "Ambient",
+ "label" : "Ambient",
+ "thumbnail" : ""
+ },
+ {
+ "label" : "Bluegrass",
+ "thumbnail" : "",
+ "genreid" : 33,
+ "title" : "Bluegrass"
+ },
+ {
+ "title" : "Blues",
+ "genreid" : 1,
+ "thumbnail" : "",
+ "label" : "Blues"
+ },
+ {
+ "label" : "Blues Compilation",
+ "thumbnail" : "",
+ "genreid" : 35,
+ "title" : "Blues Compilation"
+ },
+ {
+ "thumbnail" : "",
+ "label" : "Brutal Death Metal",
+ "title" : "Brutal Death Metal",
+ "genreid" : 32
+ },
+ {
+ "title" : "Celtic",
+ "genreid" : 24,
+ "thumbnail" : "",
+ "label" : "Celtic"
+ },
+ {
+ "genreid" : 11,
+ "title" : "Classic for Kids",
+ "label" : "Classic for Kids",
+ "thumbnail" : ""
+ },
+ {
+ "thumbnail" : "",
+ "label" : "Classical",
+ "title" : "Classical",
+ "genreid" : 3
+ },
+ {
+ "genreid" : 13,
+ "title" : "Country",
+ "label" : "Country",
+ "thumbnail" : ""
+ },
+ {
+ "title" : "Dancehall",
+ "genreid" : 31,
+ "thumbnail" : "",
+ "label" : "Dancehall"
+ },
+ {
+ "title" : "Easy Listening",
+ "genreid" : 20,
+ "thumbnail" : "",
+ "label" : "Easy Listening"
+ },
+ {
+ "title" : "Folk",
+ "genreid" : 4,
+ "thumbnail" : "",
+ "label" : "Folk"
+ },
+ {
+ "label" : "Folklore",
+ "thumbnail" : "",
+ "genreid" : 22,
+ "title" : "Folklore"
+ },
+ {
+ "label" : "Goregrind",
+ "thumbnail" : "",
+ "genreid" : 14,
+ "title" : "Goregrind"
+ },
+ {
+ "genreid" : 8,
+ "title" : "Grind Core",
+ "label" : "Grind Core",
+ "thumbnail" : ""
+ },
+ {
+ "title" : "Grindcore",
+ "genreid" : 18,
+ "thumbnail" : "",
+ "label" : "Grindcore"
+ },
+ {
+ "label" : "Hardcore",
+ "thumbnail" : "",
+ "genreid" : 12,
+ "title" : "Hardcore"
+ },
+ {
+ "label" : "Hardcore Thrash",
+ "thumbnail" : "",
+ "genreid" : 30,
+ "title" : "Hardcore Thrash"
+ },
+ {
+ "title" : "Hip-Hop",
+ "genreid" : 17,
+ "thumbnail" : "",
+ "label" : "Hip-Hop"
+ },
+ {
+ "title" : "Instrumental",
+ "genreid" : 39,
+ "thumbnail" : "",
+ "label" : "Instrumental"
+ },
+ {
+ "genreid" : 5,
+ "title" : "Jazz",
+ "label" : "Jazz",
+ "thumbnail" : ""
+ },
+ {
+ "label" : "Jazz+Funk",
+ "thumbnail" : "",
+ "genreid" : 21,
+ "title" : "Jazz+Funk"
+ },
+ {
+ "thumbnail" : "",
+ "label" : "Metal",
+ "title" : "Metal",
+ "genreid" : 10
+ },
+ {
+ "label" : "Oldies",
+ "thumbnail" : "",
+ "genreid" : 36,
+ "title" : "Oldies"
+ },
+ {
+ "genreid" : 23,
+ "title" : "Other",
+ "label" : "Other",
+ "thumbnail" : ""
+ },
+ {
+ "title" : "Pop",
+ "genreid" : 25,
+ "thumbnail" : "",
+ "label" : "Pop"
+ },
+ {
+ "thumbnail" : "",
+ "label" : "porno grind",
+ "title" : "porno grind",
+ "genreid" : 26
+ },
+ {
+ "title" : "Punk",
+ "genreid" : 7,
+ "thumbnail" : "",
+ "label" : "Punk"
+ },
+ {
+ "label" : "Punk Rock",
+ "thumbnail" : "",
+ "genreid" : 16,
+ "title" : "Punk Rock"
+ },
+ {
+ "title" : "Rap",
+ "genreid" : 28,
+ "thumbnail" : "",
+ "label" : "Rap"
+ },
+ {
+ "title" : "Reggae",
+ "genreid" : 2,
+ "thumbnail" : "",
+ "label" : "Reggae"
+ },
+ {
+ "title" : "Rhythm and Blues",
+ "genreid" : 19,
+ "thumbnail" : "",
+ "label" : "Rhythm and Blues"
+ },
+ {
+ "title" : "Rock",
+ "genreid" : 34,
+ "thumbnail" : "",
+ "label" : "Rock"
+ },
+ {
+ "genreid" : 15,
+ "title" : "Salsa",
+ "label" : "Salsa",
+ "thumbnail" : ""
+ },
+ {
+ "thumbnail" : "",
+ "label" : "Soul",
+ "title" : "Soul",
+ "genreid" : 29
+ },
+ {
+ "thumbnail" : "",
+ "label" : "Soundtrack",
+ "title" : "Soundtrack",
+ "genreid" : 6
+ },
+ {
+ "thumbnail" : "",
+ "label" : "Sprachkurs",
+ "title" : "Sprachkurs",
+ "genreid" : 27
+ },
+ {
+ "title" : "Κινηματογραφική",
+ "genreid" : 37,
+ "thumbnail" : "",
+ "label" : "Κινηματογραφική"
+ },
+ {
+ "title" : "ゲーム音楽",
+ "genreid" : 38,
+ "thumbnail" : "",
+ "label" : "ゲーム音楽"
+ }
+ ]
+ },
+ "jsonrpc" : "2.0"
+}
diff --git a/app/src/debug/assets/AudioLibrary.GetSongs.json b/app/src/debug/assets/AudioLibrary.GetSongs.json
new file mode 100644
index 0000000..ee3061a
--- /dev/null
+++ b/app/src/debug/assets/AudioLibrary.GetSongs.json
@@ -0,0 +1,75661 @@
+{
+ "id" : "libSongs",
+ "result" : {
+ "songs" : [
+ {
+ "title" : "01 - Intro (En vivo)",
+ "album" : "EN VIVO EN PARAGUAY",
+ "songid" : 347,
+ "label" : "01 - Intro (En vivo)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 31,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/00-01 - Intro (En vivo).mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 0
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/00-01 Hey Now.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "artistid" : [
+ 68
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 0,
+ "title" : "01 Hey Now",
+ "songid" : 1036,
+ "album" : "Legend (Disk 2)",
+ "label" : "01 Hey Now",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 71,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/00-1 Sonata VII.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "title" : "1 Sonata VII",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "songid" : 862,
+ "label" : "1 Sonata VII",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ]
+ },
+ {
+ "albumid" : 176,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "7 Heures Du Matin",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Jacqueline Tajeb"
+ ],
+ "album" : "Swinging Mademoiselles",
+ "title" : "7 Heures Du Matin",
+ "songid" : 1461,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 170
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jacqueline Tajeb"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/00-Jacqueline Tajeb-7 Heures Du Matin.mp3",
+ "albumartistid" : [
+ 170
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jacqueline Tajeb",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "songid" : 248,
+ "title" : "Aan het werk!",
+ "album" : "De Muziekfabriek",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Aan het werk!",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/00-Aan het werk!.mp3",
+ "artistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "track" : 0,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/00-Ade zur guten Nacht.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "artistid" : [
+ 62
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ade zur guten Nacht",
+ "title" : "Ade zur guten Nacht",
+ "songid" : 902,
+ "album" : "die schönsten Kinderlieder",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 65,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Bruckner. Anton",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/00-Aequale Nr 1.mp3",
+ "albumartistid" : [
+ 22
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "label" : "Aequale Nr 1",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "Aequale Nr 1",
+ "songid" : 188,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "albumid" : 22,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "label" : "Alley Cat",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Alley Cat",
+ "songid" : 78,
+ "album" : "The Very Best of Bent Fabric",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1997,
+ "rating" : 0,
+ "albumid" : 11,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/00-Alley Cat.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "artistid" : [
+ 11
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Antidotum Tarentulae (Anonyme)",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "songid" : 37,
+ "title" : "Antidotum Tarentulae (Anonyme)",
+ "album" : "Tarentule - Taren",
+ "albumid" : 9,
+ "year" : 1978,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/00-Antidotum Tarentulae (Anonyme).mp3",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 0,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ]
+ },
+ {
+ "title" : "Baby, Scratch My Back",
+ "songid" : 1446,
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "albumartist" : [
+ "Slim Harpo"
+ ],
+ "label" : "Baby, Scratch My Back",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 165,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Slim Harpo",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/00-Slim Harpo-Baby, Scratch My Back.mp3",
+ "albumartistid" : [
+ 159
+ ],
+ "artistid" : [
+ 159
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Slim Harpo"
+ ],
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/00-Bicycle Song.mp3",
+ "albumartistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "artistid" : [
+ 15
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "title" : "Bicycle Song",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 114,
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "label" : "Bicycle Song",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 15
+ },
+ {
+ "albumid" : 51,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Big River",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "Big River",
+ "songid" : 658,
+ "album" : "1976 - Strawberry Cake",
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/00-Big River.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/00-Big River.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "title" : "Big River",
+ "songid" : 678,
+ "label" : "Big River",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 53,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0
+ },
+ {
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Blessings Of Love",
+ "title" : "Blessings Of Love",
+ "album" : "My Time Is The Right Time",
+ "songid" : 19,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 8,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/00-Blessings Of Love.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ]
+ },
+ {
+ "albumartistid" : [
+ 41
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/00-Blue Skies.mp3",
+ "displayartist" : "Frank Sinatra",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 20
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Blue Skies",
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "album" : "Blue Skies",
+ "title" : "Blue Skies",
+ "songid" : 497,
+ "albumid" : 41,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../00-Bonuslåt.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "songid" : 1111,
+ "title" : "Bonuslåt",
+ "album" : "Med Anledning Av..",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "label" : "Bonuslåt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 75
+ },
+ {
+ "title" : "Booraye",
+ "album" : "Zentiva--Muzica de relaxare",
+ "songid" : 1418,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Booraye",
+ "albumartist" : [
+ "Ian Clarke, Simon Painter"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 142,
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 136
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/00-Ian Clarke, Simon Painter-Booraye.mp3",
+ "displayartist" : "Ian Clarke, Simon Painter",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "artist" : [
+ "Ian Clarke, Simon Painter"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 136
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 0
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 72,
+ "title" : "Booty Call",
+ "songid" : 1054,
+ "album" : "Buckets And Booty Calls",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Booty Call",
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "artistid" : [
+ 69
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "track" : 0,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/00-Booty Call.mp3"
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "artistid" : [
+ 131
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 131
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/00-Original Charlie Parker Sextet [6]-Charlie's Wig (take 2) [Bongo Bop] [G].mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1947,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 136,
+ "songid" : 1367,
+ "title" : "Charlie's Wig (take 2) [Bongo Bop] [G]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Charlie's Wig (take 2) [Bongo Bop] [G]"
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 27,
+ "title" : "Cockpunch!",
+ "songid" : 290,
+ "album" : "Attack!",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Cockpunch!",
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "artistid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/00-Cockpunch!.mp3"
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 1,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1991,
+ "rating" : 0,
+ "album" : "Kangaroo Shuffle",
+ "title" : "Collins Shuffle",
+ "songid" : 1,
+ "label" : "Collins Shuffle",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Albert Collins"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Albert Collins"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 1
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/00-Albert Collins-Collins Shuffle.mp3",
+ "albumartistid" : [
+ 1
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Albert Collins"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "track" : 0,
+ "genreid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "pigto"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/00-depravada sexual.mp3",
+ "albumartistid" : [
+ 65
+ ],
+ "thumbnail" : "",
+ "displayartist" : "pigto",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 68,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "depravada sexual",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "pigto"
+ ],
+ "songid" : 959,
+ "title" : "depravada sexual",
+ "album" : "depravada sexual"
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 0,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/00-Door Peeper.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 24,
+ "title" : "Door Peeper",
+ "album" : "Sounds from the Burning Spear",
+ "songid" : 230,
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Door Peeper"
+ },
+ {
+ "track" : 0,
+ "genre" : [],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "artistid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "displayartist" : "Brad Nowell",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 19
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/00-Dr. Woo.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 19,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dr. Woo",
+ "title" : "Dr. Woo",
+ "songid" : 153,
+ "album" : "Live At The Firecracker Lounge"
+ },
+ {
+ "albumid" : 37,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Dre",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Intro"
+ ],
+ "album" : "Best of Defari",
+ "title" : "Dre",
+ "songid" : 439,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Intro"
+ ],
+ "artistid" : [
+ 37
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/00-Intro-Dre.mp3",
+ "albumartistid" : [
+ 37
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Intro",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 0,
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/00-Eating Shit World.mp3",
+ "albumartistid" : [
+ 38
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 38,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Eating Shit World",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "songid" : 440,
+ "title" : "Eating Shit World",
+ "album" : "World of Shit"
+ },
+ {
+ "label" : "El Puig en festes",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "title" : "El Puig en festes",
+ "songid" : 549,
+ "album" : "Tocates valencianes",
+ "albumid" : 44,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/00-El Puig en festes.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ]
+ },
+ {
+ "albumid" : 95,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Elephant Man - Gangsta Rock",
+ "albumartist" : [
+ "VA"
+ ],
+ "title" : "Elephant Man - Gangsta Rock",
+ "songid" : 1241,
+ "album" : "Gangsta Rock",
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "track" : 0,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 31
+ ],
+ "artistid" : [
+ 90
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VA"
+ ],
+ "albumartistid" : [
+ 90
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/00-Elephant Man - Gangsta Rock.mp3",
+ "displayartist" : "VA",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 78,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Federal Agents Are Entering The Compound And The Faeries Are Returning Fire",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "album" : "Riot In The Hive Mind",
+ "title" : "Federal Agents Are Entering The Compound And The Faeries Are Returning Fire",
+ "songid" : 1147,
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/00-Federal Agents Are Entering The Compound And The Faeries Are Returning Fire.mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 107,
+ "title" : "Feuding Banjo",
+ "songid" : 1328,
+ "album" : "Bluegrass Banjo",
+ "albumartist" : [
+ "Eric Weissberg with Marshall Brickman"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Feuding Banjo",
+ "disc" : 0,
+ "artist" : [
+ "Eric Weissberg with Marshall Brickman"
+ ],
+ "artistid" : [
+ 103
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Eric Weissberg with Marshall Brickman",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 103
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/00-Eric Weissberg with Marshall Brickman-Feuding Banjo.mp3"
+ },
+ {
+ "songid" : 513,
+ "title" : "Friends Of Science",
+ "album" : "Ya-Ka-May",
+ "label" : "Friends Of Science",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 42,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/00-Friends Of Science.mp3",
+ "albumartistid" : [
+ 42
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Galactic",
+ "genreid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 42
+ ],
+ "artist" : [
+ "Galactic"
+ ],
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "track" : 0
+ },
+ {
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/00-Goin' Back To The City.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "artistid" : [
+ 63
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Goin' Back To The City",
+ "songid" : 920,
+ "title" : "Goin' Back To The City",
+ "album" : "Onie's Country Boppers",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 66,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumartist" : [
+ "Jerry Lee Lewis"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Great Balls of Fire",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "title" : "Great Balls of Fire",
+ "songid" : 1347,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 124,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Jerry Lee Lewis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 120
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/00-Jerry Lee Lewis-Great Balls of Fire.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 120
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jerry Lee Lewis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/00-Have I Told You Latley That I Love You.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "songid" : 603,
+ "title" : "Have I Told You Latley That I Love You",
+ "album" : "Love Letters",
+ "label" : "Have I Told You Latley That I Love You",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 47,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0
+ },
+ {
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/00-History of the Soviet Union Part 1 - October.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 225,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "title" : "History of the Soviet Union Part 1 - October",
+ "songid" : 1619,
+ "album" : "The Fat of the Band",
+ "label" : "History of the Soviet Union Part 1 - October",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/00-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 218
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Wildabeast",
+ "title" : "ILL",
+ "songid" : 1639,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 226,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/00-Intro & Main Title.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "label" : "Intro & Main Title",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 96,
+ "title" : "Intro & Main Title",
+ "album" : "The Entity",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "albumid" : 13,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 46
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/00-Intro - Intro.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Intro - Intro",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "songid" : 586,
+ "title" : "Intro - Intro",
+ "album" : "The Black Chronic"
+ },
+ {
+ "songid" : 772,
+ "title" : "Intro&Chor Der Kriminalbeamten",
+ "album" : "Kottans Kapelle",
+ "label" : "Intro&Chor Der Kriminalbeamten",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 58,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/00-Intro&Chor Der Kriminalbeamten.mp3",
+ "albumartistid" : [
+ 55
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Kottans Kapelle",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "artistid" : [
+ 55
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 0
+ },
+ {
+ "title" : "In´s Wasser fällt ein Stein",
+ "album" : "Wegzeichen",
+ "songid" : 365,
+ "albumartist" : [
+ "Dauner"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "In´s Wasser fällt ein Stein",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 32,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/00-In´s Wasser fällt ein Stein.mp3",
+ "artistid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dauner"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : []
+ },
+ {
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Jingle Bells",
+ "songid" : 1165,
+ "title" : "Jingle Bells",
+ "album" : "Have Yourself a Merry Little Christma",
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/00-Jingle Bells.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ]
+ },
+ {
+ "albumid" : 100,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "John Henry - Etta Baker",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "title" : "John Henry - Etta Baker",
+ "songid" : 1297,
+ "album" : "Appalachian Breakdown",
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 0,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/00-John Henry - Etta Baker.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/00-King George I's March.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "label" : "King George I's March",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "title" : "King George I's March",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1376,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "artistid" : [
+ 35
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Die Toten Hosen",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/00-Kopf Oder Zahl.mp3",
+ "albumartistid" : [
+ 35
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 35,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "label" : "Kopf Oder Zahl",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Kopf Oder Zahl",
+ "album" : "Zurück Zum Glück",
+ "songid" : 404
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Modus Delicti",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/00-Modus Delicti-Leave No Evidences.mp3",
+ "albumartistid" : [
+ 94
+ ],
+ "artist" : [
+ "Modus Delicti"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 94
+ ],
+ "genreid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "title" : "Leave No Evidences",
+ "songid" : 1291,
+ "album" : "3 Way Split CD",
+ "albumartist" : [
+ "Modus Delicti"
+ ],
+ "label" : "Leave No Evidences",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 99
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Bruce Cloud",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/00-Bruce Cloud-Let Me Come Back Home.mp3",
+ "albumartistid" : [
+ 176
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "artistid" : [
+ 176
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruce Cloud"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Bruce Cloud"
+ ],
+ "label" : "Let Me Come Back Home",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Let Me Come Back Home",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1468,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 182,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "albumid" : 10,
+ "title" : "Macedonia - Part 1",
+ "songid" : 59,
+ "album" : "Royal Greek Festival Company",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "label" : "Macedonia - Part 1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "artistid" : [
+ 10
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/00-Macedonia - Part 1.mp3",
+ "albumartistid" : [
+ 10
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 64,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Moses und die Kinder Israel sangen also zu dem Herrn",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "songid" : 882,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Moses und die Kinder Israel sangen also zu dem Herrn",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 61
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/00-Moses und die Kinder Israel sangen also zu dem Herrn.mp3",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : ""
+ },
+ {
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/00-New Taste.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [],
+ "lyrics" : "",
+ "artistid" : [
+ 213
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "New Taste",
+ "album" : "Chinese Pornography",
+ "title" : "New Taste",
+ "songid" : 1507,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 221,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/00-No. 1.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1984,
+ "rating" : 0,
+ "title" : "No. 1",
+ "album" : "Children's Songs (SHM)",
+ "songid" : 270,
+ "label" : "No. 1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Chick Corea"
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "track" : 0,
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Les Paul"
+ ],
+ "artistid" : [
+ 57
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/00-Les Paul-Nola.mp3",
+ "albumartistid" : [
+ 57
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 60,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Nola",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "title" : "Nola",
+ "album" : "This Is Gold D1 of 3",
+ "songid" : 827
+ },
+ {
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "artistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/00-On A Slab.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 34,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "On A Slab",
+ "songid" : 383,
+ "title" : "On A Slab",
+ "album" : "Three Things At Once"
+ },
+ {
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/00-Opening Credits - Prologue - Zhouyun - Lanterns.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "artistid" : [
+ 219
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Opening Credits - Prologue - Zhouyun - Lanterns",
+ "title" : "Opening Credits - Prologue - Zhouyun - Lanterns",
+ "songid" : 1657,
+ "album" : "Raise The Red Lantern",
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 227,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/00-Opening Titles.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 49,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "John Powell"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Opening Titles",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "title" : "Opening Titles",
+ "songid" : 622
+ },
+ {
+ "genreid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 45
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/00-Please, Please, Please.mp3",
+ "albumartistid" : [
+ 45
+ ],
+ "thumbnail" : "",
+ "displayartist" : "James Brown",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 45,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2012,
+ "rating" : 0,
+ "title" : "Please, Please, Please",
+ "songid" : 568,
+ "album" : "Here's James Brown",
+ "label" : "Please, Please, Please",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "James Brown"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/00-PONS Rumänisch - Track 01.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 01",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "PONS Rumänisch - Track 01",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 979,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 69,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "artistid" : [
+ 214
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 0,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Vladimir Cosma",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 214
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/00-Rabbi Jacob (Thème Principal).mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1973,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 222,
+ "album" : "Les aventures de Rabbi Jacob",
+ "title" : "Rabbi Jacob (Thème Principal)",
+ "songid" : 1528,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Rabbi Jacob (Thème Principal)"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/00-Ready Steady Go.mp3",
+ "albumartistid" : [
+ 222
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "artistid" : [
+ 222
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "title" : "Ready Steady Go",
+ "album" : "アナーキー・ライブ",
+ "songid" : 1713,
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "label" : "Ready Steady Go",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "albumid" : 230
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/00-Red-Haired Boy.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "label" : "Red-Haired Boy",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Red-Haired Boy",
+ "songid" : 1202,
+ "album" : "Atlantica",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1996,
+ "rating" : 0,
+ "albumid" : 81,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/00-Reel - The Ashplant.mp3",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "songid" : 1562,
+ "title" : "Reel - The Ashplant",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Ashplant",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224
+ },
+ {
+ "albumid" : 62,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Repicada",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "songid" : 845,
+ "title" : "Repicada",
+ "album" : "Tocs i Músiques de Les Santes",
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "albumartistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/00-Repicada.mp3",
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/00-Run Softly, Blue River.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Run Softly, Blue River",
+ "songid" : 640,
+ "title" : "Run Softly, Blue River",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 50,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/00-Run Softly, Blue River.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 54,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Run Softly, Blue River",
+ "songid" : 697,
+ "title" : "Run Softly, Blue River",
+ "album" : "The Fabulous Johnny Cash"
+ },
+ {
+ "label" : "Run Softly, Blue River",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "title" : "Run Softly, Blue River",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "songid" : 715,
+ "albumid" : 55,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/00-Run Softly, Blue River.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 52
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/00-Schaumschläger.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "songid" : 752,
+ "title" : "Schaumschläger",
+ "album" : "Tavernengeflüster",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "label" : "Schaumschläger",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 57
+ },
+ {
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/00-Sugardaddy.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Sugardaddy",
+ "title" : "Sugardaddy",
+ "album" : "Evolution Through Revolution",
+ "songid" : 208,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 23,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 0,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/00-Sweet Cheeks.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 43,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Sweet Cheeks",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "songid" : 529,
+ "title" : "Sweet Cheeks",
+ "album" : "The Little Darlin' Sound of Lloyd Green"
+ },
+ {
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 1",
+ "album" : "Alb",
+ "title" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 1",
+ "songid" : 1545,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 223,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/00-Telemann: Sonata in G major (Tafelmusik III No. 5) - 1.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "artistid" : [
+ 215
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 73,
+ "songid" : 1072,
+ "title" : "That Good Ole Mountain Dew",
+ "album" : "Barn Burners",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "label" : "That Good Ole Mountain Dew",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 70
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/00-That Good Ole Mountain Dew.mp3",
+ "albumartistid" : [
+ 70
+ ]
+ },
+ {
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/00-The Fat Man (1950).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 40
+ ],
+ "artist" : [
+ "Fats Domino"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Fat Man (1950)",
+ "title" : "The Fat Man (1950)",
+ "album" : "I'm Walking",
+ "songid" : 479,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 40,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "The Good, The Bad, The Ugly",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "The Good, The Bad, The Ugly",
+ "songid" : 1016,
+ "album" : "Loco Live (CD 1)",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2011,
+ "rating" : 0,
+ "albumid" : 70,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/00-The Good, The Bad, The Ugly.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "label" : "The Magnificent Seven",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Al Caiola"
+ ],
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "title" : "The Magnificent Seven",
+ "songid" : 1489,
+ "albumid" : 203,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/00-Al Caiola-The Magnificent Seven.mp3",
+ "albumartistid" : [
+ 197
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Al Caiola",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Al Caiola"
+ ],
+ "artistid" : [
+ 197
+ ]
+ },
+ {
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ ""
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 0
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/unknown/unknown/01-the_title_no_artist_no_album.mp3",
+ "thumbnail" : "",
+ "displayartist" : "",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 83,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "title" : "The Title",
+ "songid" : 1220,
+ "album" : "",
+ "label" : "The Title",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : []
+ },
+ {
+ "title" : "The Trumpet - OPENING TITLES",
+ "album" : "Ten Minutes Older",
+ "songid" : 938,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Trumpet - OPENING TITLES",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 67,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/00-The Trumpet - OPENING TITLES.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 0,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/00-The Wallflower (Aka Dance With Me Henry).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "albumartist" : [
+ "Etta James"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Wallflower (Aka Dance With Me Henry)",
+ "songid" : 461,
+ "title" : "The Wallflower (Aka Dance With Me Henry)",
+ "album" : "Best of the Modern Years, (The)",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 39,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/00-This Road That I Walk.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "artistid" : [
+ 28
+ ],
+ "label" : "This Road That I Walk",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "album" : "The Great Conway Twitty",
+ "title" : "This Road That I Walk",
+ "songid" : 308,
+ "albumid" : 28,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/00-Titres et reve d'Anna.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "title" : "Titres et reve d'Anna",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "songid" : 1675,
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "label" : "Titres et reve d'Anna",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 228
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 0,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/00-Titres Et Rêve D'Anna.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 56,
+ "title" : "Titres Et Rêve D'Anna",
+ "album" : "L' Africana",
+ "songid" : 733,
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Titres Et Rêve D'Anna"
+ },
+ {
+ "title" : "Track01BACH Sinfonia Partita II",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 790,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track01BACH Sinfonia Partita II",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/00-Track01BACH Sinfonia Partita II.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 77,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2007,
+ "rating" : 0,
+ "title" : "Under the Boardwalk",
+ "songid" : 1129,
+ "album" : "Legends of Soul: The Drifters",
+ "label" : "Under the Boardwalk",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 74
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/00-Under the Boardwalk.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "thumbnail" : "",
+ "displayartist" : "The Drifters"
+ },
+ {
+ "songid" : 1128,
+ "title" : "Unknown",
+ "album" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Unknown",
+ "albumartist" : [
+ "The Artist"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 76,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 73
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Artist/unknown/01-the_artist_no_album.mp3",
+ "displayartist" : "The Artist",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "The Artist"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 73
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 0
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 0
+ ],
+ "artist" : [
+ ""
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "",
+ "thumbnail" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/unknown/The Album/01-the_album_no_artist.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 82,
+ "album" : "The Album",
+ "title" : "Unknown",
+ "songid" : 1219,
+ "albumartist" : [],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Unknown"
+ },
+ {
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Untitled",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "title" : "Untitled",
+ "album" : "More Music For Films",
+ "songid" : 167,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "track" : 0,
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "artist" : [
+ "Brian Eno"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/00-Untitled.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "title" : "Urethral H.C.",
+ "album" : "Xenophilism",
+ "songid" : 326,
+ "albumartist" : [
+ "Assimilation"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Urethral H.C.",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 29,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Assimilation",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 29
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/00-Assimilation-Urethral H.C..mp3",
+ "disc" : 0,
+ "artistid" : [
+ 29
+ ],
+ "artist" : [
+ "Assimilation"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ]
+ },
+ {
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/00-Wearethewordpolice.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2001,
+ "rating" : 0,
+ "albumid" : 16,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "label" : "Wearethewordpolice",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 132,
+ "title" : "Wearethewordpolice",
+ "album" : "Cunt"
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artistid" : [
+ 77
+ ],
+ "disc" : 0,
+ "artist" : [
+ "U-Roy"
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/00-Wet Vision.mp3",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 80,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Wet Vision",
+ "album" : "The Righful Ruler (Disc 2)",
+ "songid" : 1184,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Wet Vision",
+ "albumartist" : [
+ "U-Roy"
+ ]
+ },
+ {
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/00-yeah.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 0,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "yeah",
+ "album" : "Juniorville 20",
+ "title" : "yeah",
+ "songid" : 1091,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/00-ZOU SAN.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 0,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "artist" : [
+ "VARIOS"
+ ],
+ "label" : "ZOU SAN",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "title" : "ZOU SAN",
+ "songid" : 1259,
+ "album" : "AKATIAN NO TAMENO",
+ "albumid" : 96,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 0,
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "artistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/00-Р ъюђшъш ёх№ћх.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 229,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Р ъюђшъш ёх№ћх",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "title" : "Р ъюђшъш ёх№ћх",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "songid" : 1694
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/00-柴矢 裕美-おさかな天国.mp3",
+ "albumartistid" : [
+ 85
+ ],
+ "thumbnail" : "",
+ "displayartist" : "柴矢 裕美",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 85
+ ],
+ "artist" : [
+ "柴矢 裕美"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 0,
+ "songid" : 1231,
+ "title" : "おさかな天国",
+ "album" : "おいしいうた・いただきまーす・",
+ "label" : "おさかな天国",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "柴矢 裕美"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 90,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2002
+ },
+ {
+ "track" : 0,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/00-きらきらきらりん・みゅーじかる.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "きらきらきらりん・みゅーじかる",
+ "songid" : 1787,
+ "title" : "きらきらきらりん・みゅーじかる",
+ "album" : "おかあさんといっしょ コロンパッ"
+ },
+ {
+ "songid" : 1750,
+ "title" : "ゆびのたいそう",
+ "album" : "ピアノスタディ1",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "ゆびのたいそう",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 232,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/00-ゆびのたいそう.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "artistid" : [
+ 224
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 0,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "rating" : 0,
+ "year" : 1989,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "凱旋序曲 (Title)~Coin~Ggame Start 1",
+ "title" : "凱旋序曲 (Title)~Coin~Ggame Start 1",
+ "songid" : 1731,
+ "album" : "プラスアルファ",
+ "track" : 0,
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/00-凱旋序曲 (Title)~Coin~Ggame Start 1.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/01-02 - No tom←s (En vivo).mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 31,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "songid" : 348,
+ "title" : "02 - No tom←s (En vivo)",
+ "album" : "EN VIVO EN PARAGUAY",
+ "label" : "02 - No tom←s (En vivo)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ]
+ },
+ {
+ "label" : "02 I Wonder Who's Kissing Her Now",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "songid" : 1037,
+ "title" : "02 I Wonder Who's Kissing Her Now",
+ "album" : "Legend (Disk 2)",
+ "albumid" : 71,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/01-02 I Wonder Who's Kissing Her Now.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "artistid" : [
+ 68
+ ]
+ },
+ {
+ "albumid" : 63,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "2 Marienvesper - Antiphon - Dum esset rex",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "title" : "2 Marienvesper - Antiphon - Dum esset rex",
+ "songid" : 863,
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "artistid" : [
+ 60
+ ],
+ "albumartistid" : [
+ 60
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/01-2 Marienvesper - Antiphon - Dum esset rex.mp3",
+ "displayartist" : "Marienvesper 1693",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "album" : "I'm Walking",
+ "title" : "Ain't That A Shame (1955)",
+ "songid" : 480,
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "label" : "Ain't That A Shame (1955)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 40,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Fats Domino",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/01-Ain't That A Shame (1955).mp3",
+ "albumartistid" : [
+ 40
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ]
+ },
+ {
+ "albumartist" : [
+ "VA"
+ ],
+ "label" : "Assassin - Serious Ting",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Gangsta Rock",
+ "title" : "Assassin - Serious Ting",
+ "songid" : 1242,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "albumid" : 95,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/01-Assassin - Serious Ting.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "VA"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 12,
+ "title" : "Attack",
+ "songid" : 95,
+ "album" : "The Entity",
+ "albumartist" : [
+ "Bath"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Attack",
+ "artist" : [
+ "Bath"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 12
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 1,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bath",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 12
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/01-Bath-Attack.mp3"
+ },
+ {
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 62
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/01-auf der Mauer auf der Lauer.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 65,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "auf der Mauer auf der Lauer",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "title" : "auf der Mauer auf der Lauer",
+ "songid" : 903,
+ "album" : "die schönsten Kinderlieder"
+ },
+ {
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Big Town",
+ "songid" : 309,
+ "title" : "Big Town",
+ "album" : "The Great Conway Twitty",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 28,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Conway Twitty",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 28
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/01-Big Town.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 28
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ]
+ },
+ {
+ "albumid" : 16,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Bigfatarse",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "album" : "Cunt",
+ "title" : "Bigfatarse",
+ "songid" : 133,
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "artistid" : [
+ 16
+ ],
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/01-Bigfatarse.mp3",
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/01-Bionic.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "artistid" : [
+ 36
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Bionic",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "songid" : 419,
+ "title" : "Bionic",
+ "album" : "Best of Defari",
+ "albumid" : 36,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/01-Boe Money (feat. The Rebirth Brass Band).mp3",
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "artistid" : [
+ 42
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "track" : 1,
+ "title" : "Boe Money (feat. The Rebirth Brass Band)",
+ "album" : "Ya-Ka-May",
+ "songid" : 514,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Boe Money (feat. The Rebirth Brass Band)",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 42,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 198
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/01-Al Caiola & His Orch-Bonanza.mp3",
+ "displayartist" : "Al Caiola & His Orch",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 198
+ ],
+ "artist" : [
+ "Al Caiola & His Orch"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Bonanza",
+ "albumartist" : [
+ "Al Caiola & His Orch"
+ ],
+ "title" : "Bonanza",
+ "songid" : 1490,
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "albumid" : 204,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/01-Can I Go?.mp3",
+ "artistid" : [
+ 49
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 1,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "title" : "Can I Go?",
+ "songid" : 623,
+ "albumartist" : [
+ "John Powell"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Can I Go?",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 49
+ },
+ {
+ "albumartistid" : [
+ 131
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/01-Original Charlie Parker Sextet [6]-Charlie's Wig (take 4) [Drifting on a Road] [G].mp3",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "artistid" : [
+ 131
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Charlie's Wig (take 4) [Drifting on a Road] [G]",
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "title" : "Charlie's Wig (take 4) [Drifting on a Road] [G]",
+ "songid" : 1368,
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "albumid" : 136,
+ "rating" : 0,
+ "year" : 1947,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "artistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/01-Chloroform.mp3",
+ "albumartistid" : [
+ 15
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 15,
+ "title" : "Chloroform",
+ "songid" : 115,
+ "album" : "Brain Plugin Spaghetti",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "label" : "Chloroform",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/01-Chorea (Anonyme).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1978,
+ "rating" : 0,
+ "albumid" : 9,
+ "title" : "Chorea (Anonyme)",
+ "songid" : 38,
+ "album" : "Tarentule - Taren",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "label" : "Chorea (Anonyme)",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "artist" : [
+ "Clare Sisters"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 177
+ ],
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Clare Sisters",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/01-Clare Sisters-Cool Cool Cool.mp3",
+ "albumartistid" : [
+ 177
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 183,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Clare Sisters"
+ ],
+ "label" : "Cool Cool Cool",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Cool Cool Cool",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1469
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/01-Coup de foudre.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 1,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "label" : "Coup de foudre",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "title" : "Coup de foudre",
+ "album" : "Les aventures de Rabbi Jacob",
+ "songid" : 1529,
+ "albumid" : 222,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1973,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/01-Dialogue #1.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 51,
+ "songid" : 659,
+ "title" : "Dialogue #1",
+ "album" : "1976 - Strawberry Cake",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #1"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/01-Dialogue #1.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 53,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #1",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "Dialogue #1",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "songid" : 679
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 70,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "Durango 95",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Loco Live (CD 1)",
+ "title" : "Durango 95",
+ "songid" : 1017,
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/01-Durango 95.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/01-Early One Morning.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 78
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "label" : "Early One Morning",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Atlantica",
+ "title" : "Early One Morning",
+ "songid" : 1203,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1996,
+ "rating" : 0,
+ "albumid" : 81,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "artistid" : [
+ 65
+ ],
+ "genreid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "pigto",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/01-el ataque de dona esperma.mp3",
+ "albumartistid" : [
+ 65
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 68,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "pigto"
+ ],
+ "label" : "el ataque de dona esperma",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "el ataque de dona esperma",
+ "songid" : 960,
+ "album" : "depravada sexual"
+ },
+ {
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/01-Fanfare.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Fanfare",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Fanfare",
+ "songid" : 1377
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 227,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "First Night with Master - Alone on First Night - Second Night - Third Night",
+ "album" : "Raise The Red Lantern",
+ "songid" : 1658,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "First Night with Master - Alone on First Night - Second Night - Third Night",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 219
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/01-First Night with Master - Alone on First Night - Second Night - Third Night.mp3",
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : ""
+ },
+ {
+ "albumid" : 111,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Flop Eared Mule",
+ "albumartist" : [
+ "Joe Maphis"
+ ],
+ "songid" : 1333,
+ "title" : "Flop Eared Mule",
+ "album" : "Bluegrass Banjo",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 107
+ ],
+ "artist" : [
+ "Joe Maphis"
+ ],
+ "albumartistid" : [
+ 107
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/01-Joe Maphis-Flop Eared Mule.mp3",
+ "displayartist" : "Joe Maphis",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "artistid" : [
+ 52
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/01-Frankie and Johnny.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 55,
+ "title" : "Frankie and Johnny",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "songid" : 716,
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "label" : "Frankie and Johnny",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/01-Frankie's Man, Johnny.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "title" : "Frankie's Man, Johnny",
+ "songid" : 641,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Frankie's Man, Johnny",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 50
+ },
+ {
+ "title" : "Frankie's Man, Johnny",
+ "album" : "The Fabulous Johnny Cash",
+ "songid" : 698,
+ "label" : "Frankie's Man, Johnny",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 54,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/01-Frankie's Man, Johnny.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 1
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/01-Meditation-Gebet.mp3",
+ "albumartistid" : [
+ 33
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Meditation",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 33
+ ],
+ "artist" : [
+ "Meditation"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 1,
+ "title" : "Gebet",
+ "album" : "Wegzeichen",
+ "songid" : 382,
+ "label" : "Gebet",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Meditation"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 33,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 43,
+ "title" : "Green Strings",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "songid" : 530,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Green Strings",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ],
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/01-Green Strings.mp3",
+ "albumartistid" : [
+ 43
+ ]
+ },
+ {
+ "title" : "Have Yourself a Merry Little Christmas",
+ "songid" : 1166,
+ "album" : "Have Yourself a Merry Little Christma",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "label" : "Have Yourself a Merry Little Christmas",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1987,
+ "rating" : 0,
+ "albumid" : 79,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "The Hollywood Trombones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/01-Have Yourself a Merry Little Christmas.mp3",
+ "albumartistid" : [
+ 76
+ ],
+ "artistid" : [
+ 76
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/01-Hey! Henry.mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "track" : 1,
+ "album" : "Best of the Modern Years, (The)",
+ "title" : "Hey! Henry",
+ "songid" : 462,
+ "label" : "Hey! Henry",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 39,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "artistid" : [
+ 72
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 1,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../01-Historiens Slut.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 75,
+ "album" : "Med Anledning Av..",
+ "title" : "Historiens Slut",
+ "songid" : 1112,
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Historiens Slut"
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "artistid" : [
+ 45
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/01-I Don't Know.mp3",
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 45,
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 569,
+ "title" : "I Don't Know",
+ "album" : "Here's James Brown",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Don't Know",
+ "albumartist" : [
+ "James Brown"
+ ]
+ },
+ {
+ "label" : "I Hear You Knockin'",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Lazy Lester"
+ ],
+ "title" : "I Hear You Knockin'",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "songid" : 1440,
+ "albumid" : 160,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/01-Lazy Lester-I Hear You Knockin'.mp3",
+ "albumartistid" : [
+ 154
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Lazy Lester",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "track" : 1,
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Lazy Lester"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 154
+ ]
+ },
+ {
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 64,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ich will singen meinem Gott",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Ich will singen meinem Gott",
+ "songid" : 883,
+ "track" : 1,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/01-Ich will singen meinem Gott.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Wildabeast",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 218
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/01-ILL.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 226,
+ "songid" : 1640,
+ "title" : "ILL",
+ "album" : "Wildabeast",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ILL"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/01-Injected.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 1,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "artistid" : [
+ 213
+ ],
+ "label" : "Injected",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "album" : "Chinese Pornography",
+ "title" : "Injected",
+ "songid" : 1508,
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "album" : "De Muziekfabriek",
+ "title" : "Instructievogel 1",
+ "songid" : 249,
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Instructievogel 1",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/01-Instructievogel 1.mp3",
+ "artistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "track" : 1,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "track" : 1,
+ "genre" : [],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "artist" : [
+ "VARIOS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/01-INUNO OMAWARISAN.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 96,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "INUNO OMAWARISAN",
+ "songid" : 1260,
+ "title" : "INUNO OMAWARISAN",
+ "album" : "AKATIAN NO TAMENO"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Elizabeth",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/01-Elizabeth-Je Suis Sublime.mp3",
+ "albumartistid" : [
+ 167
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 167
+ ],
+ "artist" : [
+ "Elizabeth"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "album" : "Swinging Mademoiselles",
+ "title" : "Je Suis Sublime",
+ "songid" : 1458,
+ "albumartist" : [
+ "Elizabeth"
+ ],
+ "label" : "Je Suis Sublime",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 173
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Kottans Kapelle",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/01-Jellinek.mp3",
+ "albumartistid" : [
+ 55
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "genre" : [],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "artistid" : [
+ 55
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "label" : "Jellinek",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Kottans Kapelle",
+ "title" : "Jellinek",
+ "songid" : 773,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 58,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "album" : "Barn Burners",
+ "title" : "John Henry",
+ "songid" : 1073,
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "label" : "John Henry",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 73,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/01-John Henry.mp3",
+ "albumartistid" : [
+ 70
+ ],
+ "artistid" : [
+ 70
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/01-Just Call me Lonsome.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "label" : "Just Call me Lonsome",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Love Letters",
+ "title" : "Just Call me Lonsome",
+ "songid" : 604,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 47,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Langeweile",
+ "songid" : 753,
+ "album" : "Tavernengeflüster",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "label" : "Langeweile",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 57,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/01-Langeweile.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "artistid" : [
+ 54
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "label" : "Le telegramme-Blues de Victor",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "title" : "Le telegramme-Blues de Victor",
+ "songid" : 1676,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 228,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/01-Le telegramme-Blues de Victor.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/01-Le Télégramme - Blues De Victor.mp3",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Le Télégramme - Blues De Victor",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "title" : "Le Télégramme - Blues De Victor",
+ "songid" : 734,
+ "album" : "L' Africana",
+ "albumid" : 56,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/01-Like A Movie.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 72,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2011,
+ "rating" : 0,
+ "title" : "Like A Movie",
+ "songid" : 1055,
+ "album" : "Buckets And Booty Calls",
+ "label" : "Like A Movie",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Roach Gigz"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "label" : "Local TBA",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Local TBA",
+ "album" : "Attack!",
+ "songid" : 291,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "albumid" : 27,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Cockpunch",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/01-Local TBA.mp3",
+ "albumartistid" : [
+ 27
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "artistid" : [
+ 27
+ ],
+ "genreid" : [
+ 12
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/01-Macedonia - Part 2.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 10,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "songid" : 60,
+ "title" : "Macedonia - Part 2",
+ "album" : "Royal Greek Festival Company",
+ "label" : "Macedonia - Part 2",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ]
+ },
+ {
+ "albumid" : 11,
+ "rating" : 0,
+ "year" : 1997,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Markin' Time",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "title" : "Markin' Time",
+ "album" : "The Very Best of Bent Fabric",
+ "songid" : 79,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/01-Markin' Time.mp3",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/01-Matinades.mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 62,
+ "album" : "Tocs i Músiques de Les Santes",
+ "title" : "Matinades",
+ "songid" : 846,
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "label" : "Matinades",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/01-Medley Train.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 80,
+ "album" : "The Righful Ruler (Disc 2)",
+ "title" : "Medley Train",
+ "songid" : 1185,
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Medley Train"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/01-Missa in C-Dur: Kyrie.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 1,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "Missa in C-Dur: Kyrie",
+ "songid" : 189,
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Missa in C-Dur: Kyrie",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1995,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22
+ },
+ {
+ "track" : 1,
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/01-Mister Killer.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Mister Killer",
+ "title" : "Mister Killer",
+ "album" : "World of Shit",
+ "songid" : 441
+ },
+ {
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 58
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/01-Les Paul & Mary Ford-Mockin' Bird Hill.mp3",
+ "albumartistid" : [
+ 58
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Paul & Mary Ford",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 61,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "album" : "This Is Gold D1 of 3",
+ "title" : "Mockin' Bird Hill",
+ "songid" : 837,
+ "label" : "Mockin' Bird Hill",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 99,
+ "album" : "3 Way Split CD",
+ "title" : "Molested, Then Suffocated In Her Vomit",
+ "songid" : 1292,
+ "albumartist" : [
+ "Modus Delicti"
+ ],
+ "label" : "Molested, Then Suffocated In Her Vomit",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "Modus Delicti"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 94
+ ],
+ "genreid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Modus Delicti",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/01-Modus Delicti-Molested, Then Suffocated In Her Vomit.mp3",
+ "albumartistid" : [
+ 94
+ ]
+ },
+ {
+ "songid" : 1148,
+ "title" : "Money Is The Shit Of God (Bathe In God's Shit)",
+ "album" : "Riot In The Hive Mind",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Money Is The Shit Of God (Bathe In God's Shit)",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 78,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/01-Money Is The Shit Of God (Bathe In God's Shit).mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "lyrics" : "",
+ "track" : 1
+ },
+ {
+ "albumid" : 41,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Night And Day",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "title" : "Night And Day",
+ "songid" : 498,
+ "album" : "Blue Skies",
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/01-Night And Day.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/01-No. 2.mp3",
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 26,
+ "rating" : 0,
+ "year" : 1984,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Children's Songs (SHM)",
+ "title" : "No. 2",
+ "songid" : 271,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "No. 2",
+ "albumartist" : [
+ "Chick Corea"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/01-Onie's Bop.mp3",
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 1,
+ "title" : "Onie's Bop",
+ "album" : "Onie's Country Boppers",
+ "songid" : 921,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Onie's Bop",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 66,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/01-Out Of Time.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Out Of Time",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Out Of Time",
+ "album" : "Three Things At Once",
+ "songid" : 384,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 34,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/01-PONS Rumänisch - Track 02.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "label" : "PONS Rumänisch - Track 02",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 02",
+ "songid" : 980,
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/01-Proliferation Of Fecal Pus.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "artistid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Proliferation Of Fecal Pus",
+ "title" : "Proliferation Of Fecal Pus",
+ "album" : "Xenophilism",
+ "songid" : 327,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 30,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/01-Reel - An Ball Seirce.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - An Ball Seirce",
+ "songid" : 1563,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - An Ball Seirce",
+ "albumartist" : [
+ "Waltons"
+ ]
+ },
+ {
+ "track" : 1,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/01-Sally Goodin - Edd Presnell.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 100,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Sally Goodin - Edd Presnell",
+ "title" : "Sally Goodin - Edd Presnell",
+ "songid" : 1298,
+ "album" : "Appalachian Breakdown"
+ },
+ {
+ "albumid" : 77,
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Save the Last Dance for Me",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "album" : "Legends of Soul: The Drifters",
+ "title" : "Save the Last Dance for Me",
+ "songid" : 1130,
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "artistid" : [
+ 74
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/01-Save the Last Dance for Me.mp3",
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "title" : "skatin'",
+ "album" : "Juniorville 20",
+ "songid" : 1092,
+ "label" : "skatin'",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 74,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/01-skatin'.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 1
+ },
+ {
+ "displayartist" : "Jamie Winchester, Tibor Bornai",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 137
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/01-Jamie Winchester, Tibor Bornai-Soaring Above.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Jamie Winchester, Tibor Bornai"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 137
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "albumartist" : [
+ "Jamie Winchester, Tibor Bornai"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Soaring Above",
+ "album" : "Zentiva--Muzica de relaxare",
+ "title" : "Soaring Above",
+ "songid" : 1420,
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 143,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/01-Stranglers Hash Party.mp3",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 217
+ ],
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Stranglers Hash Party",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "title" : "Stranglers Hash Party",
+ "album" : "The Fat of the Band",
+ "songid" : 1620,
+ "albumid" : 225,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "artistid" : [
+ 215
+ ],
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/01-Telemann: Sonata in G major (Tafelmusik III No. 5) - 2.mp3",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 223,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 2",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "album" : "Alb",
+ "title" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 2",
+ "songid" : 1546
+ },
+ {
+ "albumartistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/01-The High - High.mp3",
+ "displayartist" : "Jay-Z",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 46
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The High - High",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "title" : "The High - High",
+ "songid" : 587,
+ "album" : "The Black Chronic",
+ "albumid" : 46,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 21,
+ "title" : "The Last Door",
+ "songid" : 168,
+ "album" : "More Music For Films",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "label" : "The Last Door",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "artistid" : [
+ 21
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/01-The Last Door.mp3",
+ "albumartistid" : [
+ 21
+ ]
+ },
+ {
+ "albumid" : 8,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Preacher",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "title" : "The Preacher",
+ "songid" : 20,
+ "album" : "My Time Is The Right Time",
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 8
+ ],
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/01-The Preacher.mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 1,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/01-The Trumpet - QUOTE.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 67,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Trumpet - QUOTE",
+ "title" : "The Trumpet - QUOTE",
+ "album" : "Ten Minutes Older",
+ "songid" : 939
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "artistid" : [
+ 2
+ ],
+ "albumartistid" : [
+ 2
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/01-Henry Hayes-The Twirl.mp3",
+ "displayartist" : "Henry Hayes",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 2,
+ "year" : 1991,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Twirl",
+ "albumartist" : [
+ "Henry Hayes"
+ ],
+ "songid" : 3,
+ "title" : "The Twirl",
+ "album" : "Kangaroo Shuffle"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Burning Spear",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/01-This Race.mp3",
+ "albumartistid" : [
+ 24
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 24
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "songid" : 231,
+ "title" : "This Race",
+ "album" : "Sounds from the Burning Spear",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "label" : "This Race",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 24
+ },
+ {
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 44,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tocata 2",
+ "title" : "Tocata 2",
+ "songid" : 550,
+ "album" : "Tocates valencianes",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "artistid" : [
+ 44
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/01-Tocata 2.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/01-Track02 BACH Polonaise (Petit livre d'Anna Magdalena Bach).mp3",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 1,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "songid" : 791,
+ "title" : "Track02 BACH Polonaise (Petit livre d'Anna Magdalena Bach)",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track02 BACH Polonaise (Petit livre d'Anna Magdalena Bach)",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59
+ },
+ {
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "track" : 1,
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/01-Turmoil.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 23,
+ "title" : "Turmoil",
+ "album" : "Evolution Through Revolution",
+ "songid" : 209,
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Turmoil"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 117
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/01-Everly Brothers, The-Wake Up Little Susie.mp3",
+ "displayartist" : "Everly Brothers, The",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 117
+ ],
+ "artist" : [
+ "Everly Brothers, The"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "track" : 1,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "title" : "Wake Up Little Susie",
+ "songid" : 1344,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Wake Up Little Susie",
+ "albumartist" : [
+ "Everly Brothers, The"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 121,
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/01-Wir Sind Der Weg.mp3",
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 1,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artistid" : [
+ 35
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Wir Sind Der Weg",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "album" : "Zurück Zum Glück",
+ "title" : "Wir Sind Der Weg",
+ "songid" : 405,
+ "albumid" : 35,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "displayartist" : "Boss DJ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 18
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/01-Boss DJ-Wrong Way.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [],
+ "artistid" : [
+ 18
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Boss DJ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Boss DJ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Wrong Way",
+ "album" : "Live At The Firecracker Lounge",
+ "title" : "Wrong Way",
+ "songid" : 152,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 18,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumid" : 229,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Уырчъш яюёъю№хщ чръ№ющ",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "songid" : 1695,
+ "title" : "Уырчъш яюёъю№хщ чръ№ющ",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "track" : 1,
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/01-Уырчъш яюёъю№хщ чръ№ющ.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "title" : "およげ!たいやきくん",
+ "album" : "おいしいうた・いただきまーす・",
+ "songid" : 1227,
+ "albumartist" : [
+ "子門 真人"
+ ],
+ "label" : "およげ!たいやきくん",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 88,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "子門 真人",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/01-子門 真人-およげ!たいやきくん.mp3",
+ "albumartistid" : [
+ 83
+ ],
+ "artistid" : [
+ 83
+ ],
+ "disc" : 0,
+ "artist" : [
+ "子門 真人"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "genre" : [],
+ "lyrics" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/01-コロンパッ.mp3",
+ "artistid" : [
+ 225
+ ],
+ "disc" : 0,
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "songid" : 1788,
+ "title" : "コロンパッ",
+ "album" : "おかあさんといっしょ コロンパッ",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "コロンパッ",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 1,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/01-ファッション.mp3",
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 230,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "title" : "ファッション",
+ "songid" : 1714,
+ "album" : "アナーキー・ライブ",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ファッション",
+ "albumartist" : [
+ "アナーキー"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/01-ペンギンのおやこ.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "album" : "ピアノスタディ1",
+ "title" : "ペンギンのおやこ",
+ "songid" : 1751,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "ペンギンのおやこ",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 232
+ },
+ {
+ "track" : 1,
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "genreid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/01-風の踊り子 (Stage 1 ''Wind Country'').mp3",
+ "albumartistid" : [
+ 223
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1989,
+ "albumid" : 231,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "label" : "風の踊り子 (Stage 1 ''Wind Country'')",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "プラスアルファ",
+ "title" : "風の踊り子 (Stage 1 ''Wind Country'')",
+ "songid" : 1732
+ },
+ {
+ "title" : "03 - Se te ve la tanga (En viv",
+ "songid" : 349,
+ "album" : "EN VIVO EN PARAGUAY",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "03 - Se te ve la tanga (En viv",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 31,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/02-03 - Se te ve la tanga (En viv.mp3",
+ "artistid" : [
+ 31
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ],
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ]
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "03 Back Home",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "title" : "03 Back Home",
+ "album" : "Legend (Disk 2)",
+ "songid" : 1038,
+ "albumid" : 71,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/02-03 Back Home.mp3",
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 63,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 864,
+ "title" : "3 Marienvesper - Dixit Dominus",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "3 Marienvesper - Dixit Dominus",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 60
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/02-3 Marienvesper - Dixit Dominus.mp3",
+ "displayartist" : "Marienvesper 1693",
+ "thumbnail" : ""
+ },
+ {
+ "album" : "Onie's Country Boppers",
+ "title" : "A Booger Gonna Getcha",
+ "songid" : 922,
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "label" : "A Booger Gonna Getcha",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 66,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/02-A Booger Gonna Getcha.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "artistid" : [
+ 63
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 57,
+ "album" : "Tavernengeflüster",
+ "title" : "Alkoholfrei",
+ "songid" : 754,
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "label" : "Alkoholfrei",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "Koboldix"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/02-Alkoholfrei.mp3",
+ "albumartistid" : [
+ 54
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/02-Anotherslackarsedaussieband.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "artistid" : [
+ 16
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 2,
+ "title" : "Anotherslackarsedaussieband",
+ "album" : "Cunt",
+ "songid" : 134,
+ "label" : "Anotherslackarsedaussieband",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 16,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001
+ },
+ {
+ "artistid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "track" : 2,
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/02-Are You.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38,
+ "title" : "Are You",
+ "songid" : 442,
+ "album" : "World of Shit",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Are You"
+ },
+ {
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/02-Auf unserer Wiese.mp3",
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "artist" : [
+ "Music Kids"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Auf unserer Wiese",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "songid" : 904,
+ "title" : "Auf unserer Wiese",
+ "album" : "die schönsten Kinderlieder",
+ "albumid" : 65,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "label" : "Ball de les diableses",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 847,
+ "title" : "Ball de les diableses",
+ "album" : "Tocs i Músiques de Les Santes",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 62,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/02-Ball de les diableses.mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/02-Be Mine.mp3",
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Etta James"
+ ],
+ "artistid" : [
+ 39
+ ],
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "title" : "Be Mine",
+ "album" : "Best of the Modern Years, (The)",
+ "songid" : 463,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Be Mine",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 39,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 13,
+ "title" : "Beach Scene",
+ "album" : "The Entity",
+ "songid" : 97,
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "label" : "Beach Scene",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artistid" : [
+ 13
+ ],
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/02-Beach Scene.mp3",
+ "albumartistid" : [
+ 13
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Matthias Wittwer, Clements Schweikhart",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/02-Matthias Wittwer, Clements Schweikhart-Beautiful Highlands.mp3",
+ "albumartistid" : [
+ 141
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 141
+ ],
+ "artist" : [
+ "Matthias Wittwer, Clements Schweikhart"
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "title" : "Beautiful Highlands",
+ "songid" : 1425,
+ "album" : "Zentiva--Muzica de relaxare",
+ "albumartist" : [
+ "Matthias Wittwer, Clements Schweikhart"
+ ],
+ "label" : "Beautiful Highlands",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 147
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/02-Blazen op een buis.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "track" : 2,
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "label" : "Blazen op een buis",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "album" : "De Muziekfabriek",
+ "title" : "Blazen op een buis",
+ "songid" : 250,
+ "albumid" : 25,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/02-Blueberry Hill (1956).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 40,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Blueberry Hill (1956)",
+ "title" : "Blueberry Hill (1956)",
+ "album" : "I'm Walking",
+ "songid" : 481
+ },
+ {
+ "label" : "Charlie's Wig (take 5) [master] [G]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "songid" : 1369,
+ "title" : "Charlie's Wig (take 5) [master] [G]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "albumid" : 136,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1947,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/02-Original Charlie Parker Sextet [6]-Charlie's Wig (take 5) [master] [G].mp3",
+ "albumartistid" : [
+ 131
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 2,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 131
+ ]
+ },
+ {
+ "artistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/02-Chemin De Fer.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 21,
+ "songid" : 169,
+ "title" : "Chemin De Fer",
+ "album" : "More Music For Films",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "label" : "Chemin De Fer",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/02-Chicken Feed.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 2,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "album" : "The Very Best of Bent Fabric",
+ "title" : "Chicken Feed",
+ "songid" : 80,
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Chicken Feed",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1997,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 11
+ },
+ {
+ "albumid" : 15,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Cliff",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "songid" : 116,
+ "title" : "Cliff",
+ "album" : "Brain Plugin Spaghetti",
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/02-Cliff.mp3",
+ "albumartistid" : [
+ 15
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "artistid" : [
+ 214
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Vladimir Cosma",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 214
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/02-Crazy soldiers.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1973,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 222,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Crazy soldiers",
+ "title" : "Crazy soldiers",
+ "songid" : 1530,
+ "album" : "Les aventures de Rabbi Jacob"
+ },
+ {
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/02-Cry Tough.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Cry Tough",
+ "title" : "Cry Tough",
+ "album" : "My Time Is The Right Time",
+ "songid" : 21,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 8,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumid" : 23,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Daydreamer",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "title" : "Daydreamer",
+ "songid" : 210,
+ "album" : "Evolution Through Revolution",
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/02-Daydreamer.mp3",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "songid" : 588,
+ "title" : "Dec4th - Dec 4th",
+ "album" : "The Black Chronic",
+ "label" : "Dec4th - Dec 4th",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "artist" : [
+ "Jay-Z"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/02-Dec4th - Dec 4th.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z"
+ },
+ {
+ "label" : "Der Herr ist mein Heil und mein Lied",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "title" : "Der Herr ist mein Heil und mein Lied",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "songid" : 884,
+ "albumid" : 64,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/02-Der Herr ist mein Heil und mein Lied.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 2,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ]
+ },
+ {
+ "albumartist" : [
+ "Christine Delaroche"
+ ],
+ "label" : "Des Tigres Et Des Minets",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Swinging Mademoiselles",
+ "title" : "Des Tigres Et Des Minets",
+ "songid" : 1450,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 168,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Christine Delaroche",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/02-Christine Delaroche-Des Tigres Et Des Minets.mp3",
+ "albumartistid" : [
+ 162
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 162
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Christine Delaroche"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/02-Dinner.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "title" : "Dinner",
+ "songid" : 624,
+ "album" : "Gigli (Original Motion Picture Score)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dinner",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 49,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 51,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "songid" : 660,
+ "title" : "Doin' My Time",
+ "album" : "1976 - Strawberry Cake",
+ "label" : "Doin' My Time",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/02-Doin' My Time.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash"
+ },
+ {
+ "songid" : 680,
+ "title" : "Doin' My Time",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Doin' My Time",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 53,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/02-Doin' My Time.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 2
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 42,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "title" : "Double It (feat. Big Freedia)",
+ "album" : "Ya-Ka-May",
+ "songid" : 515,
+ "label" : "Double It (feat. Big Freedia)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "genreid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 42
+ ],
+ "artist" : [
+ "Galactic"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/02-Double It (feat. Big Freedia).mp3",
+ "albumartistid" : [
+ 42
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Galactic"
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/02-Epathosplenomegalix.mp3",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 30,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Xenophilism",
+ "title" : "Epathosplenomegalix",
+ "songid" : 328,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Epathosplenomegalix",
+ "albumartist" : [
+ "Corporal Raid"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 228,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "label" : "Erklar mir, liebe (Explique moi, amour)-Theme du passe",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1677,
+ "title" : "Erklar mir, liebe (Explique moi, amour)-Theme du passe",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "track" : 2,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 220
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/02-Erklar mir, liebe (Explique moi, amour)-Theme du passe.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/02-Erklär Mir, Liebe (Explique Moi, Amour) - Thème Du Passé.mp3",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 56,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 735,
+ "title" : "Erklär Mir, Liebe (Explique Moi, Amour) - Thème Du Passé",
+ "album" : "L' Africana",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Erklär Mir, Liebe (Explique Moi, Amour) - Thème Du Passé",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/02-estimulacion anal.mp3",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "genre" : [
+ "porno grind"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "album" : "depravada sexual",
+ "title" : "estimulacion anal",
+ "songid" : 961,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "estimulacion anal",
+ "albumartist" : [
+ "pigto"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 68,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "track" : 2,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/02-Ever Since You Went Away.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 28,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "label" : "Ever Since You Went Away",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 310,
+ "title" : "Ever Since You Went Away",
+ "album" : "The Great Conway Twitty"
+ },
+ {
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Silas Hogan"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 158
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/02-Silas Hogan-Everybody Needs Somebody.mp3",
+ "albumartistid" : [
+ 158
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Silas Hogan",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 164,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "title" : "Everybody Needs Somebody",
+ "songid" : 1445,
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "label" : "Everybody Needs Somebody",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Silas Hogan"
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "track" : 2,
+ "genreid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 223
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ジャレコ"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/02-Extra Game.mp3",
+ "albumartistid" : [
+ 223
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 231,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1989,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Extra Game",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "title" : "Extra Game",
+ "album" : "プラスアルファ",
+ "songid" : 1733
+ },
+ {
+ "album" : "Live At The Firecracker Lounge",
+ "title" : "Freeway Time In LA County Jail",
+ "songid" : 154,
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "label" : "Freeway Time In LA County Jail",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 19,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/02-Freeway Time In LA County Jail.mp3",
+ "albumartistid" : [
+ 19
+ ],
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 19
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "genre" : [],
+ "lyrics" : ""
+ },
+ {
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/02-Freitag.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "artistid" : [
+ 55
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Freitag",
+ "title" : "Freitag",
+ "album" : "Kottans Kapelle",
+ "songid" : 774,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 58,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumid" : 22,
+ "rating" : 0,
+ "year" : 1995,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Gloria",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "title" : "Gloria",
+ "songid" : 190,
+ "album" : "Oberösterreichische Kirchenmusik",
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/02-Gloria.mp3",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 212
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Tex Ritter"
+ ],
+ "albumartistid" : [
+ 212
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/02-Tex Ritter-High Noon (Do Not Forsake Me).mp3",
+ "displayartist" : "Tex Ritter",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 219,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "High Noon (Do Not Forsake Me)",
+ "albumartist" : [
+ "Tex Ritter"
+ ],
+ "title" : "High Noon (Do Not Forsake Me)",
+ "songid" : 1505,
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)"
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 2,
+ "rating" : 0,
+ "year" : 1991,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Kangaroo Shuffle",
+ "title" : "Hog Grunt",
+ "songid" : 4,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Hog Grunt",
+ "albumartist" : [
+ "Henry Hayes"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 2
+ ],
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 2
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/02-Henry Hayes-Hog Grunt.mp3",
+ "displayartist" : "Henry Hayes",
+ "thumbnail" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/02-How's The Worls Treating You.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 2,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "label" : "How's The Worls Treating You",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "songid" : 605,
+ "title" : "How's The Worls Treating You",
+ "album" : "Love Letters",
+ "albumid" : 47,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/02-Billy Cheatwood-Hundreds of Miles.mp3",
+ "albumartistid" : [
+ 99
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Billy Cheatwood",
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 99
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Billy Cheatwood"
+ ],
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "title" : "Hundreds of Miles",
+ "songid" : 1320,
+ "album" : "Bluegrass Banjo",
+ "label" : "Hundreds of Miles",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Billy Cheatwood"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 103,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "artistid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/02-Ich Bin Die Sehnsucht in Dir.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 35,
+ "album" : "Zurück Zum Glück",
+ "title" : "Ich Bin Die Sehnsucht in Dir",
+ "songid" : 406,
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ich Bin Die Sehnsucht in Dir"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 226,
+ "songid" : 1641,
+ "title" : "IL",
+ "album" : "Wildabeast",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "IL",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artistid" : [
+ 218
+ ],
+ "artist" : [
+ "Wildabeast"
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/02-IL.mp3",
+ "albumartistid" : [
+ 218
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 58
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/02-Les Paul & Mary Ford-Johnny Is The Boy For Me.mp3",
+ "displayartist" : "Les Paul & Mary Ford",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 58
+ ],
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "track" : 2,
+ "songid" : 838,
+ "title" : "Johnny Is The Boy For Me",
+ "album" : "This Is Gold D1 of 3",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Johnny Is The Boy For Me",
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 61,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "artistid" : [
+ 45
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "track" : 2,
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/02-Just Won't Do Right.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 45,
+ "title" : "Just Won't Do Right",
+ "songid" : 570,
+ "album" : "Here's James Brown",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Just Won't Do Right"
+ },
+ {
+ "albumid" : 185,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Keep Away From Julie",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Eddie Martin"
+ ],
+ "title" : "Keep Away From Julie",
+ "songid" : 1471,
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "track" : 2,
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 179
+ ],
+ "artist" : [
+ "Eddie Martin"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/02-Eddie Martin-Keep Away From Julie.mp3",
+ "albumartistid" : [
+ 179
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Eddie Martin",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "artistid" : [
+ 10
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/02-Macedonia - Part 3.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 10,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "title" : "Macedonia - Part 3",
+ "album" : "Royal Greek Festival Company",
+ "songid" : 61,
+ "label" : "Macedonia - Part 3",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ]
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 2,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/02-Mountain Medley (She'll Be Comin' Around The Mountain-Black Mo.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 73,
+ "songid" : 1074,
+ "title" : "Mountain Medley (She'll Be Comin' Around The Mountain-Black Mo",
+ "album" : "Barn Burners",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Mountain Medley (She'll Be Comin' Around The Mountain-Black Mo"
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "No. 3",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "title" : "No. 3",
+ "album" : "Children's Songs (SHM)",
+ "songid" : 272,
+ "albumid" : 26,
+ "rating" : 0,
+ "year" : 1984,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/02-No. 3.mp3",
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 26
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/02-Nothing.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "label" : "Nothing",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1509,
+ "title" : "Nothing",
+ "album" : "Chinese Pornography",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 221,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/02-One Dime Blues - Etta Baker.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "album" : "Appalachian Breakdown",
+ "title" : "One Dime Blues - Etta Baker",
+ "songid" : 1299,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "One Dime Blues - Etta Baker",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 100,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/02-Patapan.mp3",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Patapan",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "songid" : 1167,
+ "title" : "Patapan",
+ "album" : "Have Yourself a Merry Little Christma",
+ "albumid" : 79,
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/02-People`s Choise.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "People`s Choise",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "songid" : 420,
+ "title" : "People`s Choise",
+ "album" : "Best of Defari",
+ "albumid" : 36,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "title" : "PONS Rumänisch - Track 03",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 981,
+ "label" : "PONS Rumänisch - Track 03",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/02-PONS Rumänisch - Track 03.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS"
+ },
+ {
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Primus modus Tarentella (Anonyme) · Secundus modus Tarentella·",
+ "album" : "Tarentule - Taren",
+ "title" : "Primus modus Tarentella (Anonyme) · Secundus modus Tarentella·",
+ "songid" : 39,
+ "year" : 1978,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/02-Primus modus Tarentella (Anonyme) · Secundus modus Tarentella·.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ]
+ },
+ {
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Ballinasloe Fair",
+ "title" : "Reel - Ballinasloe Fair",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1564,
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/02-Reel - Ballinasloe Fair.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/02-Johnny Cash-Ring of Fire.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "genreid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "label" : "Ring of Fire",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "Ring of Fire",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "songid" : 1350,
+ "albumid" : 127,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2014,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "artist" : [
+ "Cockpunch"
+ ],
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/02-Road Rash.mp3",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 27,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Road Rash",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "songid" : 292,
+ "title" : "Road Rash",
+ "album" : "Attack!"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/02-Rrroach.mp3",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "artistid" : [
+ 69
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Rap"
+ ],
+ "track" : 2,
+ "title" : "Rrroach",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1056,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Rrroach",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 72,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../02-Rötter.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "title" : "Rötter",
+ "album" : "Med Anledning Av..",
+ "songid" : 1113,
+ "label" : "Rötter",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Svenska Akademien"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/02-SATTIAN.mp3",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "VARIOS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 2,
+ "songid" : 1261,
+ "title" : "SATTIAN",
+ "album" : "AKATIAN NO TAMENO",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "SATTIAN",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 96,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "albumid" : 74,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "label" : "scratchin'",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Juniorville 20",
+ "title" : "scratchin'",
+ "songid" : 1093,
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/02-scratchin'.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "label" : "Shaggy - Nicer Than Yard",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "VA"
+ ],
+ "album" : "Gangsta Rock",
+ "title" : "Shaggy - Nicer Than Yard",
+ "songid" : 1243,
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/02-Shaggy - Nicer Than Yard.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "VA"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ]
+ },
+ {
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/02-Shenandoah.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1996,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 81,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Shenandoah",
+ "title" : "Shenandoah",
+ "album" : "Atlantica",
+ "songid" : 1204
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "title" : "Skillet Lickin'",
+ "songid" : 531,
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Skillet Lickin'",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/02-Skillet Lickin'.mp3",
+ "albumartistid" : [
+ 43
+ ]
+ },
+ {
+ "title" : "Somebody Loves Me",
+ "songid" : 499,
+ "album" : "Blue Skies",
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "Somebody Loves Me",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1995,
+ "rating" : 0,
+ "albumid" : 41,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/02-Somebody Loves Me.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Easy Listening"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/02-Spice Girls.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "songid" : 1621,
+ "title" : "Spice Girls",
+ "album" : "The Fat of the Band",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "label" : "Spice Girls",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 225
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/02-Static Void.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "artistid" : [
+ 34
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "title" : "Static Void",
+ "songid" : 385,
+ "album" : "Three Things At Once",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Static Void",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 34
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Summer",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "album" : "Raise The Red Lantern",
+ "title" : "Summer",
+ "songid" : 1659,
+ "albumid" : 227,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/02-Summer.mp3",
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ]
+ },
+ {
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 24,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Swellheaded",
+ "title" : "Swellheaded",
+ "songid" : 232,
+ "album" : "Sounds from the Burning Spear",
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 24
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/02-Swellheaded.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 70,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "Teenage Lobotomy",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1018,
+ "title" : "Teenage Lobotomy",
+ "album" : "Loco Live (CD 1)",
+ "track" : 2,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Ramones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/02-Teenage Lobotomy.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/02-Telemann: Sonata in G major (Tafelmusik III No. 5) - 3.mp3",
+ "albumartistid" : [
+ 215
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 215
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "label" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 3",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "songid" : 1547,
+ "title" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 3",
+ "album" : "Alb",
+ "albumid" : 223,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1980,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "title" : "Tertius modus Tarentella",
+ "album" : "Tarentule - Taren",
+ "songid" : 40,
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tertius modus Tarentella",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1978,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/02-Tertius modus Tarentella.mp3",
+ "artistid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 2,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "track" : 2,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/02-That's All Over.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 50,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "That's All Over",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "That's All Over",
+ "songid" : 642,
+ "album" : "1958 - The Fabulous Johnny Cash"
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 54,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "album" : "The Fabulous Johnny Cash",
+ "title" : "That's All Over",
+ "songid" : 699,
+ "label" : "That's All Over",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/02-That's All Over.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash"
+ },
+ {
+ "title" : "That's All Over",
+ "songid" : 717,
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "label" : "That's All Over",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 55,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/02-That's All Over.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 52
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 2
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/02-The Trumpet - DOGS HAVE NO HELL.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "artistid" : [
+ 64
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "label" : "The Trumpet - DOGS HAVE NO HELL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "The Trumpet - DOGS HAVE NO HELL",
+ "album" : "Ten Minutes Older",
+ "songid" : 940,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 67,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/02-The Vicar of Bray.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "title" : "The Vicar of Bray",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1378,
+ "label" : "The Vicar of Bray",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "artistid" : [
+ 44
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/02-Tocata 3.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "albumid" : 44,
+ "title" : "Tocata 3",
+ "album" : "Tocates valencianes",
+ "songid" : 551,
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "label" : "Tocata 3",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "title" : "Track03 BARTOK Chanson de style popularire (Milrolosmos)",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 792,
+ "label" : "Track03 BARTOK Chanson de style popularire (Milrolosmos)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/02-Track03 BARTOK Chanson de style popularire (Milrolosmos).mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 2
+ },
+ {
+ "albumartist" : [
+ "Modus Delicti"
+ ],
+ "label" : "Twisted, Perverted, Obsessed",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "3 Way Split CD",
+ "title" : "Twisted, Perverted, Obsessed",
+ "songid" : 1293,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 99,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Modus Delicti",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/02-Modus Delicti-Twisted, Perverted, Obsessed.mp3",
+ "albumartistid" : [
+ 94
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 2,
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 94
+ ],
+ "artist" : [
+ "Modus Delicti"
+ ],
+ "genreid" : [
+ 32
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/02-untain Rag-Old Joe Clark).mp3",
+ "albumartistid" : [
+ 70
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "artistid" : [
+ 70
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 2,
+ "genre" : [],
+ "lyrics" : "",
+ "title" : "untain Rag-Old Joe Clark)",
+ "album" : "Barn Burners",
+ "songid" : 1075,
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "label" : "untain Rag-Old Joe Clark)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 73
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Up on the Roof",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "album" : "Legends of Soul: The Drifters",
+ "title" : "Up on the Roof",
+ "songid" : 1131,
+ "albumid" : 77,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/02-Up on the Roof.mp3",
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "artist" : [
+ "The Drifters"
+ ]
+ },
+ {
+ "albumid" : 32,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Wegzeichen",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "songid" : 366,
+ "title" : "Wegzeichen",
+ "album" : "Wegzeichen",
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dauner"
+ ],
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/02-Wegzeichen.mp3",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "label" : "You Keep On Running",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "songid" : 1186,
+ "title" : "You Keep On Running",
+ "album" : "The Righful Ruler (Disc 2)",
+ "albumid" : 80,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2001,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/02-You Keep On Running.mp3",
+ "albumartistid" : [
+ 77
+ ],
+ "thumbnail" : "",
+ "displayartist" : "U-Roy",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 2,
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "artist" : [
+ "U-Roy"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Yr Milk Is My Poison",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "album" : "Riot In The Hive Mind",
+ "title" : "Yr Milk Is My Poison",
+ "songid" : 1149,
+ "albumid" : 78,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/02-Yr Milk Is My Poison.mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ]
+ },
+ {
+ "label" : "Ърчрїќџ ъюыћсхыќэрџ (Ь.о.Ых№ьюэђют)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "title" : "Ърчрїќџ ъюыћсхыќэрџ (Ь.о.Ых№ьюэђют)",
+ "songid" : 1696,
+ "albumid" : 229,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/02-Ърчрїќџ ъюыћсхыќэрџ (Ь.о.Ых№ьюэђют).mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "いちばんぼしみつけた",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "ピアノスタディ1",
+ "title" : "いちばんぼしみつけた",
+ "songid" : 1752,
+ "track" : 2,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/02-いちばんぼしみつけた.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 94,
+ "rating" : 0,
+ "year" : 2002,
+ "musicbrainzalbumartistid" : [],
+ "title" : "サラダでラップ",
+ "songid" : 1238,
+ "album" : "おいしいうた・いただきまーす・",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "サラダでラップ",
+ "albumartist" : [
+ "速水けんたろう、茂森あゆみ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "速水けんたろう、茂森あゆみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 89
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 2,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 89
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/02-速水けんたろう、茂森あゆみ-サラダでラップ.mp3",
+ "displayartist" : "速水けんたろう、茂森あゆみ",
+ "thumbnail" : ""
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ジューキーズこうじちゅう!",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "album" : "おかあさんといっしょ コロンパッ",
+ "title" : "ジューキーズこうじちゅう!",
+ "songid" : 1789,
+ "albumid" : 233,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/02-ジューキーズこうじちゅう!.mp3",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ]
+ },
+ {
+ "albumid" : 230,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "ヒーロー",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "album" : "アナーキー・ライブ",
+ "title" : "ヒーロー",
+ "songid" : 1715,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 2,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "アナーキー"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/02-ヒーロー.mp3",
+ "albumartistid" : [
+ 222
+ ],
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 99,
+ "title" : "...And They Lay Dead",
+ "album" : "3 Way Split CD",
+ "songid" : 1294,
+ "albumartist" : [
+ "Modus Delicti"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "...And They Lay Dead",
+ "artist" : [
+ "Modus Delicti"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 94
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "track" : 3,
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Modus Delicti",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 94
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/03-Modus Delicti-...And They Lay Dead.mp3"
+ },
+ {
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "3・3・3",
+ "songid" : 1716,
+ "title" : "3・3・3",
+ "album" : "アナーキー・ライブ",
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/03-3・3・3.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 222
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 31,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "04 - Quiero vitamina (En vivo)",
+ "songid" : 350,
+ "album" : "EN VIVO EN PARAGUAY",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "04 - Quiero vitamina (En vivo)",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/03-04 - Quiero vitamina (En vivo).mp3",
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : ""
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/03-4 Marienvesper - Antiphon - Dum esset rex.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "songid" : 865,
+ "title" : "4 Marienvesper - Antiphon - Dum esset rex",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "label" : "4 Marienvesper - Antiphon - Dum esset rex",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ]
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/03-04 Sitting on Top of the World.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 71,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "title" : "04 Sitting on Top of the World",
+ "album" : "Legend (Disk 2)",
+ "songid" : 1039,
+ "label" : "04 Sitting on Top of the World",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Ray Charles"
+ ]
+ },
+ {
+ "label" : "Ass+Fuck=57",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "songid" : 1510,
+ "title" : "Ass+Fuck=57",
+ "album" : "Chinese Pornography",
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/03-Ass+Fuck=57.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 3,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ]
+ },
+ {
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 59
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Santes"
+ ],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/03-Ball de la Momerota.mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 62,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "title" : "Ball de la Momerota",
+ "songid" : 848,
+ "album" : "Tocs i Músiques de Les Santes",
+ "label" : "Ball de la Momerota",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Les Santes"
+ ]
+ },
+ {
+ "album" : "World of Shit",
+ "title" : "Bethléhem",
+ "songid" : 443,
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Bethléhem",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/03-Bethléhem.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ]
+ },
+ {
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 104,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "David Lindley"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Bluegrass Mountian Medley",
+ "songid" : 1321,
+ "title" : "Bluegrass Mountian Medley",
+ "album" : "Bluegrass Banjo",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "artistid" : [
+ 100
+ ],
+ "disc" : 0,
+ "artist" : [
+ "David Lindley"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "displayartist" : "David Lindley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 100
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/03-David Lindley-Bluegrass Mountian Medley.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "year" : 1947,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 136,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Bongo Beep (take 2) [Dexterity] [G]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "title" : "Bongo Beep (take 2) [Dexterity] [G]",
+ "songid" : 1370,
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 131
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 131
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/03-Original Charlie Parker Sextet [6]-Bongo Beep (take 2) [Dexterity] [G].mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 72,
+ "title" : "Booty Call (C-Loz Mix)",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1057,
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Booty Call (C-Loz Mix)",
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Rap"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/03-Booty Call (C-Loz Mix).mp3"
+ },
+ {
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Bounty Killer - To Kill",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VA"
+ ],
+ "title" : "Bounty Killer - To Kill",
+ "album" : "Gangsta Rock",
+ "songid" : 1244,
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/03-Bounty Killer - To Kill.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 24
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/03-Call on You.mp3",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 24,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Call on You",
+ "songid" : 233,
+ "album" : "Sounds from the Burning Spear",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Call on You",
+ "albumartist" : [
+ "Burning Spear"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Campanitas De Cristal",
+ "albumartist" : [
+ "P←rez Prado"
+ ],
+ "songid" : 1483,
+ "title" : "Campanitas De Cristal",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "albumid" : 197,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 191
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/03-P←rez Prado-Campanitas De Cristal.mp3",
+ "displayartist" : "P←rez Prado",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "artistid" : [
+ 191
+ ],
+ "disc" : 0,
+ "artist" : [
+ "P←rez Prado"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "John Pitman",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/03-John Pitman-Country Walk.mp3",
+ "albumartistid" : [
+ 138
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Pitman"
+ ],
+ "artistid" : [
+ 138
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "title" : "Country Walk",
+ "album" : "Zentiva--Muzica de relaxare",
+ "songid" : 1422,
+ "albumartist" : [
+ "John Pitman"
+ ],
+ "label" : "Country Walk",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 144
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 22,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1995,
+ "rating" : 0,
+ "title" : "Credo",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "songid" : 191,
+ "label" : "Credo",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "artistid" : [
+ 22
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/03-Credo.mp3",
+ "albumartistid" : [
+ 22
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bruckner. Anton"
+ },
+ {
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Cut It Out",
+ "album" : "Onie's Country Boppers",
+ "title" : "Cut It Out",
+ "songid" : 923,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 66,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/03-Cut It Out.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 63
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/03-Dance of the Minor Thirds.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Dance of the Minor Thirds",
+ "songid" : 1379,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dance of the Minor Thirds",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137
+ },
+ {
+ "title" : "Dance With Me",
+ "album" : "Legends of Soul: The Drifters",
+ "songid" : 1132,
+ "label" : "Dance With Me",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 77,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/03-Dance With Me.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 74
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "track" : 3
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/03-Dark Waters.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "artist" : [
+ "Brian Eno"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "label" : "Dark Waters",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Dark Waters",
+ "album" : "More Music For Films",
+ "songid" : 170,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 21,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Death For Techno",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 117,
+ "label" : "Death For Techno",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 15,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/03-Death For Techno.mp3",
+ "albumartistid" : [
+ 15
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys",
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 3
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 78,
+ "album" : "Riot In The Hive Mind",
+ "title" : "Death To The Liars In The Idiot Box",
+ "songid" : 1150,
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "label" : "Death To The Liars In The Idiot Box",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "artist" : [
+ "the Faeries"
+ ],
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/03-Death To The Liars In The Idiot Box.mp3",
+ "albumartistid" : [
+ 75
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/03-der Mond ist aufgegangen.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "artist" : [
+ "Music Kids"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 3,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "album" : "die schönsten Kinderlieder",
+ "title" : "der Mond ist aufgegangen",
+ "songid" : 905,
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "label" : "der Mond ist aufgegangen",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 65
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/03-Dialogue #2.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 51,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1976,
+ "album" : "1976 - Strawberry Cake",
+ "title" : "Dialogue #2",
+ "songid" : 661,
+ "label" : "Dialogue #2",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ]
+ },
+ {
+ "title" : "Dialogue #2",
+ "songid" : 681,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #2",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 53,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/03-Dialogue #2.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 3
+ },
+ {
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/03-Die Reise beginnt.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 57,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Die Reise beginnt",
+ "title" : "Die Reise beginnt",
+ "album" : "Tavernengeflüster",
+ "songid" : 755
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Green, Lloyd",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 43
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/03-Drifters Polka.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "artistid" : [
+ 43
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "title" : "Drifters Polka",
+ "songid" : 532,
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Drifters Polka",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 43
+ },
+ {
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/03-Dropout.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "artist" : [
+ "Cockpunch"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dropout",
+ "songid" : 293,
+ "title" : "Dropout",
+ "album" : "Attack!",
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 27,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/03-Er ist mein Gott, und ich will bereiten ihm eine Wohnung.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "songid" : 885,
+ "title" : "Er ist mein Gott, und ich will bereiten ihm eine Wohnung",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "label" : "Er ist mein Gott, und ich will bereiten ihm eine Wohnung",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 64,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/03-Fist Fucking Enema.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "label" : "Fist Fucking Enema",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Xenophilism",
+ "title" : "Fist Fucking Enema",
+ "songid" : 329,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 30,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Flashing My Whip",
+ "songid" : 1187,
+ "album" : "The Righful Ruler (Disc 2)",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Flashing My Whip",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 80,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/03-Flashing My Whip.mp3",
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 3,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 227,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "songid" : 1660,
+ "title" : "Flute Solo",
+ "album" : "Raise The Red Lantern",
+ "label" : "Flute Solo",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/03-Flute Solo.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping"
+ },
+ {
+ "label" : "Good Rockin' Daddy",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "title" : "Good Rockin' Daddy",
+ "songid" : 464,
+ "album" : "Best of the Modern Years, (The)",
+ "albumid" : 39,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/03-Good Rockin' Daddy.mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Etta James"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/03-CBS Orch-Gunsmoke.mp3",
+ "albumartistid" : [
+ 200
+ ],
+ "thumbnail" : "",
+ "displayartist" : "CBS Orch",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 3,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "CBS Orch"
+ ],
+ "artistid" : [
+ 200
+ ],
+ "label" : "Gunsmoke",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "CBS Orch"
+ ],
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "title" : "Gunsmoke",
+ "songid" : 1492,
+ "albumid" : 206,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/03-Hab Mi Gern.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "artistid" : [
+ 55
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Hab Mi Gern",
+ "title" : "Hab Mi Gern",
+ "album" : "Kottans Kapelle",
+ "songid" : 775,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 58,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 42,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Galactic"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Heart Of Steel (feat. Irma Thomas)",
+ "songid" : 516,
+ "title" : "Heart Of Steel (feat. Irma Thomas)",
+ "album" : "Ya-Ka-May",
+ "track" : 3,
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 42
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/03-Heart Of Steel (feat. Irma Thomas).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "songid" : 962,
+ "title" : "homo sexual",
+ "album" : "depravada sexual",
+ "albumartist" : [
+ "pigto"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "homo sexual",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/03-homo sexual.mp3",
+ "artistid" : [
+ 65
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "track" : 3,
+ "genre" : [
+ "porno grind"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/03-I am the Cider Drinker.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "label" : "I am the Cider Drinker",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "title" : "I am the Cider Drinker",
+ "songid" : 1622,
+ "album" : "The Fat of the Band",
+ "albumid" : 225,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/03-I Want to Walk You Home (1959).mp3",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "artistid" : [
+ 40
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Want to Walk You Home (1959)",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "title" : "I Want to Walk You Home (1959)",
+ "album" : "I'm Walking",
+ "songid" : 482,
+ "albumid" : 40,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "artistid" : [
+ 45
+ ],
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/03-I Won't Plead No More.mp3",
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 45,
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "I Won't Plead No More",
+ "album" : "Here's James Brown",
+ "songid" : 571,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Won't Plead No More",
+ "albumartist" : [
+ "James Brown"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/03-I've Got a Date.mp3",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "title" : "I've Got a Date",
+ "album" : "My Time Is The Right Time",
+ "songid" : 22,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I've Got a Date",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 8
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/03-Iceberg.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "label" : "Iceberg",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "title" : "Iceberg",
+ "album" : "The Entity",
+ "songid" : 98,
+ "albumid" : 13,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/03-If Heartaches are a Fashion.mp3",
+ "artistid" : [
+ 47
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 3,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "album" : "Love Letters",
+ "title" : "If Heartaches are a Fashion",
+ "songid" : 606,
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "If Heartaches are a Fashion",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 47
+ },
+ {
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "title" : "ILL",
+ "songid" : 1642,
+ "album" : "Wildabeast",
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 3,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/03-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 25,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Instructievogel 2",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "album" : "De Muziekfabriek",
+ "title" : "Instructievogel 2",
+ "songid" : 251,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/03-Instructievogel 2.mp3",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 231,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1989,
+ "title" : "INTO BLUE (Stage 2 ''Sea Colony'')",
+ "songid" : 1734,
+ "album" : "プラスアルファ",
+ "label" : "INTO BLUE (Stage 2 ''Sea Colony'')",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "genreid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "ジャレコ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/03-INTO BLUE (Stage 2 ''Sea Colony'').mp3",
+ "albumartistid" : [
+ 223
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ"
+ },
+ {
+ "albumid" : 81,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Irish Washerwoman",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "songid" : 1205,
+ "title" : "Irish Washerwoman",
+ "album" : "Atlantica",
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 78
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/03-Irish Washerwoman.mp3",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "It Came Upon a Midnight Clear",
+ "title" : "It Came Upon a Midnight Clear",
+ "album" : "Have Yourself a Merry Little Christma",
+ "songid" : 1168,
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/03-It Came Upon a Midnight Clear.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ]
+ },
+ {
+ "albumartist" : [
+ "Arlette Zola"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Je Suis Folle De T'aimer Tant",
+ "album" : "Swinging Mademoiselles",
+ "title" : "Je Suis Folle De T'aimer Tant",
+ "songid" : 1449,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 167,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Arlette Zola",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 161
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/03-Arlette Zola-Je Suis Folle De T'aimer Tant.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 161
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Arlette Zola"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ]
+ },
+ {
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/03-Le Rituel.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Le Rituel",
+ "title" : "Le Rituel",
+ "songid" : 736,
+ "album" : "L' Africana",
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 56,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/03-Le rituel.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "title" : "Le rituel",
+ "songid" : 1678,
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Le rituel",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 228
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 9,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1978,
+ "title" : "Les Barricades mystérieuses (F. Couperin)",
+ "songid" : 41,
+ "album" : "Tarentule - Taren",
+ "label" : "Les Barricades mystérieuses (F. Couperin)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/03-Les Barricades mystérieuses (F. Couperin).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/03-Macedonia - Part 4.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 3,
+ "title" : "Macedonia - Part 4",
+ "songid" : 62,
+ "album" : "Royal Greek Festival Company",
+ "label" : "Macedonia - Part 4",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 10,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000
+ },
+ {
+ "songid" : 367,
+ "title" : "Meditation",
+ "album" : "Wegzeichen",
+ "label" : "Meditation",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 32,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/03-Meditation.mp3",
+ "albumartistid" : [
+ 32
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "artist" : [
+ "Dauner"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 3
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../03-Mål I Mun.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 3,
+ "album" : "Med Anledning Av..",
+ "title" : "Mål I Mun",
+ "songid" : 1114,
+ "label" : "Mål I Mun",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "album" : "Three Things At Once",
+ "title" : "Need To Kill",
+ "songid" : 386,
+ "label" : "Need To Kill",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 34,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/03-Need To Kill.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 3
+ },
+ {
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/03-No. 4.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "No. 4",
+ "songid" : 273,
+ "title" : "No. 4",
+ "album" : "Children's Songs (SHM)",
+ "year" : 1984,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 26,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "label" : "Odss and Evens Snippet",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "album" : "Best of Defari",
+ "title" : "Odss and Evens Snippet",
+ "songid" : 421,
+ "albumid" : 36,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/03-Odss and Evens Snippet.mp3",
+ "albumartistid" : [
+ 36
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "artist" : [
+ "DJ Revolution"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "label" : "On The Hunt",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "On The Hunt",
+ "songid" : 211,
+ "album" : "Evolution Through Revolution",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 23,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/03-On The Hunt.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 2014,
+ "rating" : 0,
+ "albumid" : 132,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Platters, The"
+ ],
+ "label" : "Only You (And You Alone)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Only You (And You Alone)",
+ "songid" : 1355,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Platters, The"
+ ],
+ "artistid" : [
+ 127
+ ],
+ "genreid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Platters, The",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/03-Platters, The-Only You (And You Alone).mp3",
+ "albumartistid" : [
+ 127
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 3,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/03-PONS Rumänisch - Track 04.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "title" : "PONS Rumänisch - Track 04",
+ "songid" : 982,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "label" : "PONS Rumänisch - Track 04",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "PONS"
+ ]
+ },
+ {
+ "artistid" : [
+ 16
+ ],
+ "disc" : 0,
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/03-Pornstorestiffi.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 16,
+ "title" : "Pornstorestiffi",
+ "album" : "Cunt",
+ "songid" : 135,
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Pornstorestiffi"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Warren Storm",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/03-Warren Storm-Prisoner Song.mp3",
+ "albumartistid" : [
+ 160
+ ],
+ "artist" : [
+ "Warren Storm"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 160
+ ],
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 3,
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "songid" : 1448,
+ "title" : "Prisoner Song",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "albumartist" : [
+ "Warren Storm"
+ ],
+ "label" : "Prisoner Song",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 166
+ },
+ {
+ "album" : "Loco Live (CD 1)",
+ "title" : "Psycho Therapy",
+ "songid" : 1019,
+ "label" : "Psycho Therapy",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 70,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/03-Psycho Therapy.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Ramones"
+ ],
+ "artistid" : [
+ 67
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 3
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 100,
+ "title" : "Railroad Bill - Etta Baker",
+ "album" : "Appalachian Breakdown",
+ "songid" : 1300,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Railroad Bill - Etta Baker",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/03-Railroad Bill - Etta Baker.mp3"
+ },
+ {
+ "albumartist" : [
+ "John Powell"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Read To Me",
+ "songid" : 625,
+ "title" : "Read To Me",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 49,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/03-Read To Me.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ]
+ },
+ {
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/03-Reel - Bean a Tí ar Lár.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 224,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - Bean a Tí ar Lár",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Bean a Tí ar Lár",
+ "songid" : 1565
+ },
+ {
+ "songid" : 1076,
+ "title" : "Salty Dog Blues",
+ "album" : "Barn Burners",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Salty Dog Blues",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 73,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/03-Salty Dog Blues.mp3",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "artistid" : [
+ 70
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 3
+ },
+ {
+ "album" : "Juniorville 20",
+ "title" : "scalextric",
+ "songid" : 1094,
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "label" : "scalextric",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "albumid" : 74,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/03-scalextric.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 3,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartistid" : [
+ 214
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/03-Slimane et les maramouches.mp3",
+ "displayartist" : "Vladimir Cosma",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 214
+ ],
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Slimane et les maramouches",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "songid" : 1531,
+ "title" : "Slimane et les maramouches",
+ "album" : "Les aventures de Rabbi Jacob",
+ "albumid" : 222,
+ "rating" : 0,
+ "year" : 1973,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "album" : "Alb",
+ "title" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 4",
+ "songid" : 1548,
+ "label" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 4",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 223,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1980,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/03-Telemann: Sonata in G major (Tafelmusik III No. 5) - 4.mp3",
+ "albumartistid" : [
+ 215
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 215
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 3
+ },
+ {
+ "albumid" : 11,
+ "year" : 1997,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "That Certain Party",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "title" : "That Certain Party",
+ "songid" : 81,
+ "album" : "The Very Best of Bent Fabric",
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 11
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/03-That Certain Party.mp3",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 50,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Troubador",
+ "songid" : 643,
+ "title" : "The Troubador",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "track" : 3,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/03-The Troubador.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumid" : 54,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Troubadour",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "songid" : 700,
+ "title" : "The Troubadour",
+ "album" : "The Fabulous Johnny Cash",
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/03-The Troubadour.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Troubadour",
+ "songid" : 718,
+ "title" : "The Troubadour",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 55,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/03-The Troubadour.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 52
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ]
+ },
+ {
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/03-The Trumpet - LIFELINE.mp3",
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "artistid" : [
+ 64
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Trumpet - LIFELINE",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "songid" : 941,
+ "title" : "The Trumpet - LIFELINE",
+ "album" : "Ten Minutes Older",
+ "albumid" : 67,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/03-Tocata 4.mp3",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tocata 4",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "title" : "Tocata 4",
+ "songid" : 552,
+ "album" : "Tocates valencianes",
+ "albumid" : 44,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "rating" : 0,
+ "year" : 1991,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 2,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Henry Hayes"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tokyo Blues",
+ "title" : "Tokyo Blues",
+ "album" : "Kangaroo Shuffle",
+ "songid" : 5,
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 2
+ ],
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "displayartist" : "Henry Hayes",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 2
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/03-Henry Hayes-Tokyo Blues.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Track04 MOZART Fantaisie KV 475",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "songid" : 793,
+ "title" : "Track04 MOZART Fantaisie KV 475",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 3,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/03-Track04 MOZART Fantaisie KV 475.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 3,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/03-Treat Me Mean Treat Me Cruel.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 28,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Treat Me Mean Treat Me Cruel",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "title" : "Treat Me Mean Treat Me Cruel",
+ "songid" : 311,
+ "album" : "The Great Conway Twitty"
+ },
+ {
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 3,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "VARIOS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/03-TYULIPPU.mp3",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 96,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "TYULIPPU",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "songid" : 1262,
+ "title" : "TYULIPPU",
+ "album" : "AKATIAN NO TAMENO"
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 3,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/03-Weißes Rauschen.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 35,
+ "title" : "Weißes Rauschen",
+ "songid" : 407,
+ "album" : "Zurück Zum Glück",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Weißes Rauschen"
+ },
+ {
+ "displayartist" : "Jay-Z",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/03-Whatmore - What More.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "genre" : [],
+ "lyrics" : "",
+ "artistid" : [
+ 46
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Whatmore - What More",
+ "album" : "The Black Chronic",
+ "title" : "Whatmore - What More",
+ "songid" : 589,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 46,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "artist" : [
+ "Les Paul"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 57
+ ],
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 3,
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/03-Les Paul-Whispering.mp3",
+ "albumartistid" : [
+ 57
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 60,
+ "songid" : 828,
+ "title" : "Whispering",
+ "album" : "This Is Gold D1 of 3",
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "label" : "Whispering",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "track" : 3,
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "artistid" : [
+ 41
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/03-You Make Me Feel So Young.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "albumid" : 41,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "You Make Me Feel So Young",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "You Make Me Feel So Young",
+ "album" : "Blue Skies",
+ "songid" : 500
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "artistid" : [
+ 221
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/03-бяш, яюър чрсюђ эх чэрхјќ.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 229,
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "title" : "бяш, яюър чрсюђ эх чэрхјќ",
+ "songid" : 1697,
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "бяш, яюър чрсюђ эх чэрхјќ"
+ },
+ {
+ "songid" : 1753,
+ "title" : "ゆめみるこねこのおはなし",
+ "album" : "ピアノスタディ1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ゆめみるこねこのおはなし",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/03-ゆめみるこねこのおはなし.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 3
+ },
+ {
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "アイアイ・アイスクリーム",
+ "songid" : 1790,
+ "title" : "アイアイ・アイスクリーム",
+ "album" : "おかあさんといっしょ コロンパッ",
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/03-アイアイ・アイスクリーム.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 3,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artistid" : [
+ 225
+ ],
+ "disc" : 0,
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ]
+ },
+ {
+ "title" : "ポップンポップコーン",
+ "album" : "おいしいうた・いただきまーす・",
+ "songid" : 1239,
+ "albumartist" : [
+ "速水けんたろう、茂森あゆみ"
+ ],
+ "label" : "ポップンポップコーン",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 94,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "速水けんたろう、茂森あゆみ",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/03-速水けんたろう、茂森あゆみ-ポップンポップコーン.mp3",
+ "albumartistid" : [
+ 89
+ ],
+ "artistid" : [
+ 89
+ ],
+ "disc" : 0,
+ "artist" : [
+ "速水けんたろう、茂森あゆみ"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 3,
+ "genre" : [],
+ "lyrics" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 4,
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/04-05 - El fumanchero (En vivo).mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 31,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "05 - El fumanchero (En vivo)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "songid" : 351,
+ "title" : "05 - El fumanchero (En vivo)",
+ "album" : "EN VIVO EN PARAGUAY"
+ },
+ {
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/04-05 How Long, How Long Blues.mp3",
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "05 How Long, How Long Blues",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "songid" : 1040,
+ "title" : "05 How Long, How Long Blues",
+ "album" : "Legend (Disk 2)",
+ "albumid" : 71,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "5 Marienvesper - Antiphon - Laeva ejus",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "title" : "5 Marienvesper - Antiphon - Laeva ejus",
+ "songid" : 866,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 4,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/04-5 Marienvesper - Antiphon - Laeva ejus.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 38,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "A la Vôtre",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "title" : "A la Vôtre",
+ "songid" : 444,
+ "album" : "World of Shit",
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 4,
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/04-A la Vôtre.mp3",
+ "albumartistid" : [
+ 38
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "title" : "Allegretto No. 10 from Suzuki Violin School, Vol. 1",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1380,
+ "label" : "Allegretto No. 10 from Suzuki Violin School, Vol. 1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/04-Allegretto No. 10 from Suzuki Violin School, Vol. 1.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various"
+ },
+ {
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "artistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/04-Alles Wird Vorübergehen.mp3",
+ "albumartistid" : [
+ 35
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Die Toten Hosen",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 35,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Alles Wird Vorübergehen",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "title" : "Alles Wird Vorübergehen",
+ "songid" : 408,
+ "album" : "Zurück Zum Glück"
+ },
+ {
+ "albumid" : 62,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Ball de la Momeroteta",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "songid" : 849,
+ "title" : "Ball de la Momeroteta",
+ "album" : "Tocs i Músiques de Les Santes",
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 59
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Santes"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/04-Ball de la Momeroteta.mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 221,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1511,
+ "title" : "Believe",
+ "album" : "Chinese Pornography",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Believe",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/04-Believe.mp3",
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : ""
+ },
+ {
+ "albumid" : 231,
+ "rating" : 0,
+ "year" : 1989,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "BIRD ISLAND (Stage 3 ''Flower Town'')",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "album" : "プラスアルファ",
+ "title" : "BIRD ISLAND (Stage 3 ''Flower Town'')",
+ "songid" : 1735,
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ジャレコ"
+ ],
+ "artistid" : [
+ 223
+ ],
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/04-BIRD ISLAND (Stage 3 ''Flower Town'').mp3",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/04-Blazen op een telescoop.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Blazen op een telescoop",
+ "title" : "Blazen op een telescoop",
+ "songid" : 252,
+ "album" : "De Muziekfabriek",
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ramones"
+ ],
+ "artistid" : [
+ 67
+ ],
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/04-Blitzkrieg Bop.mp3",
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 70,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Blitzkrieg Bop",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "title" : "Blitzkrieg Bop",
+ "songid" : 1020,
+ "album" : "Loco Live (CD 1)"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/04-Carl Perkins-Blue Suede Shoes.mp3",
+ "albumartistid" : [
+ 113
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Carl Perkins",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "track" : 4,
+ "genreid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Carl Perkins"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 113
+ ],
+ "label" : "Blue Suede Shoes",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Carl Perkins"
+ ],
+ "title" : "Blue Suede Shoes",
+ "songid" : 1340,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "albumid" : 117,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2014,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "artistid" : [
+ 131
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/04-Original Charlie Parker Sextet [6]-Bongo Beep (take 3) [master] [Habanera Mambobop] [Bird Feathers] [G].mp3",
+ "albumartistid" : [
+ 131
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 136,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1947,
+ "rating" : 0,
+ "title" : "Bongo Beep (take 3) [master] [Habanera Mambobop] [Bird Feathers] [G]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "songid" : 1371,
+ "label" : "Bongo Beep (take 3) [master] [Habanera Mambobop] [Bird Feathers] [G]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 13
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/04-Carla and Jerry.mp3",
+ "displayartist" : "Bernstein, Charles",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 13
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Carla and Jerry",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "album" : "The Entity",
+ "title" : "Carla and Jerry",
+ "songid" : 99,
+ "albumid" : 13,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumid" : 39,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Crazy Feeling (Aka Doin' Somethin' Crazy)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "songid" : 465,
+ "title" : "Crazy Feeling (Aka Doin' Somethin' Crazy)",
+ "album" : "Best of the Modern Years, (The)",
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "track" : 4,
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 39
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Etta James"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/04-Crazy Feeling (Aka Doin' Somethin' Crazy).mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 10,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Crete - Part 1",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "title" : "Crete - Part 1",
+ "album" : "Royal Greek Festival Company",
+ "songid" : 63,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/04-Crete - Part 1.mp3",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 81,
+ "songid" : 1206,
+ "title" : "Danny Boy",
+ "album" : "Atlantica",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Danny Boy",
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 4,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/04-Danny Boy.mp3"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/04-de Buxtehude · Ritornello Tarentella Neapoli (Anonyme) · Lae.mp3",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 9,
+ "rating" : 0,
+ "year" : 1978,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "de Buxtehude · Ritornello Tarentella Neapoli (Anonyme) · Lae",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "songid" : 42,
+ "title" : "de Buxtehude · Ritornello Tarentella Neapoli (Anonyme) · Lae",
+ "album" : "Tarentule - Taren"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/04-der Sandmann ist da.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 62
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "label" : "der Sandmann ist da",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "songid" : 906,
+ "title" : "der Sandmann ist da",
+ "album" : "die schönsten Kinderlieder",
+ "albumid" : 65,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "diarrea cerebral",
+ "albumartist" : [
+ "pigto"
+ ],
+ "title" : "diarrea cerebral",
+ "songid" : 963,
+ "album" : "depravada sexual",
+ "albumid" : 68,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/04-diarrea cerebral.mp3",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "porno grind"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "artistid" : [
+ 65
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Kottans Kapelle",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/04-Die Ordnung in Wien.mp3",
+ "albumartistid" : [
+ 55
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [],
+ "lyrics" : "",
+ "artistid" : [
+ 55
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "label" : "Die Ordnung in Wien",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Kottans Kapelle",
+ "title" : "Die Ordnung in Wien",
+ "songid" : 776,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 58,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/04-Die Tiefe deckte sie.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 64,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "title" : "Die Tiefe deckte sie",
+ "songid" : 886,
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "label" : "Die Tiefe deckte sie",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ]
+ },
+ {
+ "albumid" : 73,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Dixie",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "title" : "Dixie",
+ "album" : "Barn Burners",
+ "songid" : 1077,
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 4,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/04-Dixie.mp3",
+ "albumartistid" : [
+ 70
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "title" : "Do Heroes Dream",
+ "album" : "Zentiva--Muzica de relaxare",
+ "songid" : 1416,
+ "albumartist" : [
+ "Dean Landon, Anika Paris"
+ ],
+ "label" : "Do Heroes Dream",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "albumid" : 140,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Dean Landon, Anika Paris",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/04-Dean Landon, Anika Paris-Do Heroes Dream.mp3",
+ "albumartistid" : [
+ 134
+ ],
+ "artist" : [
+ "Dean Landon, Anika Paris"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 134
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 225,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "label" : "Dungeon Master",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "The Fat of the Band",
+ "title" : "Dungeon Master",
+ "songid" : 1623,
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/04-Dungeon Master.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "Jay-Z"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/04-Encore - Encore.mp3",
+ "displayartist" : "Jay-Z",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 46,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 590,
+ "title" : "Encore - Encore",
+ "album" : "The Black Chronic",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Encore - Encore",
+ "albumartist" : [
+ "Jay-Z"
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/04-Ethiopians.mp3",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 24,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Ethiopians",
+ "songid" : 234,
+ "album" : "Sounds from the Burning Spear",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ethiopians",
+ "albumartist" : [
+ "Burning Spear"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 34,
+ "title" : "Face Down Dead",
+ "album" : "Three Things At Once",
+ "songid" : 387,
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Face Down Dead",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 4,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/04-Face Down Dead.mp3",
+ "albumartistid" : [
+ 34
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 23,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "songid" : 212,
+ "title" : "Fist In Mouth",
+ "album" : "Evolution Through Revolution",
+ "label" : "Fist In Mouth",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/04-Fist In Mouth.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/04-Funny Bunny.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "artistid" : [
+ 43
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 4,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "title" : "Funny Bunny",
+ "songid" : 533,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Funny Bunny",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 43
+ },
+ {
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/04-Fuseli.mp3",
+ "displayartist" : "Brian Eno",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "artistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Fuseli",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "songid" : 171,
+ "title" : "Fuseli",
+ "album" : "More Music For Films",
+ "albumid" : 21,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 4,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/04-Fête rue de rosiers.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 222,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1973,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Fête rue de rosiers",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "album" : "Les aventures de Rabbi Jacob",
+ "title" : "Fête rue de rosiers",
+ "songid" : 1532
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/04-GHBAC.mp3",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "artistid" : [
+ 27
+ ],
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "songid" : 294,
+ "title" : "GHBAC",
+ "album" : "Attack!",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "GHBAC",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 27,
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "label" : "Gushy Gushy",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "album" : "Buckets And Booty Calls",
+ "title" : "Gushy Gushy",
+ "songid" : 1058,
+ "albumid" : 72,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/04-Gushy Gushy.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 69
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/04-Headfuck Oral Sex.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "title" : "Headfuck Oral Sex",
+ "album" : "Xenophilism",
+ "songid" : 330,
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "label" : "Headfuck Oral Sex",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 30
+ },
+ {
+ "songid" : 368,
+ "title" : "Heut ist der Tag, den der Herr gemacht",
+ "album" : "Wegzeichen",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Heut ist der Tag, den der Herr gemacht",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 32,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/04-Heut ist der Tag, den der Herr gemacht.mp3",
+ "artist" : [
+ "Dauner"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 4,
+ "genre" : [],
+ "lyrics" : ""
+ },
+ {
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/04-Hold My Baby's Hand.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "artist" : [
+ "James Brown"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "albumartist" : [
+ "James Brown"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Hold My Baby's Hand",
+ "title" : "Hold My Baby's Hand",
+ "album" : "Here's James Brown",
+ "songid" : 572,
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 45,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "label" : "Home",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Love Letters",
+ "title" : "Home",
+ "songid" : 607,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 47,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/04-Home.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "title" : "Hypocras",
+ "album" : "Tavernengeflüster",
+ "songid" : 756,
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Hypocras",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 57,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/04-Hypocras.mp3",
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ]
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/04-I Still Miss Someone.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 51,
+ "album" : "1976 - Strawberry Cake",
+ "title" : "I Still Miss Someone",
+ "songid" : 662,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Still Miss Someone"
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/04-I Still Miss Someone.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 53,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "title" : "I Still Miss Someone",
+ "songid" : 682,
+ "label" : "I Still Miss Someone",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ]
+ },
+ {
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "displayartist" : "Wildabeast",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 218
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/04-ILL.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 226,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ILL",
+ "album" : "Wildabeast",
+ "title" : "ILL",
+ "songid" : 1643
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/04-Jambalaya (1960).mp3",
+ "disc" : 0,
+ "artistid" : [
+ 40
+ ],
+ "artist" : [
+ "Fats Domino"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "track" : 4,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "songid" : 483,
+ "title" : "Jambalaya (1960)",
+ "album" : "I'm Walking",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Jambalaya (1960)",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 40
+ },
+ {
+ "albumid" : 2,
+ "rating" : 0,
+ "year" : 1991,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Kangaroo Parts 1 and 2",
+ "albumartist" : [
+ "Henry Hayes"
+ ],
+ "title" : "Kangaroo Parts 1 and 2",
+ "songid" : 6,
+ "album" : "Kangaroo Shuffle",
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "artistid" : [
+ 2
+ ],
+ "albumartistid" : [
+ 2
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/04-Henry Hayes-Kangaroo Parts 1 and 2.mp3",
+ "displayartist" : "Henry Hayes",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Christine Delaroche"
+ ],
+ "artistid" : [
+ 162
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 162
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/04-Christine Delaroche-La Porte A Cote.mp3",
+ "displayartist" : "Christine Delaroche",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 168,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1451,
+ "title" : "La Porte A Cote",
+ "album" : "Swinging Mademoiselles",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "La Porte A Cote",
+ "albumartist" : [
+ "Christine Delaroche"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/04-Lowlands.mp3",
+ "albumartistid" : [
+ 36
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "artistid" : [
+ 36
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 4,
+ "album" : "Best of Defari",
+ "title" : "Lowlands",
+ "songid" : 422,
+ "label" : "Lowlands",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 36,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/04-Martha Se Souvient - Thème Du Passé.mp3",
+ "albumartistid" : [
+ 53
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "title" : "Martha Se Souvient - Thème Du Passé",
+ "album" : "L' Africana",
+ "songid" : 737,
+ "label" : "Martha Se Souvient - Thème Du Passé",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 56,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990
+ },
+ {
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "label" : "Martha se souvient-Theme du passe",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Martha se souvient-Theme du passe",
+ "songid" : 1679,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 228,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/04-Martha se souvient-Theme du passe.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "artistid" : [
+ 220
+ ],
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumid" : 100,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Molly Brooks - Richard Chase",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "album" : "Appalachian Breakdown",
+ "title" : "Molly Brooks - Richard Chase",
+ "songid" : 1301,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/04-Molly Brooks - Richard Chase.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Dick Rasmini",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/04-Dick Rasmini-Mountian Breakdown.mp3",
+ "albumartistid" : [
+ 101
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dick Rasmini"
+ ],
+ "artistid" : [
+ 101
+ ],
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "title" : "Mountian Breakdown",
+ "album" : "Bluegrass Banjo",
+ "songid" : 1324,
+ "albumartist" : [
+ "Dick Rasmini"
+ ],
+ "label" : "Mountian Breakdown",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 105
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 99,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "3 Way Split CD",
+ "title" : "Never Give Up Killing!",
+ "songid" : 1295,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Never Give Up Killing!",
+ "albumartist" : [
+ "Modus Delicti"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Modus Delicti"
+ ],
+ "artistid" : [
+ 94
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 94
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/04-Modus Delicti-Never Give Up Killing!.mp3",
+ "displayartist" : "Modus Delicti",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1984,
+ "albumid" : 26,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "label" : "No. 5",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 274,
+ "title" : "No. 5",
+ "album" : "Children's Songs (SHM)",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/04-No. 5.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/04-norti.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Space Juniors"
+ ],
+ "artistid" : [
+ 71
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "label" : "norti",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "norti",
+ "songid" : 1095,
+ "album" : "Juniorville 20",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 74,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/04-On The Beach.mp3",
+ "albumartistid" : [
+ 77
+ ],
+ "thumbnail" : "",
+ "displayartist" : "U-Roy",
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "title" : "On The Beach",
+ "songid" : 1188,
+ "album" : "The Righful Ruler (Disc 2)",
+ "label" : "On The Beach",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 80,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2001,
+ "rating" : 0
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 148
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/04-Carol Fran-One More Chance.mp3",
+ "displayartist" : "Carol Fran",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 148
+ ],
+ "artist" : [
+ "Carol Fran"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "track" : 4,
+ "title" : "One More Chance",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "songid" : 1433,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "One More Chance",
+ "albumartist" : [
+ "Carol Fran"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 154,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/04-One More Ride.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 4,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "title" : "One More Ride",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "songid" : 644,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "One More Ride",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 50
+ },
+ {
+ "albumid" : 54,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "One More Ride",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "One More Ride",
+ "album" : "The Fabulous Johnny Cash",
+ "songid" : 701,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/04-One More Ride.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/04-One More Ride.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "artistid" : [
+ 52
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "label" : "One More Ride",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "One More Ride",
+ "songid" : 719,
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "albumid" : 55,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 16,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 136,
+ "title" : "Pissingcontest",
+ "album" : "Cunt",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Pissingcontest",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ],
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/04-Pissingcontest.mp3",
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/04-PONS Rumänisch - Track 05.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 05",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "PONS Rumänisch - Track 05",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 983,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 69,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 78,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "label" : "Rape Elvis' Skeleton",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Rape Elvis' Skeleton",
+ "songid" : 1151,
+ "album" : "Riot In The Hive Mind",
+ "track" : 4,
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/04-Rape Elvis' Skeleton.mp3",
+ "albumartistid" : [
+ 75
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - Bonnie Kate",
+ "songid" : 1566,
+ "title" : "Reel - Bonnie Kate",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/04-Reel - Bonnie Kate.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ]
+ },
+ {
+ "album" : "Blue Skies",
+ "title" : "S'wonderful",
+ "songid" : 501,
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "S'wonderful",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "albumid" : 41,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/04-S'wonderful.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "artistid" : [
+ 41
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 4,
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 22,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "title" : "Sanctus",
+ "songid" : 192,
+ "album" : "Oberösterreichische Kirchenmusik",
+ "label" : "Sanctus",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/04-Sanctus.mp3",
+ "albumartistid" : [
+ 22
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bruckner. Anton"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/04-Steppin' Out.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "label" : "Steppin' Out",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "title" : "Steppin' Out",
+ "songid" : 924,
+ "album" : "Onie's Country Boppers",
+ "albumid" : 66,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "title" : "Summertime",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1479,
+ "albumartist" : [
+ "Milt Rogers"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Summertime",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 193,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Milt Rogers",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 187
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/04-Milt Rogers-Summertime.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 187
+ ],
+ "artist" : [
+ "Milt Rogers"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/04-Tai Moi Chai.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "artistid" : [
+ 49
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "album" : "Gigli (Original Motion Picture Score)",
+ "title" : "Tai Moi Chai",
+ "songid" : 626,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tai Moi Chai",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 49,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "album" : "Med Anledning Av..",
+ "title" : "Talande Tystnad",
+ "songid" : 1115,
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Talande Tystnad",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 75,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../04-Talande Tystnad.mp3",
+ "artistid" : [
+ 72
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1978,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "title" : "Tarentella Neapoli Tonum Phrygium · D'après une basse obstinée",
+ "album" : "Tarentule - Taren",
+ "songid" : 43,
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tarentella Neapoli Tonum Phrygium · D'après une basse obstinée",
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/04-Tarentella Neapoli Tonum Phrygium · D'après une basse obstinée.mp3"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1980,
+ "albumid" : 223,
+ "title" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 5",
+ "songid" : 1549,
+ "album" : "Alb",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "label" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 5",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 215
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 4,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/04-Telemann: Sonata in G major (Tafelmusik III No. 5) - 5.mp3",
+ "albumartistid" : [
+ 215
+ ]
+ },
+ {
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tennessee Waltz",
+ "title" : "Tennessee Waltz",
+ "songid" : 839,
+ "album" : "This Is Gold D1 of 3",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 61,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Les Paul & Mary Ford",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 58
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/04-Les Paul & Mary Ford-Tennessee Waltz.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "artistid" : [
+ 58
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ]
+ },
+ {
+ "albumartist" : [
+ "Hugo Mentenegro"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Good, The Bad And The Ugly",
+ "songid" : 1497,
+ "title" : "The Good, The Bad And The Ugly",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 211,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Hugo Mentenegro",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 205
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/04-Hugo Mentenegro-The Good, The Bad And The Ugly.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 205
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Hugo Mentenegro"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/04-The Happy Puppy.mp3",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "artistid" : [
+ 11
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 4,
+ "album" : "The Very Best of Bent Fabric",
+ "title" : "The Happy Puppy",
+ "songid" : 82,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Happy Puppy",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 11,
+ "year" : 1997,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 227,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Record",
+ "album" : "Raise The Red Lantern",
+ "title" : "The Record",
+ "songid" : 1661,
+ "track" : 4,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/04-The Record.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 4,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/04-The Trumpet - TEN THOUSAND YEARS OLDER.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 67,
+ "title" : "The Trumpet - TEN THOUSAND YEARS OLDER",
+ "album" : "Ten Minutes Older",
+ "songid" : 942,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Trumpet - TEN THOUSAND YEARS OLDER"
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 77,
+ "songid" : 1133,
+ "title" : "There Goes My Baby",
+ "album" : "Legends of Soul: The Drifters",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "There Goes My Baby",
+ "artistid" : [
+ 74
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "track" : 4,
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/04-There Goes My Baby.mp3"
+ },
+ {
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/04-Tocata 5.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 44,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "title" : "Tocata 5",
+ "songid" : 553,
+ "album" : "Tocates valencianes",
+ "label" : "Tocata 5",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59,
+ "title" : "Track05 BEETHOVEN Sonate op 81",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 794,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track05 BEETHOVEN Sonate op 81",
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/04-Track05 BEETHOVEN Sonate op 81.mp3"
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 28,
+ "album" : "The Great Conway Twitty",
+ "title" : "Turn The Other Cheek",
+ "songid" : 312,
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Turn The Other Cheek",
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Conway Twitty",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 28
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/04-Turn The Other Cheek.mp3"
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 9,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1978,
+ "album" : "Tarentule - Taren",
+ "title" : "tus",
+ "songid" : 44,
+ "label" : "tus",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/04-tus.mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua"
+ },
+ {
+ "label" : "TYO-TYO",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "title" : "TYO-TYO",
+ "songid" : 1263,
+ "album" : "AKATIAN NO TAMENO",
+ "albumid" : 96,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/04-TYO-TYO.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 4,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 91
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ]
+ },
+ {
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 90
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VA"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/04-Voice Mail - Get Crazy.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "title" : "Voice Mail - Get Crazy",
+ "songid" : 1245,
+ "album" : "Gangsta Rock",
+ "label" : "Voice Mail - Get Crazy",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VA"
+ ]
+ },
+ {
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/04-We Got The Bomb.mp3",
+ "albumartistid" : [
+ 15
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 15,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "title" : "We Got The Bomb",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 118,
+ "label" : "We Got The Bomb",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bleach Boys"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1987,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "title" : "We Three Kings",
+ "songid" : 1169,
+ "album" : "Have Yourself a Merry Little Christma",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "We Three Kings",
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "artistid" : [
+ 76
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 4,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/04-We Three Kings.mp3"
+ },
+ {
+ "artistid" : [
+ 17
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Adult Books"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 4,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Adult Books",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 17
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/04-Adult Books-Who Do You Know.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 17,
+ "songid" : 151,
+ "title" : "Who Do You Know",
+ "album" : "Live At The Firecracker Lounge",
+ "albumartist" : [
+ "Adult Books"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Who Do You Know"
+ },
+ {
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Why Birds Follow Spring",
+ "album" : "My Time Is The Right Time",
+ "title" : "Why Birds Follow Spring",
+ "songid" : 23,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 8,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/04-Why Birds Follow Spring.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 4,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/04-Wild Man (feat. Big Chief Bo Dillis).mp3",
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "artistid" : [
+ 42
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "track" : 4,
+ "title" : "Wild Man (feat. Big Chief Bo Dillis)",
+ "songid" : 517,
+ "album" : "Ya-Ka-May",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Wild Man (feat. Big Chief Bo Dillis)",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 42,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 229,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "title" : "Сюу ђхсџ фры",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "songid" : 1698,
+ "label" : "Сюу ђхсџ фры",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 4,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/04-Сюу ђхсџ фры.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр"
+ },
+ {
+ "title" : "そよそよの木の上で",
+ "songid" : 1791,
+ "album" : "おかあさんといっしょ コロンパッ",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "そよそよの木の上で",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/04-そよそよの木の上で.mp3",
+ "artistid" : [
+ 225
+ ],
+ "disc" : 0,
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 4,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "album" : "ピアノスタディ1",
+ "title" : "ぶんぶんぶん",
+ "songid" : 1754,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ぶんぶんぶん",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/04-ぶんぶんぶん.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 4
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 88
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/04-速水 けんたろう-朝ゴハンパン・ロックンロール.mp3",
+ "displayartist" : "速水 けんたろう",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 88
+ ],
+ "artist" : [
+ "速水 けんたろう"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 4,
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "朝ゴハンパン・ロックンロール",
+ "songid" : 1234,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "朝ゴハンパン・ロックンロール",
+ "albumartist" : [
+ "速水 けんたろう"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 93,
+ "rating" : 0,
+ "year" : 2002,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/04-缶詰.mp3",
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 4,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artistid" : [
+ 222
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "缶詰",
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "title" : "缶詰",
+ "songid" : 1717,
+ "album" : "アナーキー・ライブ",
+ "albumid" : 230,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/05-\"...oh well...\".mp3",
+ "albumartistid" : [
+ 19
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "genre" : [],
+ "lyrics" : "",
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 19
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "label" : "\"...oh well...\"",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 155,
+ "title" : "\"...oh well...\"",
+ "album" : "Live At The Firecracker Lounge",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 19,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumid" : 31,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "06 - Yo tengo una piedra (En v",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "title" : "06 - Yo tengo una piedra (En v",
+ "songid" : 352,
+ "album" : "EN VIVO EN PARAGUAY",
+ "genre" : [
+ "Salsa"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "artistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/05-06 - Yo tengo una piedra (En v.mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 71,
+ "title" : "06 C C Rider",
+ "album" : "Legend (Disk 2)",
+ "songid" : 1041,
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "label" : "06 C C Rider",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/05-06 C C Rider.mp3",
+ "albumartistid" : [
+ 68
+ ]
+ },
+ {
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/05-6 Marienvesper - Laudate pueri.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "label" : "6 Marienvesper - Laudate pueri",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "6 Marienvesper - Laudate pueri",
+ "songid" : 867,
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)"
+ },
+ {
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/05-405 Fridays.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 36,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "405 Fridays",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "album" : "Best of Defari",
+ "title" : "405 Fridays",
+ "songid" : 423
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 30,
+ "title" : "Abdominal Vaporization",
+ "album" : "Xenophilism",
+ "songid" : 331,
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Abdominal Vaporization",
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "track" : 5,
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/05-Abdominal Vaporization.mp3"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/05-Autumn.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "artistid" : [
+ 219
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "album" : "Raise The Red Lantern",
+ "title" : "Autumn",
+ "songid" : 1662,
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Autumn",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 227
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 42,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "songid" : 518,
+ "title" : "Bacchus (feat. Allen Toussaint)",
+ "album" : "Ya-Ka-May",
+ "label" : "Bacchus (feat. Allen Toussaint)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "genreid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 42
+ ],
+ "artist" : [
+ "Galactic"
+ ],
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/05-Bacchus (feat. Allen Toussaint).mp3",
+ "albumartistid" : [
+ 42
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Galactic"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/05-Benedictus.mp3",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "title" : "Benedictus",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "songid" : 193,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Benedictus",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 22,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/05-Beten.mp3",
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Beten",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "title" : "Beten",
+ "songid" : 409,
+ "album" : "Zurück Zum Glück",
+ "albumid" : 35,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "album" : "Gangsta Rock",
+ "title" : "Bling Dog - Fool",
+ "songid" : 1246,
+ "label" : "Bling Dog - Fool",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "VA"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/05-Bling Dog - Fool.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "track" : 5
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/05-Blümelein sie schlafen.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "artist" : [
+ "Music Kids"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "title" : "Blümelein sie schlafen",
+ "album" : "die schönsten Kinderlieder",
+ "songid" : 907,
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "label" : "Blümelein sie schlafen",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 65
+ },
+ {
+ "albumartistid" : [
+ 163
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/05-Christine Pilzer-Cafe Creme.mp3",
+ "displayartist" : "Christine Pilzer",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Christine Pilzer"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 163
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Cafe Creme",
+ "albumartist" : [
+ "Christine Pilzer"
+ ],
+ "songid" : 1452,
+ "title" : "Cafe Creme",
+ "album" : "Swinging Mademoiselles",
+ "albumid" : 169,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Camptown Races",
+ "title" : "Camptown Races",
+ "album" : "Barn Burners",
+ "songid" : 1078,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 73,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/05-Camptown Races.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [],
+ "artistid" : [
+ 70
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : []
+ },
+ {
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "label" : "Carla's Room Wrecked",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Carla's Room Wrecked",
+ "songid" : 100,
+ "album" : "The Entity",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "albumid" : 13,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/05-Carla's Room Wrecked.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "label" : "Change - Change Clothes",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "The Black Chronic",
+ "title" : "Change - Change Clothes",
+ "songid" : 591,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 46,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/05-Change - Change Clothes.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [],
+ "artistid" : [
+ 46
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "pigto"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "condilomas acuminados",
+ "songid" : 964,
+ "title" : "condilomas acuminados",
+ "album" : "depravada sexual",
+ "track" : 5,
+ "genre" : [
+ "porno grind"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 65
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/05-condilomas acuminados.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 1947,
+ "rating" : 0,
+ "albumid" : 136,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "label" : "Crazeology [Little Benny] (take 1) [G]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Crazeology [Little Benny] (take 1) [G]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "songid" : 1372,
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "artistid" : [
+ 131
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/05-Original Charlie Parker Sextet [6]-Crazeology [Little Benny] (take 1) [G].mp3",
+ "albumartistid" : [
+ 131
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 24,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "album" : "Sounds from the Burning Spear",
+ "title" : "Creation Rebel",
+ "songid" : 235,
+ "label" : "Creation Rebel",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/05-Creation Rebel.mp3",
+ "albumartistid" : [
+ 24
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Burning Spear"
+ },
+ {
+ "title" : "Crete - Part 2",
+ "songid" : 64,
+ "album" : "Royal Greek Festival Company",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Crete - Part 2",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 10,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/05-Crete - Part 2.mp3",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "artistid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 5
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 100,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Cripple Creek - Hobart Smith",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Appalachian Breakdown",
+ "title" : "Cripple Creek - Hobart Smith",
+ "songid" : 1302,
+ "track" : 5,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/05-Cripple Creek - Hobart Smith.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/05-Dear Hearts And Gentle People.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "songid" : 608,
+ "title" : "Dear Hearts And Gentle People",
+ "album" : "Love Letters",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "label" : "Dear Hearts And Gentle People",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 47
+ },
+ {
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Deine Rechte, o Herr, tut große, herrliche Wunder",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Deine Rechte, o Herr, tut große, herrliche Wunder",
+ "songid" : 887,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 64,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/05-Deine Rechte, o Herr, tut große, herrliche Wunder.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artistid" : [
+ 61
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #3",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "Dialogue #3",
+ "album" : "1976 - Strawberry Cake",
+ "songid" : 663,
+ "albumid" : 51,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/05-Dialogue #3.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/05-Dialogue #3.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 53,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 683,
+ "title" : "Dialogue #3",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #3",
+ "albumartist" : [
+ "Johnny Cash"
+ ]
+ },
+ {
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 70,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Do You Remember Rock N Roll Radio?",
+ "songid" : 1021,
+ "title" : "Do You Remember Rock N Roll Radio?",
+ "album" : "Loco Live (CD 1)",
+ "track" : 5,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 67
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ramones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/05-Do You Remember Rock N Roll Radio?.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "album" : "Chinese Pornography",
+ "title" : "Fragile",
+ "songid" : 1512,
+ "label" : "Fragile",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/05-Fragile.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 5
+ },
+ {
+ "title" : "Get A Therapist... Spare The World",
+ "album" : "Evolution Through Revolution",
+ "songid" : 213,
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "label" : "Get A Therapist... Spare The World",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 23,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/05-Get A Therapist... Spare The World.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "artistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/05-God Rest Ye Merry Gentlemen.mp3",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 79,
+ "year" : 1987,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1170,
+ "title" : "God Rest Ye Merry Gentlemen",
+ "album" : "Have Yourself a Merry Little Christma",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "God Rest Ye Merry Gentlemen",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ]
+ },
+ {
+ "albumid" : 225,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Golden Age",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "songid" : 1624,
+ "title" : "Golden Age",
+ "album" : "The Fat of the Band",
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 217
+ ],
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/05-Golden Age.mp3",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "label" : "GUENKOTSU YAMANO TANUKISAN",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "songid" : 1264,
+ "title" : "GUENKOTSU YAMANO TANUKISAN",
+ "album" : "AKATIAN NO TAMENO",
+ "albumid" : 96,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/05-GUENKOTSU YAMANO TANUKISAN.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 5,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "artistid" : [
+ 91
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/05-I Wonder If You Told Her About Me.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 5,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "label" : "I Wonder If You Told Her About Me",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "title" : "I Wonder If You Told Her About Me",
+ "songid" : 313,
+ "album" : "The Great Conway Twitty",
+ "albumid" : 28,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ed Bruce"
+ ],
+ "artistid" : [
+ 178
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 178
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/05-Ed Bruce-I'm Gonna Have A Party.mp3",
+ "displayartist" : "Ed Bruce",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 184,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "I'm Gonna Have A Party",
+ "songid" : 1470,
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I'm Gonna Have A Party",
+ "albumartist" : [
+ "Ed Bruce"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I'm Walking",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "songid" : 484,
+ "title" : "I'm Walking",
+ "album" : "I'm Walking",
+ "albumid" : 40,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/05-I'm Walking.mp3",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 40
+ ],
+ "artist" : [
+ "Fats Domino"
+ ]
+ },
+ {
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ijustfinishedsuckingoffmetalheadsinthemensurinals",
+ "songid" : 137,
+ "title" : "Ijustfinishedsuckingoffmetalheadsinthemensurinals",
+ "album" : "Cunt",
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 16,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/05-Ijustfinishedsuckingoffmetalheadsinthemensurinals.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/05-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "artistid" : [
+ 218
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "songid" : 1644,
+ "title" : "ILL",
+ "album" : "Wildabeast",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 226
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 34,
+ "songid" : 388,
+ "title" : "Into My Brain",
+ "album" : "Three Things At Once",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Into My Brain",
+ "artistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/05-Into My Brain.mp3"
+ },
+ {
+ "artist" : [
+ "Les Paul"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 57
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ],
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Les Paul",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 57
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/05-Les Paul-Josephine.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 60,
+ "title" : "Josephine",
+ "songid" : 829,
+ "album" : "This Is Gold D1 of 3",
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Josephine"
+ },
+ {
+ "album" : "Kottans Kapelle",
+ "title" : "Kieberei Zwo Drei",
+ "songid" : 777,
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Kieberei Zwo Drei",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 58,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/05-Kieberei Zwo Drei.mp3",
+ "artistid" : [
+ 55
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : []
+ },
+ {
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Easy Listening"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "artistid" : [
+ 41
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/05-Love Me Or Leave Me.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "albumid" : 41,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "Love Me Or Leave Me",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Blue Skies",
+ "title" : "Love Me Or Leave Me",
+ "songid" : 502
+ },
+ {
+ "album" : "Les aventures de Rabbi Jacob",
+ "title" : "Mariage noir et blanc",
+ "songid" : 1533,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "label" : "Mariage noir et blanc",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1973,
+ "albumid" : 222,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/05-Mariage noir et blanc.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 214
+ ],
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ]
+ },
+ {
+ "title" : "Meditation",
+ "album" : "Wegzeichen",
+ "songid" : 369,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Meditation",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 32,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/05-Meditation.mp3",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "Dauner"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 5
+ },
+ {
+ "title" : "Melancholy Waltz",
+ "songid" : 172,
+ "album" : "More Music For Films",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "label" : "Melancholy Waltz",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 21,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/05-Melancholy Waltz.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "artistid" : [
+ 21
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "artistid" : [
+ 78
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/05-Minstrel Boy.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 81,
+ "title" : "Minstrel Boy",
+ "album" : "Atlantica",
+ "songid" : 1207,
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Minstrel Boy"
+ },
+ {
+ "label" : "Mountian Stomp",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Art Podell"
+ ],
+ "album" : "Bluegrass Banjo",
+ "title" : "Mountian Stomp",
+ "songid" : 1319,
+ "albumid" : 102,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/05-Art Podell-Mountian Stomp.mp3",
+ "albumartistid" : [
+ 98
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Art Podell",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Art Podell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 98
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 49,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "John Powell"
+ ],
+ "label" : "Mum's Arse",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Mum's Arse",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "songid" : 627,
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "John Powell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/05-Mum's Arse.mp3",
+ "albumartistid" : [
+ 49
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "label" : "munchin'",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Juniorville 20",
+ "title" : "munchin'",
+ "songid" : 1096,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 74,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/05-munchin'.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "My Home is A Prison",
+ "songid" : 1444,
+ "albumartist" : [
+ "Lonesome Sundown"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "My Home is A Prison",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 163,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Lonesome Sundown",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 157
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/05-Lonesome Sundown-My Home is A Prison.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Lonesome Sundown"
+ ],
+ "artistid" : [
+ 157
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ]
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/05-No. 6.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1984,
+ "title" : "No. 6",
+ "songid" : 275,
+ "album" : "Children's Songs (SHM)",
+ "label" : "No. 6",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Chick Corea"
+ ]
+ },
+ {
+ "artistid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "track" : 5,
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/05-N°2.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38,
+ "title" : "N°2",
+ "songid" : 445,
+ "album" : "World of Shit",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "N°2"
+ },
+ {
+ "albumid" : 151,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Old Covered Bridge B",
+ "albumartist" : [
+ "Sandra M. Levy, John J. Hayes"
+ ],
+ "title" : "Old Covered Bridge B",
+ "album" : "Zentiva--Muzica de relaxare",
+ "songid" : 1430,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Sandra M. Levy, John J. Hayes"
+ ],
+ "artistid" : [
+ 145
+ ],
+ "albumartistid" : [
+ 145
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/05-Sandra M. Levy, John J. Hayes-Old Covered Bridge B.mp3",
+ "displayartist" : "Sandra M. Levy, John J. Hayes",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 80,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "On Top Of The Peak",
+ "songid" : 1189,
+ "title" : "On Top Of The Peak",
+ "album" : "The Righful Ruler (Disc 2)",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "artistid" : [
+ 77
+ ],
+ "disc" : 0,
+ "artist" : [
+ "U-Roy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/05-On Top Of The Peak.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "track" : 5,
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/05-Ontdekking von muziekinstrumenten.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 25,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Ontdekking von muziekinstrumenten",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "songid" : 253,
+ "title" : "Ontdekking von muziekinstrumenten",
+ "album" : "De Muziekfabriek"
+ },
+ {
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/05-PONS Rumänisch - Track 06.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "albumartist" : [
+ "PONS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "PONS Rumänisch - Track 06",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 06",
+ "songid" : 984,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 69,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 44,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "songid" : 554,
+ "title" : "Quinto aixeca't",
+ "album" : "Tocates valencianes",
+ "label" : "Quinto aixeca't",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/05-Quinto aixeca't.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\""
+ },
+ {
+ "title" : "Red Eye",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "songid" : 534,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Red Eye",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 43,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Green, Lloyd",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 43
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/05-Red Eye.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "artistid" : [
+ 43
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 5,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "label" : "Reel - The Cameronian",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "title" : "Reel - The Cameronian",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1567,
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/05-Reel - The Cameronian.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ]
+ },
+ {
+ "album" : "My Time Is The Right Time",
+ "title" : "Rock Steady",
+ "songid" : 24,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Rock Steady",
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 8,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/05-Rock Steady.mp3",
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 8
+ ],
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 5
+ },
+ {
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "label" : "Saturday Night at the Movies",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1134,
+ "title" : "Saturday Night at the Movies",
+ "album" : "Legends of Soul: The Drifters",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "albumid" : 77,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/05-Saturday Night at the Movies.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "artist" : [
+ "The Drifters"
+ ],
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/05-Sermonette.mp3",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "songid" : 83,
+ "title" : "Sermonette",
+ "album" : "The Very Best of Bent Fabric",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Sermonette",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 11,
+ "year" : 1997,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/05-Shank Race.mp3",
+ "albumartistid" : [
+ 75
+ ],
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "the Faeries"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "track" : 5,
+ "title" : "Shank Race",
+ "album" : "Riot In The Hive Mind",
+ "songid" : 1152,
+ "label" : "Shank Race",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 78,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0
+ },
+ {
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 115,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Ben E. King"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Stand By Me",
+ "songid" : 1338,
+ "title" : "Stand By Me",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 111
+ ],
+ "artist" : [
+ "Ben E. King"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "displayartist" : "Ben E. King",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 111
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/05-Ben E. King-Stand By Me.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "Stocking Clad Nazi Death Squad Bitches",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 119,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Stocking Clad Nazi Death Squad Bitches",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 15,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/05-Stocking Clad Nazi Death Squad Bitches.mp3",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "artistid" : [
+ 15
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 5
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/05-SUN COLORS (Stage 4 ''Snow Country'').mp3",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 231,
+ "year" : 1989,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "SUN COLORS (Stage 4 ''Snow Country'')",
+ "songid" : 1736,
+ "album" : "プラスアルファ",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "SUN COLORS (Stage 4 ''Snow Country'')",
+ "albumartist" : [
+ "ジャレコ"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "label" : "Tankebrott",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1116,
+ "title" : "Tankebrott",
+ "album" : "Med Anledning Av..",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../05-Tankebrott.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/05-Tarentela (Anonyme).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tarentela (Anonyme)",
+ "album" : "Tarentule - Taren",
+ "title" : "Tarentela (Anonyme)",
+ "songid" : 45,
+ "rating" : 0,
+ "year" : 1978,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "title" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 6",
+ "album" : "Alb",
+ "songid" : 1550,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Telemann: Sonata in G major (Tafelmusik III No. 5) - 6",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 223,
+ "rating" : 0,
+ "year" : 1980,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/05-Telemann: Sonata in G major (Tafelmusik III No. 5) - 6.mp3",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 215
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/05-That's Enough.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 5,
+ "title" : "That's Enough",
+ "songid" : 645,
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "That's Enough",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 50,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "songid" : 702,
+ "title" : "That's Enough",
+ "album" : "The Fabulous Johnny Cash",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "That's Enough",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 54,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/05-That's Enough.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 5
+ },
+ {
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/05-That's Enough.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 52
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "That's Enough",
+ "songid" : 720,
+ "title" : "That's Enough",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 55,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "artistid" : [
+ 1
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Albert Collins"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Albert Collins",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/05-Albert Collins-The Freeze.mp3",
+ "albumartistid" : [
+ 1
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1991,
+ "albumid" : 1,
+ "album" : "Kangaroo Shuffle",
+ "title" : "The Freeze",
+ "songid" : 2,
+ "albumartist" : [
+ "Albert Collins"
+ ],
+ "label" : "The Freeze",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 201,
+ "songid" : 1487,
+ "title" : "The Lone Ranger (William Tell Overture)",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "albumartist" : [
+ "ABC Orch"
+ ],
+ "label" : "The Lone Ranger (William Tell Overture)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "ABC Orch"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 195
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ABC Orch",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/05-ABC Orch-The Lone Ranger (William Tell Overture).mp3",
+ "albumartistid" : [
+ 195
+ ]
+ },
+ {
+ "albumid" : 72,
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The One",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "title" : "The One",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1059,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/05-The One.mp3",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 67,
+ "album" : "Ten Minutes Older",
+ "title" : "The Trumpet - INT.TRAILER.NIGHT",
+ "songid" : 943,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "label" : "The Trumpet - INT.TRAILER.NIGHT",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 64
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/05-The Trumpet - INT.TRAILER.NIGHT.mp3",
+ "albumartistid" : [
+ 64
+ ]
+ },
+ {
+ "title" : "To The Maypole. No. 6 from Violin Playtime , Book 3",
+ "songid" : 1381,
+ "album" : "Violin exam pieces 2008-2011",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "To The Maypole. No. 6 from Violin Playtime , Book 3",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 137,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/05-To The Maypole. No. 6 from Violin Playtime , Book 3.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 5
+ },
+ {
+ "title" : "Toc de Trampes",
+ "album" : "Tocs i Músiques de Les Santes",
+ "songid" : 850,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Toc de Trampes",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 62,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/05-Toc de Trampes.mp3",
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 5
+ },
+ {
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Track06 POULENC VIème Improvisation",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "title" : "Track06 POULENC VIème Improvisation",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 795,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 5,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/05-Track06 POULENC VIème Improvisation.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 57,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Unterwegs",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "album" : "Tavernengeflüster",
+ "title" : "Unterwegs",
+ "songid" : 757,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/05-Unterwegs.mp3",
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Modus Delicti",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 94
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/05-Modus Delicti-Untitled Track.mp3",
+ "artist" : [
+ "Modus Delicti"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 94
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "songid" : 1296,
+ "title" : "Untitled Track",
+ "album" : "3 Way Split CD",
+ "albumartist" : [
+ "Modus Delicti"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Untitled Track",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 99
+ },
+ {
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "track" : 5,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/05-Victor pense a Martha-Blues.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 228,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "title" : "Victor pense a Martha-Blues",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "songid" : 1680,
+ "label" : "Victor pense a Martha-Blues",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/05-Victor Pense À Martha - Blues.mp3",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Victor Pense À Martha - Blues",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "title" : "Victor Pense À Martha - Blues",
+ "songid" : 738,
+ "album" : "L' Africana",
+ "albumid" : 56,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "track" : 5,
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Etta James"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/05-W-O-M-A-N.mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 39,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Etta James"
+ ],
+ "label" : "W-O-M-A-N",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Best of the Modern Years, (The)",
+ "title" : "W-O-M-A-N",
+ "songid" : 466
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "artistid" : [
+ 63
+ ],
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/05-White Lightning Cherokee.mp3",
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 66,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "White Lightning Cherokee",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "songid" : 925,
+ "title" : "White Lightning Cherokee",
+ "album" : "Onie's Country Boppers"
+ },
+ {
+ "label" : "Why Do You Do Me",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "songid" : 573,
+ "title" : "Why Do You Do Me",
+ "album" : "Here's James Brown",
+ "albumid" : 45,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2012,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/05-Why Do You Do Me.mp3",
+ "albumartistid" : [
+ 45
+ ],
+ "thumbnail" : "",
+ "displayartist" : "James Brown",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "genreid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 45
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "xThe Definitionx",
+ "title" : "xThe Definitionx",
+ "album" : "Attack!",
+ "songid" : 295,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 27,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/05-xThe Definitionx.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "artist" : [
+ "Cockpunch"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ]
+ },
+ {
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "label" : "Рщ, эѓэѓјъш",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Рщ, эѓэѓјъш",
+ "songid" : 1699,
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 229,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/05-Рщ, эѓэѓјъш.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 221
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "title" : "おべんとうばこのうた",
+ "album" : "おいしいうた・いただきまーす・",
+ "songid" : 1225,
+ "albumartist" : [
+ "ペグモ"
+ ],
+ "label" : "おべんとうばこのうた",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2002,
+ "albumid" : 86,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ペグモ",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/05-ペグモ-おべんとうばこのうた.mp3",
+ "albumartistid" : [
+ 81
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ペグモ"
+ ],
+ "artistid" : [
+ 81
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 5,
+ "genre" : [],
+ "lyrics" : ""
+ },
+ {
+ "albumid" : 233,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "かっぱなにさま?かっぱさま!",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "album" : "おかあさんといっしょ コロンパッ",
+ "title" : "かっぱなにさま?かっぱさま!",
+ "songid" : 1792,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 225
+ ],
+ "disc" : 0,
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/05-かっぱなにさま?かっぱさま!.mp3",
+ "albumartistid" : [
+ 225
+ ],
+ "thumbnail" : "",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/05-ぞうさんのさんぽ.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 5,
+ "songid" : 1755,
+ "title" : "ぞうさんのさんぽ",
+ "album" : "ピアノスタディ1",
+ "label" : "ぞうさんのさんぽ",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "頭の中",
+ "title" : "頭の中",
+ "songid" : 1718,
+ "album" : "アナーキー・ライブ",
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/05-頭の中.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 5,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/06-07 - Pata sucia (En vivo).mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "genre" : [
+ "Salsa"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "artistid" : [
+ 31
+ ],
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "label" : "07 - Pata sucia (En vivo)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "07 - Pata sucia (En vivo)",
+ "album" : "EN VIVO EN PARAGUAY",
+ "songid" : 353,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 31,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "album" : "Legend (Disk 2)",
+ "title" : "07 Can't You See, Darling?",
+ "songid" : 1042,
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "07 Can't You See, Darling?",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 71,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/06-07 Can't You See, Darling?.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "artistid" : [
+ 68
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 6,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "label" : "7 Marienvesper - Antiphon - Laeva ejus",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "7 Marienvesper - Antiphon - Laeva ejus",
+ "songid" : 868,
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 63,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/06-7 Marienvesper - Antiphon - Laeva ejus.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/06-Agnus Dei.mp3",
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "title" : "Agnus Dei",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "songid" : 194,
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Agnus Dei",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22
+ },
+ {
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Another Man Done Gone",
+ "title" : "Another Man Done Gone",
+ "album" : "1976 - Strawberry Cake",
+ "songid" : 664,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 51,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/06-Another Man Done Gone.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/06-Another Man Done Gone.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Another Man Done Gone",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Another Man Done Gone",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "songid" : 684,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1976,
+ "albumid" : 53,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Anstich",
+ "album" : "Tavernengeflüster",
+ "songid" : 758,
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "label" : "Anstich",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 57,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/06-Anstich.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ]
+ },
+ {
+ "artist" : [
+ "the Faeries"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/06-Arterial Spray.mp3",
+ "albumartistid" : [
+ 75
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 78,
+ "title" : "Arterial Spray",
+ "album" : "Riot In The Hive Mind",
+ "songid" : 1153,
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "label" : "Arterial Spray",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/06-Ash Grove.mp3",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 78
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "title" : "Ash Grove",
+ "album" : "Atlantica",
+ "songid" : 1208,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ash Grove",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 81,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Burning Spear",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/06-Bad to Worse.mp3",
+ "albumartistid" : [
+ 24
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "label" : "Bad to Worse",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Bad to Worse",
+ "album" : "Sounds from the Burning Spear",
+ "songid" : 236,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 24,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumartistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/06-Ball de nans.mp3",
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ball de nans",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "songid" : 851,
+ "title" : "Ball de nans",
+ "album" : "Tocs i Músiques de Les Santes",
+ "albumid" : 62,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "artistid" : [
+ 102
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dick Weissman"
+ ],
+ "albumartistid" : [
+ 102
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/06-Dick Weissman-Banjo Road.mp3",
+ "displayartist" : "Dick Weissman",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 106,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Banjo Road",
+ "albumartist" : [
+ "Dick Weissman"
+ ],
+ "title" : "Banjo Road",
+ "album" : "Bluegrass Banjo",
+ "songid" : 1326
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 97,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1279,
+ "title" : "Biomechanical Dildo",
+ "album" : "3 Way Split CD",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Biomechanical Dildo",
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "artistid" : [
+ 92
+ ],
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 92
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/06-Clitoridus Invaginatus-Biomechanical Dildo.mp3",
+ "displayartist" : "Clitoridus Invaginatus",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 227,
+ "title" : "Births - The Peking Theme",
+ "album" : "Raise The Red Lantern",
+ "songid" : 1663,
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "label" : "Births - The Peking Theme",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/06-Births - The Peking Theme.mp3",
+ "albumartistid" : [
+ 219
+ ]
+ },
+ {
+ "songid" : 1513,
+ "title" : "Blank",
+ "album" : "Chinese Pornography",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "label" : "Blank",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 221,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/06-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "artistid" : [
+ 213
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "genre" : [],
+ "lyrics" : ""
+ },
+ {
+ "albumid" : 45,
+ "rating" : 0,
+ "year" : 2012,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Can't Be the Same",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "songid" : 574,
+ "title" : "Can't Be the Same",
+ "album" : "Here's James Brown",
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "artistid" : [
+ 45
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/06-Can't Be the Same.mp3",
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 95,
+ "title" : "Cecile - Bun Rapist",
+ "album" : "Gangsta Rock",
+ "songid" : 1247,
+ "albumartist" : [
+ "VA"
+ ],
+ "label" : "Cecile - Bun Rapist",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artist" : [
+ "VA"
+ ],
+ "artistid" : [
+ 90
+ ],
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/06-Cecile - Bun Rapist.mp3",
+ "albumartistid" : [
+ 90
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 38,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "songid" : 446,
+ "title" : "Cowboys",
+ "album" : "World of Shit",
+ "label" : "Cowboys",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/06-Cowboys.mp3",
+ "albumartistid" : [
+ 38
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit"
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Crazeology [Little Benny] (take 2) [G]",
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "title" : "Crazeology [Little Benny] (take 2) [G]",
+ "songid" : 1373,
+ "albumid" : 136,
+ "year" : 1947,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 131
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/06-Original Charlie Parker Sextet [6]-Crazeology [Little Benny] (take 2) [G].mp3",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 131
+ ]
+ },
+ {
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/06-Crete - Part 3.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 10,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Crete - Part 3",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "songid" : 65,
+ "title" : "Crete - Part 3",
+ "album" : "Royal Greek Festival Company"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 181,
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "title" : "Cucho Frito Man",
+ "songid" : 1467,
+ "albumartist" : [
+ "Billy Larkin"
+ ],
+ "label" : "Cucho Frito Man",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "Billy Larkin"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 175
+ ],
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Billy Larkin",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/06-Billy Larkin-Cucho Frito Man.mp3",
+ "albumartistid" : [
+ 175
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../06-D.N.E.P..mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "artistid" : [
+ 72
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "label" : "D.N.E.P.",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "D.N.E.P.",
+ "songid" : 1117,
+ "album" : "Med Anledning Av..",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/06-Dancing Doll.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "artistid" : [
+ 222
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Dancing Doll",
+ "title" : "Dancing Doll",
+ "album" : "アナーキー・ライブ",
+ "songid" : 1719,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "title" : "Develop Tools",
+ "songid" : 424,
+ "album" : "Best of Defari",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Develop Tools",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 36,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/06-Develop Tools.mp3",
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "artistid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 65,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "label" : "die Schneckenpost",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 908,
+ "title" : "die Schneckenpost",
+ "album" : "die schönsten Kinderlieder",
+ "track" : 6,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Music Kids"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/06-die Schneckenpost.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "Duke Of Earl",
+ "album" : "My Time Is The Right Time",
+ "songid" : 25,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Duke Of Earl",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 8,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/06-Duke Of Earl.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 8
+ ],
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ]
+ },
+ {
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/06-el enmascarado de latex.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "albumartist" : [
+ "pigto"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "el enmascarado de latex",
+ "songid" : 965,
+ "title" : "el enmascarado de latex",
+ "album" : "depravada sexual",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumartistid" : [
+ 164
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/06-Clothilde-Et Moi, Et Toi, Et Soie.mp3",
+ "displayartist" : "Clothilde",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Clothilde"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 164
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Et Moi, Et Toi, Et Soie",
+ "albumartist" : [
+ "Clothilde"
+ ],
+ "songid" : 1453,
+ "title" : "Et Moi, Et Toi, Et Soie",
+ "album" : "Swinging Mademoiselles",
+ "albumid" : 170,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "label" : "Goofus",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "title" : "Goofus",
+ "songid" : 84,
+ "album" : "The Very Best of Bent Fabric",
+ "albumid" : 11,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1997,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/06-Goofus.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ]
+ },
+ {
+ "album" : "The Great Conway Twitty",
+ "title" : "Got My Mojo Working",
+ "songid" : 314,
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "label" : "Got My Mojo Working",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 28,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/06-Got My Mojo Working.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 72,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "label" : "Hoes",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Hoes",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1060,
+ "track" : 6,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/06-Hoes.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/06-Hoochiemumma.mp3",
+ "disc" : 0,
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "artistid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ],
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "title" : "Hoochiemumma",
+ "album" : "Cunt",
+ "songid" : 138,
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Hoochiemumma",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 16
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 70,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "I Believe In Miracles",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "I Believe In Miracles",
+ "songid" : 1022,
+ "album" : "Loco Live (CD 1)",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/06-I Believe In Miracles.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 5
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/06-Joe Hughes-I Can't Go on This Way.mp3",
+ "displayartist" : "Joe Hughes",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "artist" : [
+ "Joe Hughes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 5
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 6,
+ "songid" : 14,
+ "title" : "I Can't Go on This Way",
+ "album" : "Kangaroo Shuffle",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Can't Go on This Way",
+ "albumartist" : [
+ "Joe Hughes"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 5,
+ "rating" : 0,
+ "year" : 1991,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/06-I Geh Nie Ins Bett.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "genre" : [],
+ "lyrics" : "",
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 55
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Geh Nie Ins Bett",
+ "title" : "I Geh Nie Ins Bett",
+ "songid" : 778,
+ "album" : "Kottans Kapelle",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 58,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/06-I Still Miss Someone.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 50,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "I Still Miss Someone",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "title" : "I Still Miss Someone",
+ "songid" : 646
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Still Miss Someone",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "I Still Miss Someone",
+ "album" : "The Fabulous Johnny Cash",
+ "songid" : 703,
+ "albumid" : 54,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/06-I Still Miss Someone.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ]
+ },
+ {
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 52
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/06-I Still Miss Someone.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "albumid" : 55,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "label" : "I Still Miss Someone",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "I Still Miss Someone",
+ "songid" : 721,
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1"
+ },
+ {
+ "title" : "I'm Beginning to Forget You",
+ "album" : "Love Letters",
+ "songid" : 609,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I'm Beginning to Forget You",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 47,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/06-I'm Beginning to Forget You.mp3",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 6
+ },
+ {
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "label" : "I'm in Love Again (1956)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "I'm in Love Again (1956)",
+ "songid" : 485,
+ "album" : "I'm Walking",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 40,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Fats Domino",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/06-I'm in Love Again (1956).mp3",
+ "albumartistid" : [
+ 40
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 40
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "title" : "I'm On Top",
+ "album" : "Three Things At Once",
+ "songid" : 389,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I'm On Top",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 34,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/06-I'm On Top.mp3",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "artistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "track" : 6
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 226,
+ "songid" : 1645,
+ "title" : "ILL",
+ "album" : "Wildabeast",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/06-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ]
+ },
+ {
+ "title" : "Katey Vs. Nobby (feat. Katey Red and Sissy Nobby)",
+ "songid" : 519,
+ "album" : "Ya-Ka-May",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "label" : "Katey Vs. Nobby (feat. Katey Red and Sissy Nobby)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 42,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Galactic",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/06-Katey Vs. Nobby (feat. Katey Red and Sissy Nobby).mp3",
+ "albumartistid" : [
+ 42
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 42
+ ],
+ "artist" : [
+ "Galactic"
+ ],
+ "genreid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz+Funk"
+ ]
+ },
+ {
+ "label" : "La police avec nous",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "songid" : 1534,
+ "title" : "La police avec nous",
+ "album" : "Les aventures de Rabbi Jacob",
+ "albumid" : 222,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1973,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/06-La police avec nous.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 6,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 214
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1989,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "songid" : 1737,
+ "title" : "LAST HEART (Stage 5 ''Sand City'')",
+ "album" : "プラスアルファ",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "LAST HEART (Stage 5 ''Sand City'')",
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/06-LAST HEART (Stage 5 ''Sand City'').mp3"
+ },
+ {
+ "songid" : 1171,
+ "title" : "Let it Snow!",
+ "album" : "Have Yourself a Merry Little Christma",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Let it Snow!",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 79,
+ "year" : 1987,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/06-Let it Snow!.mp3",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 6
+ },
+ {
+ "title" : "Liebe ist nicht nur ein Wort",
+ "songid" : 370,
+ "album" : "Wegzeichen",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "label" : "Liebe ist nicht nur ein Wort",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 32,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/06-Liebe ist nicht nur ein Wort.mp3",
+ "albumartistid" : [
+ 32
+ ],
+ "artist" : [
+ "Dauner"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "genre" : [],
+ "lyrics" : ""
+ },
+ {
+ "albumid" : 30,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Limphatic Carcinoma",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "songid" : 332,
+ "title" : "Limphatic Carcinoma",
+ "album" : "Xenophilism",
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/06-Limphatic Carcinoma.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "songid" : 739,
+ "title" : "Martha S'en Va Et Pleure - Thème Du Passé",
+ "album" : "L' Africana",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Martha S'en Va Et Pleure - Thème Du Passé",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 56,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/06-Martha S'en Va Et Pleure - Thème Du Passé.mp3",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 53
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 6
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/06-Martha s'en va et pleure-Theme du passe.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "label" : "Martha s'en va et pleure-Theme du passe",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Martha s'en va et pleure-Theme du passe",
+ "songid" : 1681,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 228,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/06-milo.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "artistid" : [
+ 71
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Space Juniors"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "label" : "milo",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "milo",
+ "songid" : 1097,
+ "album" : "Juniorville 20",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "albumid" : 74,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "songid" : 120,
+ "title" : "Motorbicycle Song",
+ "album" : "Brain Plugin Spaghetti",
+ "label" : "Motorbicycle Song",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 15,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/06-Motorbicycle Song.mp3",
+ "albumartistid" : [
+ 15
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys",
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 15
+ ],
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 6
+ },
+ {
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/06-No. 7.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1984,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 26,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "No. 7",
+ "songid" : 276,
+ "title" : "No. 7",
+ "album" : "Children's Songs (SHM)"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/06-Northern Lights.mp3",
+ "displayartist" : "Brian Eno",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "artist" : [
+ "Brian Eno"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "songid" : 173,
+ "title" : "Northern Lights",
+ "album" : "More Music For Films",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Northern Lights",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 21,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumid" : 129,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Oh! Carol",
+ "albumartist" : [
+ "Neil Sedaka"
+ ],
+ "title" : "Oh! Carol",
+ "songid" : 1352,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "artist" : [
+ "Neil Sedaka"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 124
+ ],
+ "albumartistid" : [
+ 124
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/06-Neil Sedaka-Oh! Carol.mp3",
+ "displayartist" : "Neil Sedaka",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "artist" : [
+ "VARIOS"
+ ],
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/06-OKAASAN.mp3",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 96,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "OKAASAN",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "songid" : 1265,
+ "title" : "OKAASAN",
+ "album" : "AKATIAN NO TAMENO"
+ },
+ {
+ "album" : "Onie's Country Boppers",
+ "title" : "Onie's French Harp Boogie",
+ "songid" : 926,
+ "label" : "Onie's French Harp Boogie",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 66,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/06-Onie's French Harp Boogie.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 63
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 6
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/06-Overalls uit.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "track" : 6,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "title" : "Overalls uit",
+ "album" : "De Muziekfabriek",
+ "songid" : 254,
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Overalls uit",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 43,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 535,
+ "title" : "Pickin' Pot Pie",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Pickin' Pot Pie",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 43
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/06-Pickin' Pot Pie.mp3",
+ "displayartist" : "Green, Lloyd",
+ "thumbnail" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/06-PONS Rumänisch - Track 07.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 69,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 07",
+ "albumartist" : [
+ "PONS"
+ ],
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 07",
+ "songid" : 985
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/06-Pool Shark.mp3",
+ "albumartistid" : [
+ 19
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [],
+ "artistid" : [
+ 19
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "label" : "Pool Shark",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 156,
+ "title" : "Pool Shark",
+ "album" : "Live At The Firecracker Lounge",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 19,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/06-Reel - Charlie O'Donnell's.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - Charlie O'Donnell's",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Reel - Charlie O'Donnell's",
+ "songid" : 1568,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "artistid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/06-RingRingRing.mp3",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 27,
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "RingRingRing",
+ "album" : "Attack!",
+ "songid" : 296,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "RingRingRing",
+ "albumartist" : [
+ "Cockpunch"
+ ]
+ },
+ {
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "U-Roy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/06-Rule Of The Nation.mp3",
+ "albumartistid" : [
+ 77
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "albumid" : 80,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "label" : "Rule Of The Nation",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Rule Of The Nation",
+ "songid" : 1190,
+ "album" : "The Righful Ruler (Disc 2)"
+ },
+ {
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/06-Shady Grove Edd Presnell.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Shady Grove Edd Presnell",
+ "album" : "Appalachian Breakdown",
+ "title" : "Shady Grove Edd Presnell",
+ "songid" : 1303,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 100,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "songid" : 592,
+ "title" : "Shoulder - Dirt Off Your Shoulders",
+ "album" : "The Black Chronic",
+ "label" : "Shoulder - Dirt Off Your Shoulders",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/06-Shoulder - Dirt Off Your Shoulders.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 46
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 6
+ },
+ {
+ "label" : "South Of The Border (Down Mexico Way)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Gene Autry"
+ ],
+ "title" : "South Of The Border (Down Mexico Way)",
+ "songid" : 1495,
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "albumid" : 209,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/06-Gene Autry-South Of The Border (Down Mexico Way).mp3",
+ "albumartistid" : [
+ 203
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Gene Autry",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 6,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Gene Autry"
+ ],
+ "artistid" : [
+ 203
+ ]
+ },
+ {
+ "albumid" : 9,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1978,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Tarentella. Alia clausula (Anonyme)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "title" : "Tarentella. Alia clausula (Anonyme)",
+ "songid" : 46,
+ "album" : "Tarentule - Taren",
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/06-Tarentella. Alia clausula (Anonyme).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/06-Telemann: Concerto in E minor - 1.mp3",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 215
+ ],
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "title" : "Telemann: Concerto in E minor - 1",
+ "songid" : 1551,
+ "album" : "Alb",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in E minor - 1",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 223,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 217
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/06-Teletubbies.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 225,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "songid" : 1625,
+ "title" : "Teletubbies",
+ "album" : "The Fat of the Band",
+ "label" : "Teletubbies",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Etta James"
+ ],
+ "label" : "That's All",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "That's All",
+ "album" : "Best of the Modern Years, (The)",
+ "songid" : 467,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 39,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/06-That's All.mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/06-It Appears-The Entity.mp3",
+ "albumartistid" : [
+ 14
+ ],
+ "thumbnail" : "",
+ "displayartist" : "It Appears",
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 14
+ ],
+ "disc" : 0,
+ "artist" : [
+ "It Appears"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "album" : "The Entity",
+ "title" : "The Entity",
+ "songid" : 113,
+ "label" : "The Entity",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "It Appears"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 14,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0
+ },
+ {
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/06-The Trumpet - TWELVE MILES TO TRONA.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 67,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "label" : "The Trumpet - TWELVE MILES TO TRONA",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "The Trumpet - TWELVE MILES TO TRONA",
+ "album" : "Ten Minutes Older",
+ "songid" : 944
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/06-The Worried Man Blues.mp3",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 73,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Barn Burners",
+ "title" : "The Worried Man Blues",
+ "songid" : 1079,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Worried Man Blues",
+ "albumartist" : [
+ "Smoky Mountain"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1995,
+ "rating" : 0,
+ "albumid" : 41,
+ "album" : "Blue Skies",
+ "title" : "They Say It's Wonderful",
+ "songid" : 503,
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "They Say It's Wonderful",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Easy Listening"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/06-They Say It's Wonderful.mp3",
+ "albumartistid" : [
+ 41
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 77,
+ "title" : "This Magic Moment",
+ "album" : "Legends of Soul: The Drifters",
+ "songid" : 1135,
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "This Magic Moment",
+ "artist" : [
+ "The Drifters"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "track" : 6,
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/06-This Magic Moment.mp3"
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 61,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "album" : "This Is Gold D1 of 3",
+ "title" : "Three Little Words",
+ "songid" : 840,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Three Little Words",
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 58
+ ],
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 58
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/06-Les Paul & Mary Ford-Three Little Words.mp3",
+ "displayartist" : "Les Paul & Mary Ford",
+ "thumbnail" : ""
+ },
+ {
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "label" : "Tocata 7",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Tocata 7",
+ "songid" : 555,
+ "album" : "Tocates valencianes",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "albumid" : 44,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/06-Tocata 7.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "artistid" : [
+ 44
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Track07 MOZART Aria \"Un Aura amorosa\"(Cosi fant utte K588)",
+ "title" : "Track07 MOZART Aria \"Un Aura amorosa\"(Cosi fant utte K588)",
+ "songid" : 796,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/06-Track07 MOZART Aria \"Un Aura amorosa\"(Cosi fant utte K588).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 6,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ]
+ },
+ {
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 133
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cy Jack, Duncan Aran"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/06-Cy Jack, Duncan Aran-Tuiraid Iain Ruabh.mp3",
+ "albumartistid" : [
+ 133
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Cy Jack, Duncan Aran",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 139,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "album" : "Zentiva--Muzica de relaxare",
+ "title" : "Tuiraid Iain Ruabh",
+ "songid" : 1415,
+ "label" : "Tuiraid Iain Ruabh",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Cy Jack, Duncan Aran"
+ ]
+ },
+ {
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "artistid" : [
+ 61
+ ],
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/06-Und in der Größe deiner Herrlichkeit.mp3",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 64,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Und in der Größe deiner Herrlichkeit",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Und in der Größe deiner Herrlichkeit",
+ "songid" : 888
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/06-War Is Good.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "track" : 6,
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "songid" : 214,
+ "title" : "War Is Good",
+ "album" : "Evolution Through Revolution",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "War Is Good",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 23
+ },
+ {
+ "title" : "Wild Cherry",
+ "songid" : 1441,
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Wild Cherry",
+ "albumartist" : [
+ "Leroy Washington"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 161,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 155
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/06-Leroy Washington-Wild Cherry.mp3",
+ "displayartist" : "Leroy Washington",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "artist" : [
+ "Leroy Washington"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 155
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "track" : 6
+ },
+ {
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/06-Wondrous Love.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Wondrous Love",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Wondrous Love",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1382
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Die Toten Hosen",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/06-Wunder.mp3",
+ "albumartistid" : [
+ 35
+ ],
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "title" : "Wunder",
+ "album" : "Zurück Zum Glück",
+ "songid" : 410,
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "label" : "Wunder",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 35
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/06-Yoga Music.mp3",
+ "albumartistid" : [
+ 49
+ ],
+ "thumbnail" : "",
+ "displayartist" : "John Powell",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "artistid" : [
+ 49
+ ],
+ "label" : "Yoga Music",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "title" : "Yoga Music",
+ "songid" : 628,
+ "album" : "Gigli (Original Motion Picture Score)",
+ "albumid" : 49,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "track" : 6,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/06-Ьѓцшїюъ цшы эр ъ№рў.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 229,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "title" : "Ьѓцшїюъ цшы эр ъ№рў",
+ "songid" : 1700,
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "label" : "Ьѓцшїюъ цшы эр ъ№рў",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "松熊 由紀",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/06-松熊 由紀-おべんとう.mp3",
+ "albumartistid" : [
+ 84
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 84
+ ],
+ "artist" : [
+ "松熊 由紀"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 6,
+ "genre" : [],
+ "lyrics" : "",
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "おべんとう",
+ "songid" : 1228,
+ "albumartist" : [
+ "松熊 由紀"
+ ],
+ "label" : "おべんとう",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 89
+ },
+ {
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/06-ドコノコノキノコ.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ドコノコノキノコ",
+ "songid" : 1793,
+ "title" : "ドコノコノキノコ",
+ "album" : "おかあさんといっしょ コロンパッ"
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232,
+ "songid" : 1756,
+ "title" : "マーチ",
+ "album" : "ピアノスタディ1",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "マーチ",
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "track" : 6,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/06-マーチ.mp3"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 7,
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/07-08 - Sentate en el pelado (En.mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 31,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "08 - Sentate en el pelado (En",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "title" : "08 - Sentate en el pelado (En",
+ "songid" : 354,
+ "album" : "EN VIVO EN PARAGUAY"
+ },
+ {
+ "artist" : [
+ "Ray Charles"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 68
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 7,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/07-08 Alone in this City.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 71,
+ "album" : "Legend (Disk 2)",
+ "title" : "08 Alone in this City",
+ "songid" : 1043,
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "08 Alone in this City"
+ },
+ {
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "label" : "8 Marienvesper - Antiphon - Jam hiems",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "8 Marienvesper - Antiphon - Jam hiems",
+ "songid" : 869,
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/07-8 Marienvesper - Antiphon - Jam hiems.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumid" : 8,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ain't That Loving You (For More Reasons Than One)",
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "songid" : 26,
+ "title" : "Ain't That Loving You (For More Reasons Than One)",
+ "album" : "My Time Is The Right Time",
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "artistid" : [
+ 8
+ ],
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/07-Ain't That Loving You (For More Reasons Than One).mp3",
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "album" : "プラスアルファ",
+ "title" : "ALBORADA (Stage 6 ''Dark Sodom'')",
+ "songid" : 1738,
+ "label" : "ALBORADA (Stage 6 ''Dark Sodom'')",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 231,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1989,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/07-ALBORADA (Stage 6 ''Dark Sodom'').mp3",
+ "albumartistid" : [
+ 223
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ",
+ "genreid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "ジャレコ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "track" : 7
+ },
+ {
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/07-Alle ogen op Jelte.mp3",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Alle ogen op Jelte",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "title" : "Alle ogen op Jelte",
+ "songid" : 255,
+ "album" : "De Muziekfabriek",
+ "albumid" : 25,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/07-Ball de la Toneta i en Maneló.mp3",
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 62,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 852,
+ "title" : "Ball de la Toneta i en Maneló",
+ "album" : "Tocs i Músiques de Les Santes",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ball de la Toneta i en Maneló",
+ "albumartist" : [
+ "Les Santes"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/07-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 7,
+ "title" : "Blank",
+ "album" : "Chinese Pornography",
+ "songid" : 1514,
+ "label" : "Blank",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 40,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Blue Monday",
+ "album" : "I'm Walking",
+ "title" : "Blue Monday",
+ "songid" : 486,
+ "track" : 7,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 40
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/07-Blue Monday.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "label" : "Carla",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "The Entity",
+ "title" : "Carla",
+ "songid" : 101,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 13,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/07-Carla.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "track" : 7,
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "artistid" : [
+ 42
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/07-Cineramascope (feat. Trombone Shorty & Corey Henry).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 42,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Galactic"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Cineramascope (feat. Trombone Shorty & Corey Henry)",
+ "title" : "Cineramascope (feat. Trombone Shorty & Corey Henry)",
+ "songid" : 520,
+ "album" : "Ya-Ka-May"
+ },
+ {
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/07-Clitocritical Perforation.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 30,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Clitocritical Perforation",
+ "album" : "Xenophilism",
+ "title" : "Clitocritical Perforation",
+ "songid" : 333
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/07-Cold Pieces Snippet.mp3",
+ "albumartistid" : [
+ 36
+ ],
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "album" : "Best of Defari",
+ "title" : "Cold Pieces Snippet",
+ "songid" : 425,
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "label" : "Cold Pieces Snippet",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 36
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/07-Crete - Part 4.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "artistid" : [
+ 10
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "label" : "Crete - Part 4",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Crete - Part 4",
+ "album" : "Royal Greek Festival Company",
+ "songid" : 66,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "albumid" : 10,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Curbside Breakdown",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Three Things At Once",
+ "title" : "Curbside Breakdown",
+ "songid" : 390,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 34,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/07-Curbside Breakdown.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "artistid" : [
+ 34
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/07-Cut It Off.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 49
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 7,
+ "title" : "Cut It Off",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "songid" : 629,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Cut It Off",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 49,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/07-desgarre anorrectal.mp3",
+ "artist" : [
+ "pigto"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "songid" : 966,
+ "title" : "desgarre anorrectal",
+ "album" : "depravada sexual",
+ "albumartist" : [
+ "pigto"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "desgarre anorrectal",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "artistid" : [
+ 125
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Paul Anka"
+ ],
+ "albumartistid" : [
+ 125
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/07-Paul Anka-Diana.mp3",
+ "displayartist" : "Paul Anka",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 130,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Diana",
+ "albumartist" : [
+ "Paul Anka"
+ ],
+ "songid" : 1353,
+ "title" : "Diana",
+ "album" : "Rock 'n Roll: 60 Hits"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 64,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "label" : "Die Himmel sind Dein",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Die Himmel sind Dein",
+ "songid" : 889,
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "track" : 7,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "artistid" : [
+ 61
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/07-Die Himmel sind Dein.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "die Vogelhochzeit",
+ "songid" : 909,
+ "album" : "die schönsten Kinderlieder",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "die Vogelhochzeit",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 65,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/07-die Vogelhochzeit.mp3",
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "artist" : [
+ "Music Kids"
+ ],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 7
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/07-Don't Take Your Guns To Town.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 50,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "title" : "Don't Take Your Guns To Town",
+ "songid" : 647,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Don't Take Your Guns To Town",
+ "albumartist" : [
+ "Johnny Cash"
+ ]
+ },
+ {
+ "title" : "Don't Take Your Guns To Town",
+ "songid" : 704,
+ "album" : "The Fabulous Johnny Cash",
+ "label" : "Don't Take Your Guns To Town",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 54,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/07-Don't Take Your Guns To Town.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 7
+ },
+ {
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 55,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Don't Take Your Guns to Town",
+ "title" : "Don't Take Your Guns to Town",
+ "songid" : 722,
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "artistid" : [
+ 52
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/07-Don't Take Your Guns to Town.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 7,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../07-En Helt Annan Sak.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 75,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "En Helt Annan Sak",
+ "title" : "En Helt Annan Sak",
+ "album" : "Med Anledning Av..",
+ "songid" : 1118
+ },
+ {
+ "title" : "Evolution Through Revolution",
+ "album" : "Evolution Through Revolution",
+ "songid" : 215,
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "label" : "Evolution Through Revolution",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 23,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/07-Evolution Through Revolution.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "F'real",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "title" : "F'real",
+ "album" : "Attack!",
+ "songid" : 297,
+ "albumid" : 27,
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/07-F'real.mp3",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore"
+ ],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "artistid" : [
+ 27
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 15
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/07-Fee, Fi, Foe, Fon, I Smell Vaginal Crouton.mp3",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 15,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 121,
+ "title" : "Fee, Fi, Foe, Fon, I Smell Vaginal Crouton",
+ "album" : "Brain Plugin Spaghetti",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Fee, Fi, Foe, Fon, I Smell Vaginal Crouton",
+ "albumartist" : [
+ "Bleach Boys"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 21,
+ "title" : "From The Coast",
+ "album" : "More Music For Films",
+ "songid" : 174,
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "From The Coast",
+ "artist" : [
+ "Brian Eno"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "track" : 7,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Brian Eno",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/07-From The Coast.mp3"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 70,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "Gimme Gimme Shock Treatment",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Gimme Gimme Shock Treatment",
+ "album" : "Loco Live (CD 1)",
+ "songid" : 1023,
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ramones"
+ ],
+ "artistid" : [
+ 67
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/07-Gimme Gimme Shock Treatment.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumid" : 20,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Greatest Hits",
+ "albumartist" : [
+ "Welcome Tomorrow"
+ ],
+ "album" : "Live At The Firecracker Lounge",
+ "title" : "Greatest Hits",
+ "songid" : 166,
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "Welcome Tomorrow"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 20
+ ],
+ "albumartistid" : [
+ 20
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/07-Welcome Tomorrow-Greatest Hits.mp3",
+ "displayartist" : "Welcome Tomorrow",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "artistid" : [
+ 214
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/07-Hannah la rousse.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 222,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1973,
+ "rating" : 0,
+ "title" : "Hannah la rousse",
+ "songid" : 1535,
+ "album" : "Les aventures de Rabbi Jacob",
+ "label" : "Hannah la rousse",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ]
+ },
+ {
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/07-Herz Brennt.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 35,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Herz Brennt",
+ "title" : "Herz Brennt",
+ "album" : "Zurück Zum Glück",
+ "songid" : 411
+ },
+ {
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/07-High Way.mp3",
+ "albumartistid" : [
+ 222
+ ],
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 230,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "songid" : 1720,
+ "title" : "High Way",
+ "album" : "アナーキー・ライブ",
+ "label" : "High Way",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "アナーキー"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/07-Original Charlie Parker Sextet [6]-How Deep is the Ocean? [How High Is the Sky?] (take 1) [master] [How Deep] [G].mp3",
+ "albumartistid" : [
+ 131
+ ],
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 131
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "title" : "How Deep is the Ocean? [How High Is the Sky?] (take 1) [master] [How Deep] [G]",
+ "songid" : 1374,
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "label" : "How Deep is the Ocean? [How High Is the Sky?] (take 1) [master] [How Deep] [G]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1947,
+ "rating" : 0,
+ "albumid" : 136
+ },
+ {
+ "songid" : 1136,
+ "title" : "I Count the Tears",
+ "album" : "Legends of Soul: The Drifters",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Count the Tears",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 77,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/07-I Count the Tears.mp3",
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "artist" : [
+ "The Drifters"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "track" : 7
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/07-I Got Stripes.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "title" : "I Got Stripes",
+ "album" : "1976 - Strawberry Cake",
+ "songid" : 665,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Got Stripes",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 51
+ },
+ {
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/07-I Got Stripes.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Got Stripes",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "songid" : 685,
+ "title" : "I Got Stripes",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "albumid" : 53,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumid" : 45,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2012,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "I Walked Alone",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "title" : "I Walked Alone",
+ "album" : "Here's James Brown",
+ "songid" : 575,
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "track" : 7,
+ "genreid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "artistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/07-I Walked Alone.mp3",
+ "albumartistid" : [
+ 45
+ ],
+ "thumbnail" : "",
+ "displayartist" : "James Brown",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "songid" : 1646,
+ "title" : "ILL",
+ "album" : "Wildabeast",
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/07-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 218
+ ],
+ "artist" : [
+ "Wildabeast"
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 16,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "songid" : 139,
+ "title" : "Iloveitwhenjoepeesciswears",
+ "album" : "Cunt",
+ "label" : "Iloveitwhenjoepeesciswears",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/07-Iloveitwhenjoepeesciswears.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/07-In der Taverne.mp3",
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 7,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "songid" : 759,
+ "title" : "In der Taverne",
+ "album" : "Tavernengeflüster",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "In der Taverne",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 57
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 7,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/07-Joy to the World - Deck the Halls.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "title" : "Joy to the World - Deck the Halls",
+ "songid" : 1172,
+ "album" : "Have Yourself a Merry Little Christma",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Joy to the World - Deck the Halls"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Les Paul & Mary Ford",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/07-Les Paul & Mary Ford-Just One More Chance.mp3",
+ "albumartistid" : [
+ 58
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "artistid" : [
+ 58
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "label" : "Just One More Chance",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 841,
+ "title" : "Just One More Chance",
+ "album" : "This Is Gold D1 of 3",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 61,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/07-lyin' in bed.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 71
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Space Juniors"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 7,
+ "title" : "lyin' in bed",
+ "album" : "Juniorville 20",
+ "songid" : 1098,
+ "label" : "lyin' in bed",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 74,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0
+ },
+ {
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/07-Meditation.mp3",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dauner"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Meditation",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "album" : "Wegzeichen",
+ "title" : "Meditation",
+ "songid" : 371,
+ "albumid" : 32,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/07-My Bitch Look Better.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "label" : "My Bitch Look Better",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "songid" : 1061,
+ "title" : "My Bitch Look Better",
+ "album" : "Buckets And Booty Calls",
+ "albumid" : 72,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "title" : "Mysteries A",
+ "songid" : 1423,
+ "album" : "Zentiva--Muzica de relaxare",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Mysteries A",
+ "albumartist" : [
+ "Lindsay Tomasic"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 145,
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 139
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/07-Lindsay Tomasic-Mysteries A.mp3",
+ "displayartist" : "Lindsay Tomasic",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "artist" : [
+ "Lindsay Tomasic"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 139
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "track" : 7
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 38,
+ "title" : "New One",
+ "album" : "World of Shit",
+ "songid" : 447,
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "label" : "New One",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/07-New One.mp3",
+ "albumartistid" : [
+ 38
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1984,
+ "title" : "No. 8",
+ "album" : "Children's Songs (SHM)",
+ "songid" : 277,
+ "label" : "No. 8",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/07-No. 8.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea"
+ },
+ {
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Etta James"
+ ],
+ "artistid" : [
+ 39
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/07-Number One (Aka My One and Only).mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 39,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "title" : "Number One (Aka My One and Only)",
+ "album" : "Best of the Modern Years, (The)",
+ "songid" : 468,
+ "label" : "Number One (Aka My One and Only)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Etta James"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "albumid" : 96,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "label" : "OHANASHI OYUBISAN",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "OHANASHI OYUBISAN",
+ "album" : "AKATIAN NO TAMENO",
+ "songid" : 1266,
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "artistid" : [
+ 91
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/07-OHANASHI OYUBISAN.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "label" : "Organ Grinder's Swing",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "title" : "Organ Grinder's Swing",
+ "album" : "The Very Best of Bent Fabric",
+ "songid" : 85,
+ "albumid" : 11,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1997,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/07-Organ Grinder's Swing.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 7,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/07-PONS Rumänisch - Track 08.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 69,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "PONS Rumänisch - Track 08",
+ "songid" : 986,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "PONS Rumänisch - Track 08",
+ "albumartist" : [
+ "PONS"
+ ]
+ },
+ {
+ "albumid" : 227,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Pregnancy - Yan'er's Punishment",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "album" : "Raise The Red Lantern",
+ "title" : "Pregnancy - Yan'er's Punishment",
+ "songid" : 1664,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "artistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/07-Pregnancy - Yan'er's Punishment.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 97,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Psychopathic Jerkers",
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "album" : "3 Way Split CD",
+ "title" : "Psychopathic Jerkers",
+ "songid" : 1280,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "artistid" : [
+ 92
+ ],
+ "albumartistid" : [
+ 92
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/07-Clitoridus Invaginatus-Psychopathic Jerkers.mp3",
+ "displayartist" : "Clitoridus Invaginatus",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "displayartist" : "Jim McGuinn",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 106
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/07-Jim McGuinn-Ramblin' Banjo.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Jim McGuinn"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 106
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "albumartist" : [
+ "Jim McGuinn"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ramblin' Banjo",
+ "album" : "Bluegrass Banjo",
+ "title" : "Ramblin' Banjo",
+ "songid" : 1331,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 110,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Frankie Laine"
+ ],
+ "artistid" : [
+ 202
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frankie Laine",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/07-Frankie Laine-Rawhide.mp3",
+ "albumartistid" : [
+ 202
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 208,
+ "title" : "Rawhide",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "songid" : 1494,
+ "albumartist" : [
+ "Frankie Laine"
+ ],
+ "label" : "Rawhide",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/07-RDX - Gangsta's Want To Have Fun.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "title" : "RDX - Gangsta's Want To Have Fun",
+ "album" : "Gangsta Rock",
+ "songid" : 1248,
+ "albumartist" : [
+ "VA"
+ ],
+ "label" : "RDX - Gangsta's Want To Have Fun",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 95
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/07-Reel - Ciarán Kelly's.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 7,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "title" : "Reel - Ciarán Kelly's",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1569,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Ciarán Kelly's",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 24
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/07-Rocking Time.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 24,
+ "title" : "Rocking Time",
+ "album" : "Sounds from the Burning Spear",
+ "songid" : 237,
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Rocking Time"
+ },
+ {
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "label" : "Roly Poly",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Love Letters",
+ "title" : "Roly Poly",
+ "songid" : 610,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 47,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/07-Roly Poly.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 156
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/07-Lightning Slim-Rooster Blues.mp3",
+ "displayartist" : "Lightning Slim",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Lightning Slim"
+ ],
+ "artistid" : [
+ 156
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "title" : "Rooster Blues",
+ "songid" : 1442,
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Rooster Blues",
+ "albumartist" : [
+ "Lightning Slim"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 162,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Clothilde"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 164
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 7,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 164
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/07-Clothilde-Saperlipopette.mp3",
+ "displayartist" : "Clothilde",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 170,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Saperlipopette",
+ "songid" : 1454,
+ "album" : "Swinging Mademoiselles",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Saperlipopette",
+ "albumartist" : [
+ "Clothilde"
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/07-She Loves Me.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 7,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 28
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "label" : "She Loves Me",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "album" : "The Great Conway Twitty",
+ "title" : "She Loves Me",
+ "songid" : 315,
+ "albumid" : 28,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Sixteen Tons",
+ "songid" : 1080,
+ "title" : "Sixteen Tons",
+ "album" : "Barn Burners",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 73,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/07-Sixteen Tons.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [],
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/07-Skip To My Lou - Richard Chase.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Skip To My Lou - Richard Chase",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Appalachian Breakdown",
+ "title" : "Skip To My Lou - Richard Chase",
+ "songid" : 1304,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 100,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumid" : 2,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1991,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Spring Fever",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Henry Hayes"
+ ],
+ "album" : "Kangaroo Shuffle",
+ "title" : "Spring Fever",
+ "songid" : 7,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 2
+ ],
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/07-Henry Hayes-Spring Fever.mp3",
+ "albumartistid" : [
+ 2
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Henry Hayes",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "U-Roy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/07-Stick Together.mp3",
+ "albumartistid" : [
+ 77
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "U-Roy"
+ ],
+ "artistid" : [
+ 77
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "label" : "Stick Together",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Stick Together",
+ "album" : "The Righful Ruler (Disc 2)",
+ "songid" : 1191,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "albumid" : 80,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumid" : 58,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Supertyp",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "album" : "Kottans Kapelle",
+ "title" : "Supertyp",
+ "songid" : 779,
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "artistid" : [
+ 55
+ ],
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/07-Supertyp.mp3",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 7,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/07-Tantum ergo in C.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1995,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22,
+ "title" : "Tantum ergo in C",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "songid" : 195,
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tantum ergo in C"
+ },
+ {
+ "label" : "Tarentelas 1a, 2a, 3a (Anonyme)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "title" : "Tarentelas 1a, 2a, 3a (Anonyme)",
+ "songid" : 47,
+ "album" : "Tarentule - Taren",
+ "albumid" : 9,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1978,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/07-Tarentelas 1a, 2a, 3a (Anonyme).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 7,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ]
+ },
+ {
+ "track" : 7,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 215
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/07-Telemann: Concerto in E minor - 2.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1980,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 223,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in E minor - 2",
+ "title" : "Telemann: Concerto in E minor - 2",
+ "songid" : 1552,
+ "album" : "Alb"
+ },
+ {
+ "title" : "The Lovin' Machine",
+ "songid" : 536,
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "The Lovin' Machine",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/07-The Lovin' Machine.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "artistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 7,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 67,
+ "title" : "The Trumpet - WE WUZ ROBBED",
+ "album" : "Ten Minutes Older",
+ "songid" : 945,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Trumpet - WE WUZ ROBBED",
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/07-The Trumpet - WE WUZ ROBBED.mp3"
+ },
+ {
+ "albumartistid" : [
+ 193
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/07-Toni Harper-The Velvet Hammer.mp3",
+ "displayartist" : "Toni Harper",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Oldies"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "artist" : [
+ "Toni Harper"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 193
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Velvet Hammer",
+ "albumartist" : [
+ "Toni Harper"
+ ],
+ "songid" : 1485,
+ "title" : "The Velvet Hammer",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "albumid" : 199,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/07-Theme de la danse-Trahison.mp3",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "songid" : 1682,
+ "title" : "Theme de la danse-Trahison",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Theme de la danse-Trahison",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 228,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/07-Threat - Threats.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "artist" : [
+ "Jay-Z"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 7,
+ "songid" : 593,
+ "title" : "Threat - Threats",
+ "album" : "The Black Chronic",
+ "label" : "Threat - Threats",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "albumid" : 78,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Thugs And Murderers",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "title" : "Thugs And Murderers",
+ "songid" : 1154,
+ "album" : "Riot In The Hive Mind",
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "artist" : [
+ "the Faeries"
+ ],
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/07-Thugs And Murderers.mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Thème De La Danse - Trahison",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "title" : "Thème De La Danse - Trahison",
+ "songid" : 740,
+ "album" : "L' Africana",
+ "albumid" : 56,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/07-Thème De La Danse - Trahison.mp3",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 7,
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 44
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/07-Tocata 8.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 44,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Tocata 8",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "title" : "Tocata 8",
+ "songid" : 556,
+ "album" : "Tocates valencianes"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/07-Track08 KULHAU Sonatine op 20.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "artistid" : [
+ 56
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "title" : "Track08 KULHAU Sonatine op 20",
+ "songid" : 797,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "label" : "Track08 KULHAU Sonatine op 20",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/07-Waltz: from Gold und Silber.mp3",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "title" : "Waltz: from Gold und Silber",
+ "songid" : 1383,
+ "album" : "Violin exam pieces 2008-2011",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Waltz: from Gold und Silber",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 225,
+ "album" : "The Fat of the Band",
+ "title" : "Well Hard Geezer",
+ "songid" : 1626,
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Well Hard Geezer",
+ "artistid" : [
+ 217
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/07-Well Hard Geezer.mp3"
+ },
+ {
+ "displayartist" : "Frank Sinatra",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 41
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/07-You Do Something To Me.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "lyrics" : "",
+ "genre" : [
+ "Easy Listening"
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 20
+ ],
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "You Do Something To Me",
+ "album" : "Blue Skies",
+ "title" : "You Do Something To Me",
+ "songid" : 504,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 41,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/07-You're Getting All Over Me.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 63
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "You're Getting All Over Me",
+ "title" : "You're Getting All Over Me",
+ "album" : "Onie's Country Boppers",
+ "songid" : 927,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 66,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "label" : "бярђќ эх ѕюїхђ сѓ№ћщ ьшјър",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "бярђќ эх ѕюїхђ сѓ№ћщ ьшјър",
+ "songid" : 1701,
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 229,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/07-бярђќ эх ѕюїхђ сѓ№ћщ ьшјър.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 7,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 221
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumid" : 84,
+ "rating" : 0,
+ "year" : 2002,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "おなかがいっぱい",
+ "albumartist" : [
+ "のこいのこ"
+ ],
+ "title" : "おなかがいっぱい",
+ "album" : "おいしいうた・いただきまーす・",
+ "songid" : 1221,
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "のこいのこ"
+ ],
+ "artistid" : [
+ 79
+ ],
+ "albumartistid" : [
+ 79
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/07-のこいのこ-おなかがいっぱい.mp3",
+ "displayartist" : "のこいのこ",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/07-つなひきぞうさん.mp3",
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "track" : 7,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "title" : "つなひきぞうさん",
+ "songid" : 1757,
+ "album" : "ピアノスタディ1",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "つなひきぞうさん",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232
+ },
+ {
+ "albumid" : 233,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ひみつのパレード",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "songid" : 1794,
+ "title" : "ひみつのパレード",
+ "album" : "おかあさんといっしょ コロンパッ",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 7,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/07-ひみつのパレード.mp3",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/08-09 - La pollera de Jimmy (En v.mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Salsa"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "label" : "09 - La pollera de Jimmy (En v",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "title" : "09 - La pollera de Jimmy (En v",
+ "songid" : 355,
+ "album" : "EN VIVO EN PARAGUAY",
+ "albumid" : 31,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "albumid" : 71,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "09 Blues Before Sunrise",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "songid" : 1044,
+ "title" : "09 Blues Before Sunrise",
+ "album" : "Legend (Disk 2)",
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/08-09 Blues Before Sunrise.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/08-9 Marienvesper - Laetatus sum.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "artistid" : [
+ 60
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "title" : "9 Marienvesper - Laetatus sum",
+ "songid" : 870,
+ "label" : "9 Marienvesper - Laetatus sum",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0
+ },
+ {
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "artistid" : [
+ 65
+ ],
+ "genreid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "pigto",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/08-almorrana.mp3",
+ "albumartistid" : [
+ 65
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 68,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "pigto"
+ ],
+ "label" : "almorrana",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "depravada sexual",
+ "title" : "almorrana",
+ "songid" : 967
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/08-Ashokan Farewell.mp3",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 78
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "songid" : 1209,
+ "title" : "Ashokan Farewell",
+ "album" : "Atlantica",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ashokan Farewell",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 81,
+ "year" : 1996,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "label" : "Ball d'en Robafaves i la Geganta",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Ball d'en Robafaves i la Geganta",
+ "songid" : 853,
+ "album" : "Tocs i Músiques de Les Santes",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 62,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/08-Ball d'en Robafaves i la Geganta.mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 111,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Joe Maphis"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Banjo Rhythms",
+ "title" : "Banjo Rhythms",
+ "songid" : 1334,
+ "album" : "Bluegrass Banjo",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 107
+ ],
+ "artist" : [
+ "Joe Maphis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "displayartist" : "Joe Maphis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 107
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/08-Joe Maphis-Banjo Rhythms.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "artistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/08-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Blank",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "title" : "Blank",
+ "songid" : 1515,
+ "album" : "Chinese Pornography"
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Chicken Reel",
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "title" : "Chicken Reel",
+ "songid" : 830,
+ "album" : "This Is Gold D1 of 3",
+ "albumid" : 60,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 57
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/08-Les Paul-Chicken Reel.mp3",
+ "displayartist" : "Les Paul",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 57
+ ],
+ "artist" : [
+ "Les Paul"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 46,
+ "album" : "The Black Chronic",
+ "title" : "Clarity - Moment Of Clarity",
+ "songid" : 594,
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Clarity - Moment Of Clarity",
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "artistid" : [
+ 46
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 8,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jay-Z",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/08-Clarity - Moment Of Clarity.mp3"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/08-Country Chimes: No 17 from Let's Play the Violin.mp3",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "songid" : 1384,
+ "title" : "Country Chimes: No 17 from Let's Play the Violin",
+ "album" : "Violin exam pieces 2008-2011",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Country Chimes: No 17 from Let's Play the Violin",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137
+ },
+ {
+ "track" : 8,
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 42
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/08-Dark Water (feat. John Boutte).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 42,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Galactic"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dark Water (feat. John Boutte)",
+ "title" : "Dark Water (feat. John Boutte)",
+ "album" : "Ya-Ka-May",
+ "songid" : 521
+ },
+ {
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/08-Der Automat.mp3",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 55
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Der Automat",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "title" : "Der Automat",
+ "songid" : 780,
+ "album" : "Kottans Kapelle",
+ "albumid" : 58,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/08-Dialogue #4 (Intro of June Carter Cash).mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "title" : "Dialogue #4 (Intro of June Carter Cash)",
+ "songid" : 686,
+ "label" : "Dialogue #4 (Intro of June Carter Cash)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 53,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1976
+ },
+ {
+ "title" : "Dialogue #4 (Introduction Of June Carter Cash)",
+ "album" : "1976 - Strawberry Cake",
+ "songid" : 666,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #4 (Introduction Of June Carter Cash)",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 51,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/08-Dialogue #4 (Introduction Of June Carter Cash).mp3",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 19
+ ],
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "albumartistid" : [
+ 19
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/08-Don't Push.mp3",
+ "displayartist" : "Brad Nowell",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 19,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Don't Push",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "title" : "Don't Push",
+ "songid" : 157,
+ "album" : "Live At The Firecracker Lounge"
+ },
+ {
+ "track" : 8,
+ "genre" : [],
+ "lyrics" : "",
+ "artistid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dauner"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/08-Ein kleines Lied vom Frieden.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 32,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Dauner"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ein kleines Lied vom Frieden",
+ "title" : "Ein kleines Lied vom Frieden",
+ "songid" : 372,
+ "album" : "Wegzeichen"
+ },
+ {
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "artistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/08-Endoentestinal Excrement.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 30,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Endoentestinal Excrement",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "title" : "Endoentestinal Excrement",
+ "songid" : 334,
+ "album" : "Xenophilism"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 65,
+ "title" : "es geht eine Zipfelmütz",
+ "songid" : 910,
+ "album" : "die schönsten Kinderlieder",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "label" : "es geht eine Zipfelmütz",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "Music Kids"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/08-es geht eine Zipfelmütz.mp3",
+ "albumartistid" : [
+ 62
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 73,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "songid" : 1081,
+ "title" : "Freight Train",
+ "album" : "Barn Burners",
+ "label" : "Freight Train",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 8,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/08-Freight Train.mp3",
+ "albumartistid" : [
+ 70
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain"
+ },
+ {
+ "title" : "General Knas",
+ "album" : "Med Anledning Av..",
+ "songid" : 1119,
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "label" : "General Knas",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 75,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../08-General Knas.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ]
+ },
+ {
+ "title" : "Go On And Cry",
+ "songid" : 316,
+ "album" : "The Great Conway Twitty",
+ "label" : "Go On And Cry",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 28,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/08-Go On And Cry.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 8
+ },
+ {
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/08-h Trail.mp3",
+ "displayartist" : "Various Artists",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Various artists"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 95
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "h Trail",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "songid" : 1506,
+ "title" : "h Trail",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "albumid" : 220,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/08-Henry Hayes-Hayes' Boogie.mp3",
+ "albumartistid" : [
+ 2
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Henry Hayes",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 8,
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "artistid" : [
+ 2
+ ],
+ "label" : "Hayes' Boogie",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Henry Hayes"
+ ],
+ "title" : "Hayes' Boogie",
+ "album" : "Kangaroo Shuffle",
+ "songid" : 8,
+ "albumid" : 2,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1991,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 15,
+ "album" : "Brain Plugin Spaghetti",
+ "title" : "Hooligan",
+ "songid" : 122,
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Hooligan",
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 8,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/08-Hooligan.mp3"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Sextet [6]",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/08-Original Charlie Parker Sextet [6]-How Deep is the Ocean? [How High Is the Sky?] (take 2) [G].mp3",
+ "albumartistid" : [
+ 131
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 131
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Original Charlie Parker Sextet [6]"
+ ],
+ "label" : "How Deep is the Ocean? [How High Is the Sky?] (take 2) [G]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "How Deep is the Ocean? [How High Is the Sky?] (take 2) [G]",
+ "songid" : 1375,
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1947,
+ "albumid" : 136,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/08-I'd Rather Die Young.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 50,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "title" : "I'd Rather Die Young",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "songid" : 648,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I'd Rather Die Young",
+ "albumartist" : [
+ "Johnny Cash"
+ ]
+ },
+ {
+ "label" : "I'd Rather Die Young",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "album" : "The Fabulous Johnny Cash",
+ "title" : "I'd Rather Die Young",
+ "songid" : 705,
+ "albumid" : 54,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/08-I'd Rather Die Young.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 8,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/08-I'd Rather Die Young.mp3",
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 52
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 8,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "title" : "I'd Rather Die Young",
+ "songid" : 723,
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I'd Rather Die Young",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 55
+ },
+ {
+ "albumartistid" : [
+ 90
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/08-Idonia - Inocent Blood.mp3",
+ "displayartist" : "VA",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 31
+ ],
+ "artistid" : [
+ 90
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VA"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Idonia - Inocent Blood",
+ "albumartist" : [
+ "VA"
+ ],
+ "songid" : 1249,
+ "title" : "Idonia - Inocent Blood",
+ "album" : "Gangsta Rock",
+ "albumid" : 95,
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/08-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "ILL",
+ "album" : "Wildabeast",
+ "songid" : 1647,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 226,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Jelte uitkleden",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "title" : "Jelte uitkleden",
+ "songid" : 256,
+ "album" : "De Muziekfabriek",
+ "albumid" : 25,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/08-Jelte uitkleden.mp3",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/08-John's Been Shuckin' My Corn.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "artistid" : [
+ 63
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "songid" : 928,
+ "title" : "John's Been Shuckin' My Corn",
+ "album" : "Onie's Country Boppers",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "label" : "John's Been Shuckin' My Corn",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 66
+ },
+ {
+ "displayartist" : "Clothilde",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 164
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/08-Clothilde-La Balade Du Bossu.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clothilde"
+ ],
+ "artistid" : [
+ 164
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "albumartist" : [
+ "Clothilde"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "La Balade Du Bossu",
+ "songid" : 1455,
+ "title" : "La Balade Du Bossu",
+ "album" : "Swinging Mademoiselles",
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 170,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "songid" : 1536,
+ "title" : "La Cadillac en folie",
+ "album" : "Les aventures de Rabbi Jacob",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "label" : "La Cadillac en folie",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1973,
+ "albumid" : 222,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/08-La Cadillac en folie.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 214
+ ],
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "loco brain",
+ "title" : "loco brain",
+ "songid" : 1099,
+ "album" : "Juniorville 20",
+ "track" : 8,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Space Juniors"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/08-loco brain.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Machine Fucker",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "songid" : 448,
+ "title" : "Machine Fucker",
+ "album" : "World of Shit",
+ "albumid" : 38,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/08-Machine Fucker.mp3",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ]
+ },
+ {
+ "albumartistid" : [
+ 92
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/08-Clitoridus Invaginatus-Manipulated Flesh.mp3",
+ "displayartist" : "Clitoridus Invaginatus",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "artistid" : [
+ 92
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Manipulated Flesh",
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "title" : "Manipulated Flesh",
+ "songid" : 1281,
+ "album" : "3 Way Split CD",
+ "albumid" : 97,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/08-Meishan Sings.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "label" : "Meishan Sings",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1665,
+ "title" : "Meishan Sings",
+ "album" : "Raise The Red Lantern",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "albumid" : 227,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Michael Bolton's Hair",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "title" : "Michael Bolton's Hair",
+ "album" : "The Fat of the Band",
+ "songid" : 1627,
+ "albumid" : 225,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/08-Michael Bolton's Hair.mp3",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ]
+ },
+ {
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "NEO BAROQUE (Stage 7 ''Eden'')",
+ "songid" : 1739,
+ "title" : "NEO BAROQUE (Stage 7 ''Eden'')",
+ "album" : "プラスアルファ",
+ "year" : 1989,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/08-NEO BAROQUE (Stage 7 ''Eden'').mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "ジャレコ"
+ ],
+ "artistid" : [
+ 223
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/08-No. 9.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 8,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "label" : "No. 9",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "title" : "No. 9",
+ "songid" : 278,
+ "album" : "Children's Songs (SHM)",
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1984,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22,
+ "title" : "O du liebes Jesu Kind",
+ "songid" : 196,
+ "album" : "Oberösterreichische Kirchenmusik",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "O du liebes Jesu Kind",
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/08-O du liebes Jesu Kind.mp3"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Lindsay Tomasic, Lisa Rapport",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 140
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/08-Lindsay Tomasic, Lisa Rapport-Old 41 A.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 140
+ ],
+ "artist" : [
+ "Lindsay Tomasic, Lisa Rapport"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "track" : 8,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "album" : "Zentiva--Muzica de relaxare",
+ "title" : "Old 41 A",
+ "songid" : 1424,
+ "albumartist" : [
+ "Lindsay Tomasic, Lisa Rapport"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Old 41 A",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 146
+ },
+ {
+ "albumid" : 218,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "On The Old Spanis",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Roy Rogers w Spade Cooley & His Western Swing Band"
+ ],
+ "songid" : 1504,
+ "title" : "On The Old Spanis",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Roy Rogers w Spade Cooley & His Western Swing Band"
+ ],
+ "artistid" : [
+ 211
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/08-Roy Rogers w Spade Cooley & His Western Swing Band-On The Old Spanis.mp3",
+ "albumartistid" : [
+ 211
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Roy Rogers w Spade Cooley & His Western Swing Band",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/08-On The Sunny Side Of The Street.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "label" : "On The Sunny Side Of The Street",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "title" : "On The Sunny Side Of The Street",
+ "album" : "Blue Skies",
+ "songid" : 505,
+ "albumid" : 41,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/08-Oo Wee Baby (Baby I Love You).mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 8,
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "label" : "Oo Wee Baby (Baby I Love You)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "songid" : 27,
+ "title" : "Oo Wee Baby (Baby I Love You)",
+ "album" : "My Time Is The Right Time",
+ "albumid" : 8,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "songid" : 537,
+ "title" : "Pedal Paddle",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Pedal Paddle",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/08-Pedal Paddle.mp3",
+ "albumartistid" : [
+ 43
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 69,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 09",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 987,
+ "title" : "PONS Rumänisch - Track 09",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "track" : 8,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/08-PONS Rumänisch - Track 09.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "Powder Burn",
+ "album" : "Evolution Through Revolution",
+ "songid" : 216,
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "label" : "Powder Burn",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 23,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/08-Powder Burn.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "track" : 8,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/08-Reel - Colonel Rodney's.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - Colonel Rodney's",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Reel - Colonel Rodney's",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1570
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/08-Rock And Roll High School.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 67
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ramones"
+ ],
+ "label" : "Rock And Roll High School",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "songid" : 1024,
+ "title" : "Rock And Roll High School",
+ "album" : "Loco Live (CD 1)",
+ "albumid" : 70,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Roumeli and The Peloponnese - Part 1",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "title" : "Roumeli and The Peloponnese - Part 1",
+ "songid" : 67,
+ "album" : "Royal Greek Festival Company",
+ "albumid" : 10,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/08-Roumeli and The Peloponnese - Part 1.mp3",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "artistid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ]
+ },
+ {
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/08-Schwarze Lilie.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 57,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Schwarze Lilie",
+ "title" : "Schwarze Lilie",
+ "album" : "Tavernengeflüster",
+ "songid" : 760
+ },
+ {
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "artistid" : [
+ 21
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/08-Shell.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "album" : "More Music For Films",
+ "title" : "Shell",
+ "songid" : 175,
+ "label" : "Shell",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ]
+ },
+ {
+ "title" : "Silent Night",
+ "songid" : 1173,
+ "album" : "Have Yourself a Merry Little Christma",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Silent Night",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 79,
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/08-Silent Night.mp3",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "artistid" : [
+ 76
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 8
+ },
+ {
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 72,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "SKFK",
+ "title" : "SKFK",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1062,
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Rap"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "artistid" : [
+ 69
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/08-SKFK.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumid" : 36,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Smack ya face",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "title" : "Smack ya face",
+ "songid" : 426,
+ "album" : "Best of Defari",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "artistid" : [
+ 36
+ ],
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/08-Smack ya face.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "artistid" : [
+ 16
+ ],
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/08-Stocktakin'.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "albumid" : 16,
+ "album" : "Cunt",
+ "title" : "Stocktakin'",
+ "songid" : 140,
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "label" : "Stocktakin'",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1978,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "title" : "Tarentella. Tono hypodorico (Anonyme)",
+ "songid" : 48,
+ "album" : "Tarentule - Taren",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tarentella. Tono hypodorico (Anonyme)",
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/08-Tarentella. Tono hypodorico (Anonyme).mp3"
+ },
+ {
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/08-Tears of Joy.mp3",
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tears of Joy",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "title" : "Tears of Joy",
+ "album" : "Best of the Modern Years, (The)",
+ "songid" : 469,
+ "albumid" : 39,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/08-Telemann: Concerto in E minor - 3.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 215
+ ],
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "title" : "Telemann: Concerto in E minor - 3",
+ "songid" : 1553,
+ "album" : "Alb",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Telemann: Concerto in E minor - 3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 223
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/08-Textbook Timebomb.mp3",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 8,
+ "songid" : 391,
+ "title" : "Textbook Timebomb",
+ "album" : "Three Things At Once",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Textbook Timebomb",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 34,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/08-The Girl I Left Behind Me - Richard Chase.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 8,
+ "album" : "Appalachian Breakdown",
+ "title" : "The Girl I Left Behind Me - Richard Chase",
+ "songid" : 1305,
+ "label" : "The Girl I Left Behind Me - Richard Chase",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0
+ },
+ {
+ "title" : "The Great Seal",
+ "album" : "Riot In The Hive Mind",
+ "songid" : 1155,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Great Seal",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 78,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/08-The Great Seal.mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "artist" : [
+ "the Faeries"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "track" : 8
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/08-The Higher The Mountain.mp3",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 80,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "The Higher The Mountain",
+ "album" : "The Righful Ruler (Disc 2)",
+ "songid" : 1192,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Higher The Mountain",
+ "albumartist" : [
+ "U-Roy"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1997,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 11,
+ "album" : "The Very Best of Bent Fabric",
+ "title" : "The Old Piano Roll Blues",
+ "songid" : 86,
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Old Piano Roll Blues",
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/08-The Old Piano Roll Blues.mp3"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 13,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "label" : "The Power",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 102,
+ "title" : "The Power",
+ "album" : "The Entity",
+ "track" : 8,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 13
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/08-The Power.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "artistid" : [
+ 110
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Aretha Franklin"
+ ],
+ "genreid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Aretha Franklin",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/08-Aretha Franklin-The Shoop Shoop Song.mp3",
+ "albumartistid" : [
+ 110
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2014,
+ "rating" : 0,
+ "albumid" : 114,
+ "title" : "The Shoop Shoop Song",
+ "songid" : 1337,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "albumartist" : [
+ "Aretha Franklin"
+ ],
+ "label" : "The Shoop Shoop Song",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 67,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Trumpet - 100 FLOWERS HIDDEN DEEP",
+ "album" : "Ten Minutes Older",
+ "title" : "The Trumpet - 100 FLOWERS HIDDEN DEEP",
+ "songid" : 946,
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/08-The Trumpet - 100 FLOWERS HIDDEN DEEP.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "artistid" : [
+ 220
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/08-Theme du passe.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 228,
+ "songid" : 1683,
+ "title" : "Theme du passe",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "label" : "Theme du passe",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Guitar Gable",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 150
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/08-Guitar Gable-This Should Go on Forever.mp3",
+ "artist" : [
+ "Guitar Gable"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 150
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "track" : 8,
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "This Should Go on Forever",
+ "songid" : 1435,
+ "albumartist" : [
+ "Guitar Gable"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "This Should Go on Forever",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 156
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/08-Thème Du Passé.mp3",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 53
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "title" : "Thème Du Passé",
+ "songid" : 741,
+ "album" : "L' Africana",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Thème Du Passé",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 56,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/08-Tocata 9.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "artistid" : [
+ 44
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tocata 9",
+ "album" : "Tocates valencianes",
+ "title" : "Tocata 9",
+ "songid" : 557,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 44,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/08-Track09 BACH Courante (Suite n°3).mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "songid" : 798,
+ "title" : "Track09 BACH Courante (Suite n°3)",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track09 BACH Courante (Suite n°3)",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "label" : "Und von dem Hauch Deines Mundes",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Und von dem Hauch Deines Mundes",
+ "songid" : 890,
+ "albumid" : 64,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/08-Und von dem Hauch Deines Mundes.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ]
+ },
+ {
+ "albumid" : 27,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "What? You Don't Like Fun?",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "songid" : 298,
+ "title" : "What? You Don't Like Fun?",
+ "album" : "Attack!",
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "artist" : [
+ "Cockpunch"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/08-What? You Don't Like Fun?.mp3",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 77,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "When My Little Girl is Smiling",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "title" : "When My Little Girl is Smiling",
+ "album" : "Legends of Soul: The Drifters",
+ "songid" : 1137,
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "artist" : [
+ "The Drifters"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/08-When My Little Girl is Smiling.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 40,
+ "title" : "Whole Lotta Lovin",
+ "album" : "I'm Walking",
+ "songid" : 487,
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Whole Lotta Lovin",
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/08-Whole Lotta Lovin.mp3"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/08-Wind up Doll.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "title" : "Wind up Doll",
+ "album" : "Love Letters",
+ "songid" : 611,
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "label" : "Wind up Doll",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "albumid" : 47
+ },
+ {
+ "artistid" : [
+ 194
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Triumphs"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 8,
+ "genre" : [
+ "Oldies"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Triumphs",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/08-Triumphs-Workin'.mp3",
+ "albumartistid" : [
+ 194
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 200,
+ "songid" : 1486,
+ "title" : "Workin'",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "albumartist" : [
+ "Triumphs"
+ ],
+ "label" : "Workin'",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "title" : "You With Me?",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "songid" : 621,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "You With Me?",
+ "albumartist" : [
+ "God Bless You"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 48,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 48
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/08-God Bless You-You With Me?.mp3",
+ "displayartist" : "God Bless You",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "God Bless You"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 48
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 8
+ },
+ {
+ "albumartist" : [
+ "James Brown"
+ ],
+ "label" : "You're Mine You're Mine",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 576,
+ "title" : "You're Mine You're Mine",
+ "album" : "Here's James Brown",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2012,
+ "albumid" : 45,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "James Brown",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/08-You're Mine You're Mine.mp3",
+ "albumartistid" : [
+ 45
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "James Brown"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "genreid" : [
+ 23
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 8,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "VARIOS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/08-YURIKAGO NO UTA.mp3",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 96,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "YURIKAGO NO UTA",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "songid" : 1267,
+ "title" : "YURIKAGO NO UTA",
+ "album" : "AKATIAN NO TAMENO"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/08-Zion Higher.mp3",
+ "artistid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 8,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "title" : "Zion Higher",
+ "songid" : 238,
+ "album" : "Sounds from the Burning Spear",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Zion Higher",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 24
+ },
+ {
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 8,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/08-Zurück Zum Glück.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 35,
+ "album" : "Zurück Zum Glück",
+ "title" : "Zurück Zum Glück",
+ "songid" : 412,
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Zurück Zum Glück"
+ },
+ {
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "г ъюђр-ыш, ѓ ъюђр",
+ "title" : "г ъюђр-ыш, ѓ ъюђр",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "songid" : 1702,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 229,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/08-г ъюђр-ыш, ѓ ъюђр.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 8,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 221
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 85,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "ひばり児童合唱団"
+ ],
+ "label" : "アイスクリームの歌",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1222,
+ "title" : "アイスクリームの歌",
+ "album" : "おいしいうた・いただきまーす・",
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [],
+ "artistid" : [
+ 80
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ひばり児童合唱団"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "ひばり児童合唱団",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/08-ひばり児童合唱団-アイスクリームの歌.mp3",
+ "albumartistid" : [
+ 80
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "artistid" : [
+ 222
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/08-アナーキー・ミュージック.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "アナーキー・ミュージック",
+ "album" : "アナーキー・ライブ",
+ "title" : "アナーキー・ミュージック",
+ "songid" : 1721
+ },
+ {
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 8,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/08-ジャンケンポン.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "title" : "ジャンケンポン",
+ "songid" : 1758,
+ "album" : "ピアノスタディ1",
+ "label" : "ジャンケンポン",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ]
+ },
+ {
+ "track" : 8,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/08-夢のなか.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "夢のなか",
+ "title" : "夢のなか",
+ "songid" : 1795,
+ "album" : "おかあさんといっしょ コロンパッ"
+ },
+ {
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/09-10 - La danza de los mirlos (E.mp3",
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "10 - La danza de los mirlos (E",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "album" : "EN VIVO EN PARAGUAY",
+ "title" : "10 - La danza de los mirlos (E",
+ "songid" : 356,
+ "albumid" : 31,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/09-10 I've Had My Fun.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "10 I've Had My Fun",
+ "title" : "10 I've Had My Fun",
+ "songid" : 1045,
+ "album" : "Legend (Disk 2)",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 71,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "title" : "10 Marienvesper - Antiphon - Jam hiems",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "songid" : 871,
+ "label" : "10 Marienvesper - Antiphon - Jam hiems",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/09-10 Marienvesper - Antiphon - Jam hiems.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 60
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 9
+ },
+ {
+ "songid" : 257,
+ "title" : "Als 2 honden vechten om 1 been",
+ "album" : "De Muziekfabriek",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "label" : "Als 2 honden vechten om 1 been",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 25,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/09-Als 2 honden vechten om 1 been.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/09-Charlie Parker All Stars [5]-Another Hair-Do (take 2) [H].mp3",
+ "albumartistid" : [
+ 129
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 9,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 129
+ ],
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "label" : "Another Hair-Do (take 2) [H]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "title" : "Another Hair-Do (take 2) [H]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "songid" : 1357,
+ "albumid" : 134,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1947,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/09-Attack Dog.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 23,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "title" : "Attack Dog",
+ "album" : "Evolution Through Revolution",
+ "songid" : 217,
+ "label" : "Attack Dog",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brutal Truth"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ball de l'Àliga",
+ "title" : "Ball de l'Àliga",
+ "album" : "Tocs i Músiques de Les Santes",
+ "songid" : 854,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 62,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/09-Ball de l'Àliga.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ]
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Be My Guest",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "title" : "Be My Guest",
+ "songid" : 488,
+ "album" : "I'm Walking",
+ "albumid" : 40,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/09-Be My Guest.mp3",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ]
+ },
+ {
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "artistid" : [
+ 41
+ ],
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/09-Begin The Beguine.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 41,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1995,
+ "rating" : 0,
+ "songid" : 506,
+ "title" : "Begin The Beguine",
+ "album" : "Blue Skies",
+ "label" : "Begin The Beguine",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Frank Sinatra"
+ ]
+ },
+ {
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 221,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Blank",
+ "album" : "Chinese Pornography",
+ "title" : "Blank",
+ "songid" : 1516,
+ "track" : 9,
+ "genre" : [],
+ "lyrics" : "",
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/09-Blank.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "album" : "L' Africana",
+ "title" : "Blues De Victor",
+ "songid" : 742,
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Blues De Victor",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 56,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/09-Blues De Victor.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 9,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "title" : "Blues de Victor",
+ "songid" : 1684,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Blues de Victor",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 228,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/09-Blues de Victor.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "artistid" : [
+ 220
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "track" : 9,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 73,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Boil Them Cabbage Down",
+ "album" : "Barn Burners",
+ "songid" : 1082,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Boil Them Cabbage Down",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "artistid" : [
+ 70
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/09-Boil Them Cabbage Down.mp3",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : ""
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 55
+ ],
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Kottans Kapelle",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/09-Brüderherzen.mp3",
+ "albumartistid" : [
+ 55
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 58,
+ "title" : "Brüderherzen",
+ "songid" : 781,
+ "album" : "Kottans Kapelle",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "label" : "Brüderherzen",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 225,
+ "title" : "Candle with the Wind",
+ "album" : "The Fat of the Band",
+ "songid" : 1628,
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Candle with the Wind",
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 9,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/09-Candle with the Wind.mp3"
+ },
+ {
+ "track" : 9,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/09-Church in the Wildwood.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 53,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Church in the Wildwood",
+ "title" : "Church in the Wildwood",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "songid" : 687
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "albumid" : 51,
+ "album" : "1976 - Strawberry Cake",
+ "title" : "Church In The Wildwood - With June Carter Cash",
+ "songid" : 667,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Church In The Wildwood - With June Carter Cash",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/09-Church In The Wildwood - With June Carter Cash.mp3",
+ "albumartistid" : [
+ 50
+ ]
+ },
+ {
+ "artistid" : [
+ 35
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Die Toten Hosen",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/09-Die Behauptung.mp3",
+ "albumartistid" : [
+ 35
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 35,
+ "title" : "Die Behauptung",
+ "songid" : 413,
+ "album" : "Zurück Zum Glück",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "label" : "Die Behauptung",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "artistid" : [
+ 42
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/09-Do It Again (feat. Cheeky Blakk).mp3",
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 42,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Do It Again (feat. Cheeky Blakk)",
+ "songid" : 522,
+ "album" : "Ya-Ka-May",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Do It Again (feat. Cheeky Blakk)",
+ "albumartist" : [
+ "Galactic"
+ ]
+ },
+ {
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 91
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/09-DONGURI KOROKORO.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 96,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "songid" : 1268,
+ "title" : "DONGURI KOROKORO",
+ "album" : "AKATIAN NO TAMENO",
+ "label" : "DONGURI KOROKORO",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "VARIOS"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 118,
+ "songid" : 1341,
+ "title" : "Donna the Prima Donna",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "albumartist" : [
+ "Dion"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Donna the Prima Donna",
+ "artistid" : [
+ 114
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dion"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "track" : 9,
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Dion",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 114
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/09-Dion-Donna the Prima Donna.mp3"
+ },
+ {
+ "label" : "Empty Landscape",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "album" : "More Music For Films",
+ "title" : "Empty Landscape",
+ "songid" : 176,
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/09-Empty Landscape.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "track" : 9,
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "artist" : [
+ "Brian Eno"
+ ]
+ },
+ {
+ "label" : "Foggy Road",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "songid" : 239,
+ "title" : "Foggy Road",
+ "album" : "Sounds from the Burning Spear",
+ "albumid" : 24,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/09-Foggy Road.mp3",
+ "albumartistid" : [
+ 24
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Burning Spear",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ]
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Fuck The Nerd",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "title" : "Fuck The Nerd",
+ "album" : "Xenophilism",
+ "songid" : 335,
+ "albumid" : 30,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/09-Fuck The Nerd.mp3",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "artistid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ]
+ },
+ {
+ "artist" : [
+ "ジャレコ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/09-Ggme Start 2~Boss Stage.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1989,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "title" : "Ggme Start 2~Boss Stage",
+ "songid" : 1740,
+ "album" : "プラスアルファ",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ggme Start 2~Boss Stage"
+ },
+ {
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "label" : "Have I Been Away Too Long",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 317,
+ "title" : "Have I Been Away Too Long",
+ "album" : "The Great Conway Twitty",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 28,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/09-Have I Been Away Too Long.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "artistid" : [
+ 28
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/09-Hive Mind-Sex Slave.mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "title" : "Hive Mind-Sex Slave",
+ "album" : "Riot In The Hive Mind",
+ "songid" : 1156,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Hive Mind-Sex Slave",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 78,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "track" : 9,
+ "genre" : [
+ "Oldies"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Lonnis Smith"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 185
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "displayartist" : "Lonnis Smith",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 185
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/09-Lonnis Smith-Hola Muñeca.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 191,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Lonnis Smith"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Hola Muñeca",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "title" : "Hola Muñeca",
+ "songid" : 1477
+ },
+ {
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Hopp, hopp, hopp, Pferdchen lauf Galopp",
+ "title" : "Hopp, hopp, hopp, Pferdchen lauf Galopp",
+ "album" : "die schönsten Kinderlieder",
+ "songid" : 911,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 65,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/09-Hopp, hopp, hopp, Pferdchen lauf Galopp.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "artistid" : [
+ 62
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ]
+ },
+ {
+ "title" : "How Can I ?",
+ "songid" : 28,
+ "album" : "My Time Is The Right Time",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "How Can I ?",
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 8,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/09-How Can I ?.mp3",
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 9
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/09-Les Paul & Mary Ford-I Really Don't Want To Know.mp3",
+ "albumartistid" : [
+ 58
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Paul & Mary Ford",
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 58
+ ],
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "track" : 9,
+ "title" : "I Really Don't Want To Know",
+ "album" : "This Is Gold D1 of 3",
+ "songid" : 842,
+ "label" : "I Really Don't Want To Know",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 61,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005
+ },
+ {
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/09-I Wanna Be Sedated.mp3",
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 70,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Wanna Be Sedated",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "songid" : 1025,
+ "title" : "I Wanna Be Sedated",
+ "album" : "Loco Live (CD 1)"
+ },
+ {
+ "albumartist" : [
+ "Charles Sheffield"
+ ],
+ "label" : "I Would Be A Sinner",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "I Would Be A Sinner",
+ "songid" : 1434,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 155,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Charles Sheffield",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/09-Charles Sheffield-I Would Be A Sinner.mp3",
+ "albumartistid" : [
+ 149
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Charles Sheffield"
+ ],
+ "artistid" : [
+ 149
+ ],
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "label" : "Idealisation",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Cosette"
+ ],
+ "title" : "Idealisation",
+ "album" : "Swinging Mademoiselles",
+ "songid" : 1456,
+ "albumid" : 171,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/09-Cosette-Idealisation.mp3",
+ "albumartistid" : [
+ 165
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Cosette",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 165
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cosette"
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/09-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 218
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "title" : "ILL",
+ "album" : "Wildabeast",
+ "songid" : 1648,
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "title" : "Johnson Boys - Boone Reid",
+ "songid" : 1306,
+ "album" : "Appalachian Breakdown",
+ "label" : "Johnson Boys - Boone Reid",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/09-Johnson Boys - Boone Reid.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 9
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/09-juniorville.mp3",
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 74,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "juniorville",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "title" : "juniorville",
+ "songid" : 1100,
+ "album" : "Juniorville 20"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/09-King Tubby's Special.mp3",
+ "artistid" : [
+ 77
+ ],
+ "disc" : 0,
+ "artist" : [
+ "U-Roy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 9,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "album" : "The Righful Ruler (Disc 2)",
+ "title" : "King Tubby's Special",
+ "songid" : 1193,
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "King Tubby's Special",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 80
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 95,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Kip Rich - Hombre",
+ "album" : "Gangsta Rock",
+ "songid" : 1250,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Kip Rich - Hombre",
+ "albumartist" : [
+ "VA"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 31
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 90
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/09-Kip Rich - Hombre.mp3",
+ "displayartist" : "VA",
+ "thumbnail" : ""
+ },
+ {
+ "title" : "Kärlekssoldater",
+ "songid" : 1120,
+ "album" : "Med Anledning Av..",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Kärlekssoldater",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 75,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../09-Kärlekssoldater.mp3",
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 9
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68,
+ "album" : "depravada sexual",
+ "title" : "la coleccionista de mecos",
+ "songid" : 968,
+ "albumartist" : [
+ "pigto"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "la coleccionista de mecos",
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "artistid" : [
+ 65
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/09-la coleccionista de mecos.mp3"
+ },
+ {
+ "track" : 9,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/09-La danse des jeunes hassidiques.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1973,
+ "rating" : 0,
+ "albumid" : 222,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "label" : "La danse des jeunes hassidiques",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1537,
+ "title" : "La danse des jeunes hassidiques",
+ "album" : "Les aventures de Rabbi Jacob"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/09-La Tarentela (G. Sanz).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "songid" : 49,
+ "title" : "La Tarentela (G. Sanz)",
+ "album" : "Tarentule - Taren",
+ "label" : "La Tarentela (G. Sanz)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 9,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1978,
+ "rating" : 0
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 137,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Largo (Theme from 'New World' Symphony)",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1385,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Largo (Theme from 'New World' Symphony)",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/09-Largo (Theme from 'New World' Symphony).mp3",
+ "displayartist" : "Various",
+ "thumbnail" : ""
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "artistid" : [
+ 16
+ ],
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "genre" : [
+ "Grind Core"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/09-Letsallfuck.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "albumid" : 16,
+ "title" : "Letsallfuck",
+ "songid" : 141,
+ "album" : "Cunt",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "label" : "Letsallfuck",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "artistid" : [
+ 43
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/09-Little Darlin'.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Little Darlin'",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 538,
+ "title" : "Little Darlin'",
+ "album" : "The Little Darlin' Sound of Lloyd Green"
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 76
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/09-Little Drummer Boy.mp3",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 79,
+ "year" : 1987,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1174,
+ "title" : "Little Drummer Boy",
+ "album" : "Have Yourself a Merry Little Christma",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Little Drummer Boy",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Joe Hughes"
+ ],
+ "label" : "Make Me Dance Little Ants",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Make Me Dance Little Ants",
+ "album" : "Kangaroo Shuffle",
+ "songid" : 15,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1991,
+ "rating" : 0,
+ "albumid" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Joe Hughes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/09-Joe Hughes-Make Me Dance Little Ants.mp3",
+ "albumartistid" : [
+ 5
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "artist" : [
+ "Joe Hughes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 5
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "title" : "Mediterranean Trip",
+ "album" : "Zentiva--Muzica de relaxare",
+ "songid" : 1421,
+ "albumartist" : [
+ "Jamie Winchester, Tibor Bornai"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Mediterranean Trip",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 143,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jamie Winchester, Tibor Bornai",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 137
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/09-Jamie Winchester, Tibor Bornai-Mediterranean Trip.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 137
+ ],
+ "artist" : [
+ "Jamie Winchester, Tibor Bornai"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/09-No I Don't Guess I Will.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "artistid" : [
+ 63
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "label" : "No I Don't Guess I Will",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 929,
+ "title" : "No I Don't Guess I Will",
+ "album" : "Onie's Country Boppers",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 66,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "rating" : 0,
+ "year" : 2012,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 45,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "James Brown"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "No No No",
+ "songid" : 577,
+ "title" : "No No No",
+ "album" : "Here's James Brown",
+ "track" : 9,
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "James Brown"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/09-No No No.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "No. 10",
+ "songid" : 279,
+ "album" : "Children's Songs (SHM)",
+ "label" : "No. 10",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1984,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/09-No. 10.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Chick Corea"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 9
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/09-Nothing Left.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "album" : "Three Things At Once",
+ "title" : "Nothing Left",
+ "songid" : 392,
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Nothing Left",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 34
+ },
+ {
+ "title" : "Nun danket all",
+ "album" : "Wegzeichen",
+ "songid" : 373,
+ "albumartist" : [
+ "Dauner"
+ ],
+ "label" : "Nun danket all",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 32,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/09-Nun danket all.mp3",
+ "albumartistid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "artist" : [
+ "Dauner"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 15,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "O-Sex",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 123,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "O-Sex",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/09-O-Sex.mp3",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/09-Pickin' Time.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "label" : "Pickin' Time",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "title" : "Pickin' Time",
+ "songid" : 649,
+ "albumid" : 50,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 9,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/09-Pickin' Time.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 54,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Pickin' Time",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "album" : "The Fabulous Johnny Cash",
+ "title" : "Pickin' Time",
+ "songid" : 706
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 52
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/09-Pickin' Time.mp3",
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 55,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Pickin' Time",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "songid" : 724,
+ "title" : "Pickin' Time",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/09-PONS Rumänisch - Track 10.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "artistid" : [
+ 66
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "title" : "PONS Rumänisch - Track 10",
+ "songid" : 988,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 10",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 69
+ },
+ {
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "artistid" : [
+ 46
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/09-Problems - 99 Problems.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "title" : "Problems - 99 Problems",
+ "album" : "The Black Chronic",
+ "songid" : 595,
+ "label" : "Problems - 99 Problems",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ]
+ },
+ {
+ "title" : "Punk I",
+ "album" : "World of Shit",
+ "songid" : 449,
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "label" : "Punk I",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 38,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/09-Punk I.mp3",
+ "albumartistid" : [
+ 38
+ ],
+ "artistid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ]
+ },
+ {
+ "title" : "Put Her On Craigslist",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1063,
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Put Her On Craigslist",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 72,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/09-Put Her On Craigslist.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "artistid" : [
+ 69
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Rap"
+ ]
+ },
+ {
+ "songid" : 1325,
+ "title" : "Red Apple Juice",
+ "album" : "Bluegrass Banjo",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Red Apple Juice",
+ "albumartist" : [
+ "Dick Rasmini"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 105,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 101
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/09-Dick Rasmini-Red Apple Juice.mp3",
+ "displayartist" : "Dick Rasmini",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 101
+ ],
+ "artist" : [
+ "Dick Rasmini"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "track" : 9
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/09-Red River Valley.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 9,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "label" : "Red River Valley",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "title" : "Red River Valley",
+ "album" : "Atlantica",
+ "songid" : 1210,
+ "albumid" : 81,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1996,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/09-Reel - The Concertina.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Concertina",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - The Concertina",
+ "songid" : 1571,
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "label" : "Relentless Attack",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "The Entity",
+ "title" : "Relentless Attack",
+ "songid" : 103,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "albumid" : 13,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/09-Relentless Attack.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 10,
+ "title" : "Roumeli and The Peloponnese - Part 2",
+ "album" : "Royal Greek Festival Company",
+ "songid" : 68,
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Roumeli and The Peloponnese - Part 2",
+ "artistid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/09-Roumeli and The Peloponnese - Part 2.mp3"
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 36,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Say it twice",
+ "songid" : 427,
+ "album" : "Best of Defari",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Say it twice",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/09-Say it twice.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : ""
+ },
+ {
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "So dachte der Feind",
+ "songid" : 891,
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "So dachte der Feind",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 64,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/09-So dachte der Feind.mp3",
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 77,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2007,
+ "rating" : 0,
+ "title" : "Some Kind of Wonderful",
+ "songid" : 1138,
+ "album" : "Legends of Soul: The Drifters",
+ "label" : "Some Kind of Wonderful",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 74
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/09-Some Kind of Wonderful.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "thumbnail" : "",
+ "displayartist" : "The Drifters"
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/09-Sweet Evening Breeze.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 47,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "songid" : 612,
+ "title" : "Sweet Evening Breeze",
+ "album" : "Love Letters",
+ "label" : "Sweet Evening Breeze",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Jim Reeves"
+ ]
+ },
+ {
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 92
+ ],
+ "albumartistid" : [
+ 92
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/09-Clitoridus Invaginatus-Synthetic Cadaver.mp3",
+ "displayartist" : "Clitoridus Invaginatus",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 97,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Synthetic Cadaver",
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "title" : "Synthetic Cadaver",
+ "songid" : 1282,
+ "album" : "3 Way Split CD"
+ },
+ {
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "artistid" : [
+ 215
+ ],
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/09-Telemann: Concerto in E minor - 4.mp3",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 223,
+ "rating" : 0,
+ "year" : 1980,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in E minor - 4",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "album" : "Alb",
+ "title" : "Telemann: Concerto in E minor - 4",
+ "songid" : 1554
+ },
+ {
+ "albumid" : 49,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Morgue",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "title" : "The Morgue",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "songid" : 630,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 49
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/09-The Morgue.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 27,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "title" : "The Third X",
+ "album" : "Attack!",
+ "songid" : 299,
+ "label" : "The Third X",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "genreid" : [
+ 12
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "artist" : [
+ "Cockpunch"
+ ],
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/09-The Third X.mp3",
+ "albumartistid" : [
+ 27
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Cockpunch"
+ },
+ {
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/09-The Trumpet - CONCLUSIO.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 67,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Trumpet - CONCLUSIO",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "songid" : 947,
+ "title" : "The Trumpet - CONCLUSIO",
+ "album" : "Ten Minutes Older"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/09-Titena.mp3",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "songid" : 87,
+ "title" : "Titena",
+ "album" : "The Very Best of Bent Fabric",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Titena",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 11,
+ "year" : 1997,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/09-Tocata 10.mp3",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "artistid" : [
+ 44
+ ],
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "album" : "Tocates valencianes",
+ "title" : "Tocata 10",
+ "songid" : 558,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tocata 10",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 44,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/09-Tough Lover.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 39
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Etta James"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "albumartist" : [
+ "Etta James"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tough Lover",
+ "songid" : 470,
+ "title" : "Tough Lover",
+ "album" : "Best of the Modern Years, (The)",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 39,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/09-Track10 MOZART Sonate en Sib maj KV333.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59,
+ "title" : "Track10 MOZART Sonate en Sib maj KV333",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 799,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Track10 MOZART Sonate en Sib maj KV333"
+ },
+ {
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "label" : "Vorspiel und Fuge C-Moll",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Vorspiel und Fuge C-Moll",
+ "songid" : 197,
+ "album" : "Oberösterreichische Kirchenmusik",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "albumid" : 22,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Bruckner. Anton",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/09-Vorspiel und Fuge C-Moll.mp3",
+ "albumartistid" : [
+ 22
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "NBC Orch"
+ ],
+ "artistid" : [
+ 208
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "NBC Orch",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/09-NBC Orch-Wagon Train.mp3",
+ "albumartistid" : [
+ 208
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 215,
+ "songid" : 1501,
+ "title" : "Wagon Train",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "albumartist" : [
+ "NBC Orch"
+ ],
+ "label" : "Wagon Train",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/09-Young Master Returns - Meishan's Punishment.mp3",
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 9,
+ "album" : "Raise The Red Lantern",
+ "title" : "Young Master Returns - Meishan's Punishment",
+ "songid" : 1666,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Young Master Returns - Meishan's Punishment",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 227,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/09-Zimbabwe.mp3",
+ "albumartistid" : [
+ 19
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 19
+ ],
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "genre" : [],
+ "lyrics" : "",
+ "title" : "Zimbabwe",
+ "songid" : 158,
+ "album" : "Live At The Firecracker Lounge",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "label" : "Zimbabwe",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 19
+ },
+ {
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/09-Zum Tanze.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Zum Tanze",
+ "album" : "Tavernengeflüster",
+ "title" : "Zum Tanze",
+ "songid" : 761,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 57,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "track" : 9,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/09-гц ъръ ёюэ ѕюфшы яю ыртъх.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 229,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "гц ъръ ёюэ ѕюфшы яю ыртъх",
+ "songid" : 1703,
+ "title" : "гц ъръ ёюэ ѕюфшы яю ыртъх",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 232,
+ "songid" : 1759,
+ "title" : "あさひのなかを",
+ "album" : "ピアノスタディ1",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "あさひのなかを",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/09-あさひのなかを.mp3",
+ "albumartistid" : [
+ 224
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 84
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/09-松熊 由紀-とんでったバナナ.mp3",
+ "displayartist" : "松熊 由紀",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 84
+ ],
+ "artist" : [
+ "松熊 由紀"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 9,
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "とんでったバナナ",
+ "songid" : 1229,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "とんでったバナナ",
+ "albumartist" : [
+ "松熊 由紀"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 89,
+ "rating" : 0,
+ "year" : 2002,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 233,
+ "title" : "ジャバ・ジャバ・ビバ・ドゥー",
+ "songid" : 1796,
+ "album" : "おかあさんといっしょ コロンパッ",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "label" : "ジャバ・ジャバ・ビバ・ドゥー",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 9,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/09-ジャバ・ジャバ・ビバ・ドゥー.mp3",
+ "albumartistid" : [
+ 225
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/09-叫んでやるぜ!.mp3",
+ "albumartistid" : [
+ 222
+ ],
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "artistid" : [
+ 222
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 9,
+ "title" : "叫んでやるぜ!",
+ "songid" : 1722,
+ "album" : "アナーキー・ライブ",
+ "label" : "叫んでやるぜ!",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 230,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/10-11 - Solo aspirina (En vivo).mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "label" : "11 - Solo aspirina (En vivo)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 357,
+ "title" : "11 - Solo aspirina (En vivo)",
+ "album" : "EN VIVO EN PARAGUAY",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 31,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/10-11 Let's Have a Ball.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "label" : "11 Let's Have a Ball",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "11 Let's Have a Ball",
+ "songid" : 1046,
+ "album" : "Legend (Disk 2)",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 71,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 60
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/10-11 Marienvesper - Antiphon - Nigra sum.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "songid" : 872,
+ "title" : "11 Marienvesper - Antiphon - Nigra sum",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "label" : "11 Marienvesper - Antiphon - Nigra sum",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ]
+ },
+ {
+ "title" : "Aber Du ließest wehen Deinen Wind",
+ "songid" : 892,
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Aber Du ließest wehen Deinen Wind",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 64,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/10-Aber Du ließest wehen Deinen Wind.mp3",
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 10,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/10-Act Your Age.mp3",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "artistid" : [
+ 27
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore"
+ ],
+ "track" : 10,
+ "album" : "Attack!",
+ "title" : "Act Your Age",
+ "songid" : 300,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Act Your Age",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 27,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 129
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 129
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/10-Charlie Parker All Stars [5]-Another Hair-Do (take 4) [master] [H].mp3",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 134,
+ "rating" : 0,
+ "year" : 1947,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Another Hair-Do (take 4) [master] [H]",
+ "songid" : 1358,
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Another Hair-Do (take 4) [master] [H]",
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ]
+ },
+ {
+ "genre" : [
+ "Grind Core"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ],
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/10-Atracksuitisnotappropriatemetalapparel.mp3",
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 16,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Atracksuitisnotappropriatemetalapparel",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "songid" : 142,
+ "title" : "Atracksuitisnotappropriatemetalapparel",
+ "album" : "Cunt"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/10-Marty Robbins-Ballad Of The Alamo.mp3",
+ "albumartistid" : [
+ 207
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marty Robbins",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Marty Robbins"
+ ],
+ "artistid" : [
+ 207
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 10,
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "title" : "Ballad Of The Alamo",
+ "songid" : 1500,
+ "label" : "Ballad Of The Alamo",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Marty Robbins"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 214,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1994
+ },
+ {
+ "songid" : 1332,
+ "title" : "Banjo Bach",
+ "album" : "Bluegrass Banjo",
+ "albumartist" : [
+ "Jim McGuinn"
+ ],
+ "label" : "Banjo Bach",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 110,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jim McGuinn",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/10-Jim McGuinn-Banjo Bach.mp3",
+ "albumartistid" : [
+ 106
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim McGuinn"
+ ],
+ "artistid" : [
+ 106
+ ],
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 10,
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/10-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [],
+ "lyrics" : "",
+ "artistid" : [
+ 213
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "label" : "Blank",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Blank",
+ "album" : "Chinese Pornography",
+ "songid" : 1517,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 221,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Branded",
+ "songid" : 218,
+ "album" : "Evolution Through Revolution",
+ "label" : "Branded",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 23,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/10-Branded.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "track" : 10
+ },
+ {
+ "albumartist" : [
+ "pigto"
+ ],
+ "label" : "cocktail de clitoris",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "depravada sexual",
+ "title" : "cocktail de clitoris",
+ "songid" : 969,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 68,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "pigto",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/10-cocktail de clitoris.mp3",
+ "albumartistid" : [
+ 65
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "artistid" : [
+ 65
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "genreid" : [
+ 26
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumid" : 25,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "De drietrapsklarinet",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "songid" : 258,
+ "title" : "De drietrapsklarinet",
+ "album" : "De Muziekfabriek",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/10-De drietrapsklarinet.mp3",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/10-E.S.P. - P.S.A..mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 10,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "artist" : [
+ "Jay-Z"
+ ],
+ "label" : "E.S.P. - P.S.A.",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "title" : "E.S.P. - P.S.A.",
+ "songid" : 596,
+ "album" : "The Black Chronic",
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "ジャレコ"
+ ],
+ "artistid" : [
+ 223
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/10-Ending Theme.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1989,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "title" : "Ending Theme",
+ "album" : "プラスアルファ",
+ "songid" : 1741,
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ending Theme"
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Fill Your Pants with Fear",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "title" : "Fill Your Pants with Fear",
+ "songid" : 1629,
+ "album" : "The Fat of the Band",
+ "albumid" : 225,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/10-Fill Your Pants with Fear.mp3",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artistid" : [
+ 217
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ]
+ },
+ {
+ "title" : "Friend Of Yours?",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "songid" : 631,
+ "albumartist" : [
+ "John Powell"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Friend Of Yours?",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 49,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/10-Friend Of Yours?.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 10,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 96,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "GOMBEISAN NO AKATIAN",
+ "songid" : 1269,
+ "album" : "AKATIAN NO TAMENO",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "GOMBEISAN NO AKATIAN",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 91
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/10-GOMBEISAN NO AKATIAN.mp3",
+ "displayartist" : "VARIOS",
+ "thumbnail" : ""
+ },
+ {
+ "albumartist" : [
+ "Etta James"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Good Lookin'",
+ "title" : "Good Lookin'",
+ "songid" : 471,
+ "album" : "Best of the Modern Years, (The)",
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 39,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/10-Good Lookin'.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "track" : 10,
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Les Paul"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 57
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/10-Les Paul-Goofus.mp3",
+ "albumartistid" : [
+ 57
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 60,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Goofus",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "songid" : 831,
+ "title" : "Goofus",
+ "album" : "This Is Gold D1 of 3"
+ },
+ {
+ "label" : "Green Velvet",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "songid" : 539,
+ "title" : "Green Velvet",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "albumid" : 43,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/10-Green Velvet.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ]
+ },
+ {
+ "albumid" : 123,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Heartaches By the Number",
+ "albumartist" : [
+ "Guy Mitchell"
+ ],
+ "title" : "Heartaches By the Number",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "songid" : 1346,
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "artistid" : [
+ 119
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Guy Mitchell"
+ ],
+ "albumartistid" : [
+ 119
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/10-Guy Mitchell-Heartaches By the Number.mp3",
+ "displayartist" : "Guy Mitchell",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumartist" : [
+ "Al Ferrier"
+ ],
+ "label" : "Hey! Baby",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1431,
+ "title" : "Hey! Baby",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "albumid" : 152,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Al Ferrier",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/10-Al Ferrier-Hey! Baby.mp3",
+ "albumartistid" : [
+ 146
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Al Ferrier"
+ ],
+ "artistid" : [
+ 146
+ ],
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Music Kids"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/10-Hoppe hoppe Reiter.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 65,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "title" : "Hoppe hoppe Reiter",
+ "songid" : 912,
+ "album" : "die schönsten Kinderlieder",
+ "label" : "Hoppe hoppe Reiter",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Music Kids"
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 35,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "songid" : 414,
+ "title" : "How Do We Feel?",
+ "album" : "Zurück Zum Glück",
+ "label" : "How Do We Feel?",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "artistid" : [
+ 35
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/10-How Do We Feel?.mp3",
+ "albumartistid" : [
+ 35
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Die Toten Hosen"
+ },
+ {
+ "albumid" : 66,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "I Wanna Hokld My Baby",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "songid" : 930,
+ "title" : "I Wanna Hokld My Baby",
+ "album" : "Onie's Country Boppers",
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 63
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/10-I Wanna Hokld My Baby.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/10-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 10,
+ "title" : "ILL",
+ "songid" : 1649,
+ "album" : "Wildabeast",
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005
+ },
+ {
+ "title" : "ily",
+ "album" : "1976 - Strawberry Cake",
+ "songid" : 668,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ily",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 51,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/10-ily.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 10
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 137,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "title" : "In The Meadow. The Well-Tuned Fiddle, Book 1",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1386,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "In The Meadow. The Well-Tuned Fiddle, Book 1",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/10-In The Meadow. The Well-Tuned Fiddle, Book 1.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : ""
+ },
+ {
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "artistid" : [
+ 92
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "albumartistid" : [
+ 92
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/10-Clitoridus Invaginatus-Intestinal Blowjob.mp3",
+ "displayartist" : "Clitoridus Invaginatus",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 97,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Intestinal Blowjob",
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "songid" : 1283,
+ "title" : "Intestinal Blowjob",
+ "album" : "3 Way Split CD"
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 166
+ ],
+ "artist" : [
+ "Dephine Desyeux"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 166
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/10-Dephine Desyeux-Je Suis La Tigresse (I'm A Tiger).mp3",
+ "displayartist" : "Dephine Desyeux",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 172,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1457,
+ "title" : "Je Suis La Tigresse (I'm A Tiger)",
+ "album" : "Swinging Mademoiselles",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Je Suis La Tigresse (I'm A Tiger)",
+ "albumartist" : [
+ "Dephine Desyeux"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/10-joe pie.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Space Juniors"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "label" : "joe pie",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "joe pie",
+ "album" : "Juniorville 20",
+ "songid" : 1101,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 74,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 10,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/10-Juggle me.mp3",
+ "albumartistid" : [
+ 36
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 36,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Juggle me",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "songid" : 428,
+ "title" : "Juggle me",
+ "album" : "Best of Defari"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "artistid" : [
+ 40
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/10-Kansas City.mp3",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 40,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Kansas City",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "title" : "Kansas City",
+ "songid" : 489,
+ "album" : "I'm Walking"
+ },
+ {
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/10-Kirschwasser.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 57,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Kirschwasser",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "title" : "Kirschwasser",
+ "songid" : 762,
+ "album" : "Tavernengeflüster"
+ },
+ {
+ "albumartistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/10-Kyrie de la Missa de Glòria.mp3",
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Santes"
+ ],
+ "artistid" : [
+ 59
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Kyrie de la Missa de Glòria",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "title" : "Kyrie de la Missa de Glòria",
+ "album" : "Tocs i Músiques de Les Santes",
+ "songid" : 855,
+ "albumid" : 62,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "title" : "Liquor Pang (feat. Josh Cohen & Scully)",
+ "album" : "Ya-Ka-May",
+ "songid" : 523,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Liquor Pang (feat. Josh Cohen & Scully)",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 42,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/10-Liquor Pang (feat. Josh Cohen & Scully).mp3",
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "artistid" : [
+ 42
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "track" : 10
+ },
+ {
+ "songid" : 677,
+ "title" : "Lonesome Valley - With The Carter Fam",
+ "album" : "1976 - Strawberry Cake",
+ "albumartist" : [
+ "Medley: Church In The Wildwood"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Lonesome Valley - With The Carter Fam",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 52,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Medley: Church In The Wildwood",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 51
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/10-Medley: Church In The Wildwood-Lonesome Valley - With The Carter Fam.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Medley: Church In The Wildwood"
+ ],
+ "artistid" : [
+ 51
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 10,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/10-Macka Diamond - Dem Gal Deh.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "track" : 10,
+ "title" : "Macka Diamond - Dem Gal Deh",
+ "album" : "Gangsta Rock",
+ "songid" : 1251,
+ "label" : "Macka Diamond - Dem Gal Deh",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VA"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0
+ },
+ {
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/10-Martha Pleure.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 56,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Martha Pleure",
+ "songid" : 743,
+ "title" : "Martha Pleure",
+ "album" : "L' Africana"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/10-Martha pleure.mp3",
+ "artistid" : [
+ 220
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "title" : "Martha pleure",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "songid" : 1685,
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Martha pleure",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 228
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/10-Meditation.mp3",
+ "albumartistid" : [
+ 32
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 10,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Dauner"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "label" : "Meditation",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "title" : "Meditation",
+ "songid" : 374,
+ "album" : "Wegzeichen",
+ "albumid" : 32,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/10-Medley: Church in the Wildwood-> Lonesome Valley.mp3",
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 10,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "title" : "Medley: Church in the Wildwood-> Lonesome Valley",
+ "songid" : 688,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Medley: Church in the Wildwood-> Lonesome Valley",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 53
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 10,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/10-Messe für den Gründo. Graduale.mp3",
+ "albumartistid" : [
+ 22
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bruckner. Anton",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 22,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Messe für den Gründo. Graduale",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "Messe für den Gründo. Graduale",
+ "songid" : 198
+ },
+ {
+ "rating" : 0,
+ "year" : 1973,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 222,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Motocross rue de rivoli",
+ "songid" : 1538,
+ "title" : "Motocross rue de rivoli",
+ "album" : "Les aventures de Rabbi Jacob",
+ "track" : 10,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "artistid" : [
+ 214
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Vladimir Cosma",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 214
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/10-Motocross rue de rivoli.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 2
+ ],
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/10-Henry Hayes-Mustard Greens.mp3",
+ "albumartistid" : [
+ 2
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Henry Hayes",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 2,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1991,
+ "rating" : 0,
+ "album" : "Kangaroo Shuffle",
+ "title" : "Mustard Greens",
+ "songid" : 9,
+ "label" : "Mustard Greens",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Henry Hayes"
+ ]
+ },
+ {
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/10-My Willow Tree.mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "albumid" : 8,
+ "title" : "My Willow Tree",
+ "album" : "My Time Is The Right Time",
+ "songid" : 29,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "label" : "My Willow Tree",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "songid" : 1428,
+ "title" : "Mystic Veil",
+ "album" : "Zentiva--Muzica de relaxare",
+ "albumartist" : [
+ "Quito Colayco"
+ ],
+ "label" : "Mystic Veil",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 149,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Quito Colayco",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/10-Quito Colayco-Mystic Veil.mp3",
+ "albumartistid" : [
+ 143
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Quito Colayco"
+ ],
+ "artistid" : [
+ 143
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ]
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 26
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/10-No. 11.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1984,
+ "rating" : 0,
+ "title" : "No. 11",
+ "songid" : 280,
+ "album" : "Children's Songs (SHM)",
+ "label" : "No. 11",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Chick Corea"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Not Coming Back",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 393,
+ "title" : "Not Coming Back",
+ "album" : "Three Things At Once",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 34,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/10-Not Coming Back.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "title" : "Ol' Man River",
+ "album" : "Blue Skies",
+ "songid" : 507,
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ol' Man River",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 41,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Frank Sinatra",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 41
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/10-Ol' Man River.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 20
+ ],
+ "track" : 10,
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/10-PONS Rumänisch - Track 11.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "PONS Rumänisch - Track 11",
+ "albumartist" : [
+ "PONS"
+ ],
+ "songid" : 989,
+ "title" : "PONS Rumänisch - Track 11",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumid" : 69,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/10-Psycho Semtex Sex.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 15
+ ],
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 10,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "album" : "Brain Plugin Spaghetti",
+ "title" : "Psycho Semtex Sex",
+ "songid" : 124,
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Psycho Semtex Sex",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 15
+ },
+ {
+ "title" : "Punk II",
+ "songid" : 450,
+ "album" : "World of Shit",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Punk II",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/10-Punk II.mp3",
+ "artist" : [
+ "Eating Shit"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "track" : 10,
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Brian Eno"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/10-Reactor.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "title" : "Reactor",
+ "album" : "More Music For Films",
+ "songid" : 177,
+ "label" : "Reactor",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/10-Realization.mp3",
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Realization",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "album" : "Raise The Red Lantern",
+ "title" : "Realization",
+ "songid" : 1667,
+ "albumid" : 227,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "title" : "Reel - Conlon's (2)",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1572,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - Conlon's (2)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 224,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/10-Reel - Conlon's (2).mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 10,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/10-Reel: The Fairy Dance.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "label" : "Reel: The Fairy Dance",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1211,
+ "title" : "Reel: The Fairy Dance",
+ "album" : "Atlantica",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1996,
+ "rating" : 0,
+ "albumid" : 81,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "album" : "Kottans Kapelle",
+ "title" : "Rostige Flügel",
+ "songid" : 782,
+ "label" : "Rostige Flügel",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 58,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/10-Rostige Flügel.mp3",
+ "albumartistid" : [
+ 55
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Kottans Kapelle",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 55
+ ],
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 10
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/10-Roumeli and The Peloponnese - Part 3.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "label" : "Roumeli and The Peloponnese - Part 3",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Roumeli and The Peloponnese - Part 3",
+ "album" : "Royal Greek Festival Company",
+ "songid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "albumid" : 10,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumid" : 19,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Saw Red",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "album" : "Live At The Firecracker Lounge",
+ "title" : "Saw Red",
+ "songid" : 159,
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 10,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "artistid" : [
+ 19
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/10-Saw Red.mp3",
+ "albumartistid" : [
+ 19
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Scotish Gigg (Anonyme)",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "songid" : 50,
+ "title" : "Scotish Gigg (Anonyme)",
+ "album" : "Tarentule - Taren",
+ "albumid" : 9,
+ "rating" : 0,
+ "year" : 1978,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/10-Scotish Gigg (Anonyme).mp3",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ]
+ },
+ {
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/10-Shepherd Of My Heart.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 50,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Shepherd Of My Heart",
+ "title" : "Shepherd Of My Heart",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "songid" : 650
+ },
+ {
+ "songid" : 707,
+ "title" : "Shepherd Of My Heart",
+ "album" : "The Fabulous Johnny Cash",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Shepherd Of My Heart",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 54,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/10-Shepherd Of My Heart.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 10
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/10-Shepherd of My Heart.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "artistid" : [
+ 52
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "label" : "Shepherd of My Heart",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 725,
+ "title" : "Shepherd of My Heart",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 55,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Sitting In A Dim Cafe",
+ "songid" : 318,
+ "album" : "The Great Conway Twitty",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Sitting In A Dim Cafe",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 28,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 28
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/10-Sitting In A Dim Cafe.mp3",
+ "displayartist" : "Conway Twitty",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 10
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/10-Sourwood Mountain - Boone Reid.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Sourwood Mountain - Boone Reid",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "songid" : 1307,
+ "title" : "Sourwood Mountain - Boone Reid",
+ "album" : "Appalachian Breakdown"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/10-Sweet Govinda.mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "artistid" : [
+ 75
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "track" : 10,
+ "songid" : 1157,
+ "title" : "Sweet Govinda",
+ "album" : "Riot In The Hive Mind",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Sweet Govinda",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 78,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/10-Telemann: Concerto in D minor - 1.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 215
+ ],
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 10,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "title" : "Telemann: Concerto in D minor - 1",
+ "songid" : 1555,
+ "album" : "Alb",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in D minor - 1",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1980,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 223
+ },
+ {
+ "label" : "That Dood it",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "title" : "That Dood it",
+ "album" : "Here's James Brown",
+ "songid" : 578,
+ "albumid" : 45,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2012,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/10-That Dood it.mp3",
+ "albumartistid" : [
+ 45
+ ],
+ "thumbnail" : "",
+ "displayartist" : "James Brown",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "genreid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "artist" : [
+ "James Brown"
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 11,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1997,
+ "rating" : 0,
+ "title" : "The Drunken Penguin",
+ "album" : "The Very Best of Bent Fabric",
+ "songid" : 88,
+ "label" : "The Drunken Penguin",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 11
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/10-The Drunken Penguin.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric"
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 13,
+ "title" : "The Entity Lurks",
+ "songid" : 104,
+ "album" : "The Entity",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Entity Lurks",
+ "artistid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 10,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bernstein, Charles",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 13
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/10-The Entity Lurks.mp3"
+ },
+ {
+ "albumid" : 194,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Gal From Joe's",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Nina Simone"
+ ],
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "title" : "The Gal From Joe's",
+ "songid" : 1480,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "track" : 10,
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Nina Simone"
+ ],
+ "artistid" : [
+ 188
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/10-Nina Simone-The Gal From Joe's.mp3",
+ "albumartistid" : [
+ 188
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Nina Simone",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/10-The KKK Took My Baby Away.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2011,
+ "rating" : 0,
+ "albumid" : 70,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "The KKK Took My Baby Away",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1026,
+ "title" : "The KKK Took My Baby Away",
+ "album" : "Loco Live (CD 1)"
+ },
+ {
+ "album" : "Barn Burners",
+ "title" : "The Red River Valley",
+ "songid" : 1083,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Red River Valley",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 73,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/10-The Red River Valley.mp3",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 70
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 10
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 67,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "album" : "Ten Minutes Older",
+ "title" : "The Trumpet - END TITLES",
+ "songid" : 948,
+ "label" : "The Trumpet - END TITLES",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "artistid" : [
+ 64
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/10-The Trumpet - END TITLES.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 44,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "label" : "Tocata 11",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Tocata 11",
+ "album" : "Tocates valencianes",
+ "songid" : 559,
+ "track" : 10,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 44
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/10-Tocata 11.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "albumid" : 80,
+ "songid" : 1194,
+ "title" : "Tom Drunk",
+ "album" : "The Righful Ruler (Disc 2)",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "label" : "Tom Drunk",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 77
+ ],
+ "disc" : 0,
+ "artist" : [
+ "U-Roy"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "U-Roy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/10-Tom Drunk.mp3",
+ "albumartistid" : [
+ 77
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track11 HAYDN Symphonie n°88 en sol maj, 1er mvt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Track11 HAYDN Symphonie n°88 en sol maj, 1er mvt",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 800,
+ "track" : 10,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/10-Track11 HAYDN Symphonie n°88 en sol maj, 1er mvt.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "album" : "Xenophilism",
+ "title" : "Vulcoxantorrea",
+ "songid" : 336,
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Vulcoxantorrea",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 30,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/10-Vulcoxantorrea.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "artistid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ]
+ },
+ {
+ "title" : "Vår Anledning",
+ "album" : "Med Anledning Av..",
+ "songid" : 1121,
+ "label" : "Vår Anledning",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../10-Vår Anledning.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 10
+ },
+ {
+ "songid" : 240,
+ "title" : "We Are Free",
+ "album" : "Sounds from the Burning Spear",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "We Are Free",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 24,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/10-We Are Free.mp3",
+ "artistid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 77,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2007,
+ "rating" : 0,
+ "title" : "What'cha Gonna Do",
+ "songid" : 1139,
+ "album" : "Legends of Soul: The Drifters",
+ "label" : "What'cha Gonna Do",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "artist" : [
+ "The Drifters"
+ ],
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/10-What'cha Gonna Do.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "thumbnail" : "",
+ "displayartist" : "The Drifters"
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "artistid" : [
+ 69
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "track" : 10,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/10-Why You Mad?.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 72,
+ "title" : "Why You Mad?",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1064,
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Why You Mad?"
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 10,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/10-Winter Wonderland.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1987,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "songid" : 1175,
+ "title" : "Winter Wonderland",
+ "album" : "Have Yourself a Merry Little Christma",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Winter Wonderland"
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Your Old Love Letters",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "title" : "Your Old Love Letters",
+ "album" : "Love Letters",
+ "songid" : 613,
+ "albumid" : 47,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/10-Your Old Love Letters.mp3",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 10,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 229,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "label" : "Ющ, ыўыш",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1704,
+ "title" : "Ющ, ыўыш",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/10-Ющ, ыўыш.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/10-てんしのうた.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "title" : "てんしのうた",
+ "album" : "ピアノスタディ1",
+ "songid" : 1760,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "てんしのうた",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 233,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "title" : "まほうのとびら",
+ "album" : "おかあさんといっしょ コロンパッ",
+ "songid" : 1797,
+ "label" : "まほうのとびら",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "artistid" : [
+ 225
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 10,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/10-まほうのとびら.mp3",
+ "albumartistid" : [
+ 225
+ ],
+ "thumbnail" : "",
+ "displayartist" : "横山だいすけ、三谷たくみ"
+ },
+ {
+ "albumartist" : [
+ "速水けんたろう、茂森あゆみ"
+ ],
+ "label" : "バナナのおやこ",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "バナナのおやこ",
+ "album" : "おいしいうた・いただきまーす・",
+ "songid" : 1240,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 94,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "速水けんたろう、茂森あゆみ",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/10-速水けんたろう、茂森あゆみ-バナナのおやこ.mp3",
+ "albumartistid" : [
+ 89
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [],
+ "artist" : [
+ "速水けんたろう、茂森あゆみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 89
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "artistid" : [
+ 222
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 10,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/10-都会(まち).mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230,
+ "album" : "アナーキー・ライブ",
+ "title" : "都会(まち)",
+ "songid" : 1723,
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "都会(まち)"
+ },
+ {
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "12 - Los dueos del pabelln (",
+ "title" : "12 - Los dueos del pabelln (",
+ "album" : "EN VIVO EN PARAGUAY",
+ "songid" : 358,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 31,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/11-12 - Los dueos del pabelln (.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "genre" : [
+ "Salsa"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ]
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "artistid" : [
+ 60
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/11-12 Marienvesper - Nisi Dominus.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "songid" : 873,
+ "title" : "12 Marienvesper - Nisi Dominus",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "label" : "12 Marienvesper - Nisi Dominus",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/11-12 Someday - Blues is My Middle Name.mp3",
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 71,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "12 Someday - Blues is My Middle Name",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "songid" : 1047,
+ "title" : "12 Someday - Blues is My Middle Name",
+ "album" : "Legend (Disk 2)"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 38,
+ "album" : "World of Shit",
+ "title" : "A la Tienne",
+ "songid" : 451,
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "label" : "A la Tienne",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/11-A la Tienne.mp3",
+ "albumartistid" : [
+ 38
+ ]
+ },
+ {
+ "title" : "Adorable",
+ "album" : "Legends of Soul: The Drifters",
+ "songid" : 1140,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Adorable",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 77,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/11-Adorable.mp3",
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "artistid" : [
+ 74
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "track" : 11
+ },
+ {
+ "label" : "AI AI",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "songid" : 1270,
+ "title" : "AI AI",
+ "album" : "AKATIAN NO TAMENO",
+ "albumid" : 96,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/11-AI AI.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 11,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 91
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ]
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/11-Alley Cat Dance.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 11,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1997,
+ "title" : "Alley Cat Dance",
+ "songid" : 89,
+ "album" : "The Very Best of Bent Fabric",
+ "label" : "Alley Cat Dance",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bent Fabric"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/11-Blank.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 11,
+ "genre" : [],
+ "lyrics" : "",
+ "album" : "Chinese Pornography",
+ "title" : "Blank",
+ "songid" : 1518,
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Blank",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 221
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/11-Charlie Parker All Stars [5]-Bluebird (take 1) [H].mp3",
+ "albumartistid" : [
+ 129
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 129
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 11,
+ "title" : "Bluebird (take 1) [H]",
+ "songid" : 1359,
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "label" : "Bluebird (take 1) [H]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 134,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1947
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "The Hollywood Trombones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/11-Christmas Song.mp3",
+ "albumartistid" : [
+ 76
+ ],
+ "artistid" : [
+ 76
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "title" : "Christmas Song",
+ "songid" : 1176,
+ "album" : "Have Yourself a Merry Little Christma",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "label" : "Christmas Song",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1987,
+ "rating" : 0,
+ "albumid" : 79
+ },
+ {
+ "artistid" : [
+ 223
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ジャレコ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "track" : 11,
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/11-Continue~Game Over.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1989,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "title" : "Continue~Game Over",
+ "songid" : 1742,
+ "album" : "プラスアルファ",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Continue~Game Over"
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 109
+ ],
+ "artist" : [
+ "Mike Seeger"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Mike Seeger",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/11-Mike Seeger-Cripple Creek.mp3",
+ "albumartistid" : [
+ 109
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 113,
+ "title" : "Cripple Creek",
+ "songid" : 1336,
+ "album" : "Bluegrass Banjo",
+ "albumartist" : [
+ "Mike Seeger"
+ ],
+ "label" : "Cripple Creek",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/11-De foto-shoot.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "label" : "De foto-shoot",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "album" : "De Muziekfabriek",
+ "title" : "De foto-shoot",
+ "songid" : 259,
+ "albumid" : 25,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Den Elfte",
+ "album" : "Med Anledning Av..",
+ "title" : "Den Elfte",
+ "songid" : 1122,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 75,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../11-Den Elfte.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ]
+ },
+ {
+ "label" : "Detached",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "title" : "Detached",
+ "songid" : 219,
+ "album" : "Evolution Through Revolution",
+ "albumid" : 23,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/11-Detached.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/11-Dialogue #5.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 51,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Dialogue #5",
+ "songid" : 669,
+ "album" : "1976 - Strawberry Cake",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #5",
+ "albumartist" : [
+ "Johnny Cash"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #5",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "Dialogue #5",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "songid" : 689,
+ "albumid" : 53,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/11-Dialogue #5.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ]
+ },
+ {
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "Don't Blame Me",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Don't Blame Me",
+ "album" : "Blue Skies",
+ "songid" : 508,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1995,
+ "rating" : 0,
+ "albumid" : 41,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/11-Don't Blame Me.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Easy Listening"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumid" : 196,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Downstairs",
+ "albumartist" : [
+ "Plas Johnson"
+ ],
+ "title" : "Downstairs",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1482,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "artist" : [
+ "Plas Johnson"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 190
+ ],
+ "albumartistid" : [
+ 190
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/11-Plas Johnson-Downstairs.mp3",
+ "displayartist" : "Plas Johnson",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 68,
+ "title" : "el dulce aroma de un sangrado vaginal",
+ "album" : "depravada sexual",
+ "songid" : 970,
+ "albumartist" : [
+ "pigto"
+ ],
+ "label" : "el dulce aroma de un sangrado vaginal",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 65
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "genreid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "pigto",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/11-el dulce aroma de un sangrado vaginal.mp3",
+ "albumartistid" : [
+ 65
+ ]
+ },
+ {
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Fletcher",
+ "album" : "Riot In The Hive Mind",
+ "title" : "Fletcher",
+ "songid" : 1158,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 78,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/11-Fletcher.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "artist" : [
+ "the Faeries"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ]
+ },
+ {
+ "title" : "Freunde",
+ "songid" : 415,
+ "album" : "Zurück Zum Glück",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Freunde",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 35,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/11-Freunde.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "artistid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 11,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "label" : "Garden Grove",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "album" : "Live At The Firecracker Lounge",
+ "title" : "Garden Grove",
+ "songid" : 160,
+ "albumid" : 19,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/11-Garden Grove.mp3",
+ "albumartistid" : [
+ 19
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 11,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 19
+ ]
+ },
+ {
+ "genreid" : [
+ 12
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/11-Get It?.mp3",
+ "albumartistid" : [
+ 27
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Cockpunch",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 27,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "title" : "Get It?",
+ "album" : "Attack!",
+ "songid" : 301,
+ "label" : "Get It?",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Cockpunch"
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 15,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Git",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 125,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Git",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "artistid" : [
+ 15
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/11-Git.mp3",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : ""
+ },
+ {
+ "songid" : 856,
+ "title" : "Goigs de Les Santes",
+ "album" : "Tocs i Músiques de Les Santes",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Goigs de Les Santes",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 62,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Les Santes",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/11-Goigs de Les Santes.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Les Santes"
+ ],
+ "artistid" : [
+ 59
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ]
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/11-Goin Down The Road Feeling Bad - Etta Baker.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Goin Down The Road Feeling Bad - Etta Baker",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "songid" : 1308,
+ "title" : "Goin Down The Road Feeling Bad - Etta Baker",
+ "album" : "Appalachian Breakdown"
+ },
+ {
+ "albumid" : 119,
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Gonna Find Me a Bluebird",
+ "albumartist" : [
+ "Eddy Arnold"
+ ],
+ "title" : "Gonna Find Me a Bluebird",
+ "songid" : 1342,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eddy Arnold"
+ ],
+ "artistid" : [
+ 115
+ ],
+ "albumartistid" : [
+ 115
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/11-Eddy Arnold-Gonna Find Me a Bluebird.mp3",
+ "displayartist" : "Eddy Arnold",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 13,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Helium Attack",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "album" : "The Entity",
+ "title" : "Helium Attack",
+ "songid" : 105,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/11-Helium Attack.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 74,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "label" : "hey mumma",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "hey mumma",
+ "album" : "Juniorville 20",
+ "songid" : 1102,
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "artistid" : [
+ 71
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Space Juniors"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Space Juniors",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/11-hey mumma.mp3",
+ "albumartistid" : [
+ 71
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 11,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/11-I Can't Stand It.mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "albumid" : 8,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "label" : "I Can't Stand It",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "I Can't Stand It",
+ "songid" : 30,
+ "album" : "My Time Is The Right Time"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/11-I Wanna Live.mp3",
+ "artistid" : [
+ 67
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ramones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 11,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "album" : "Loco Live (CD 1)",
+ "title" : "I Wanna Live",
+ "songid" : 1027,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Wanna Live",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 70
+ },
+ {
+ "albumid" : 66,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I'm Satisfied With My Dreams",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "songid" : 931,
+ "title" : "I'm Satisfied With My Dreams",
+ "album" : "Onie's Country Boppers",
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/11-I'm Satisfied With My Dreams.mp3",
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "artistid" : [
+ 218
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/11-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 226,
+ "title" : "ILL",
+ "songid" : 1650,
+ "album" : "Wildabeast",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 57
+ ],
+ "artist" : [
+ "Les Paul"
+ ],
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/11-Les Paul-Jazz Me Blues.mp3",
+ "albumartistid" : [
+ 57
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 60,
+ "album" : "This Is Gold D1 of 3",
+ "title" : "Jazz Me Blues",
+ "songid" : 832,
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "label" : "Jazz Me Blues",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "artistid" : [
+ 62
+ ],
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/11-Jetzt zieht ein Hampelmann.mp3",
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 65,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Jetzt zieht ein Hampelmann",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "title" : "Jetzt zieht ein Hampelmann",
+ "songid" : 913,
+ "album" : "die schönsten Kinderlieder"
+ },
+ {
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 24
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/11-Joe Frazier.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 24,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Joe Frazier",
+ "album" : "Sounds from the Burning Spear",
+ "title" : "Joe Frazier",
+ "songid" : 241
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/11-Juggle me Pt.2.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 36,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Juggle me Pt.2",
+ "songid" : 429,
+ "album" : "Best of Defari",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Juggle me Pt.2",
+ "albumartist" : [
+ "DJ Revolution"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 46,
+ "album" : "The Black Chronic",
+ "title" : "Justify - Justify My Thug",
+ "songid" : 597,
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Justify - Justify My Thug",
+ "artist" : [
+ "Jay-Z"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jay-Z",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/11-Justify - Justify My Thug.mp3"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "albumid" : 142,
+ "title" : "Knockanore Hill",
+ "songid" : 1419,
+ "album" : "Zentiva--Muzica de relaxare",
+ "albumartist" : [
+ "Ian Clarke, Simon Painter"
+ ],
+ "label" : "Knockanore Hill",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artist" : [
+ "Ian Clarke, Simon Painter"
+ ],
+ "artistid" : [
+ 136
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ian Clarke, Simon Painter",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/11-Ian Clarke, Simon Painter-Knockanore Hill.mp3",
+ "albumartistid" : [
+ 136
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/11-Knocking on Heaven's Gate.mp3",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "album" : "The Fat of the Band",
+ "title" : "Knocking on Heaven's Gate",
+ "songid" : 1630,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Knocking on Heaven's Gate",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 225,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumid" : 42,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Krewe d'etat",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "title" : "Krewe d'etat",
+ "songid" : 524,
+ "album" : "Ya-Ka-May",
+ "lyrics" : "",
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "track" : 11,
+ "genreid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "artistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/11-Krewe d'etat.mp3",
+ "albumartistid" : [
+ 42
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Galactic",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/11-Isabelle De Funes-La Journee D'isabelle.mp3",
+ "albumartistid" : [
+ 168
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Isabelle De Funes",
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Isabelle De Funes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 168
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "title" : "La Journee D'isabelle",
+ "songid" : 1459,
+ "album" : "Swinging Mademoiselles",
+ "label" : "La Journee D'isabelle",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Isabelle De Funes"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 174,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/11-Le reveil d'Anna.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "title" : "Le reveil d'Anna",
+ "songid" : 1686,
+ "label" : "Le reveil d'Anna",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 228,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0
+ },
+ {
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/11-Le Réveil D'Anna.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 56,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Le Réveil D'Anna",
+ "title" : "Le Réveil D'Anna",
+ "album" : "L' Africana",
+ "songid" : 744
+ },
+ {
+ "albumid" : 28,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Let Me Be The Judge",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "title" : "Let Me Be The Judge",
+ "album" : "The Great Conway Twitty",
+ "songid" : 319,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 28
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "albumartistid" : [
+ 28
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/11-Let Me Be The Judge.mp3",
+ "displayartist" : "Conway Twitty",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumartist" : [
+ "James Brown"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Love Or A Game",
+ "songid" : 579,
+ "title" : "Love Or A Game",
+ "album" : "Here's James Brown",
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 45,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/11-Love Or A Game.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "artist" : [
+ "James Brown"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/11-Love Scene.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 49,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Love Scene",
+ "songid" : 632,
+ "album" : "Gigli (Original Motion Picture Score)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Love Scene",
+ "albumartist" : [
+ "John Powell"
+ ]
+ },
+ {
+ "title" : "Manic Euphoria",
+ "album" : "Three Things At Once",
+ "songid" : 394,
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Manic Euphoria",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 34,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/11-Manic Euphoria.mp3",
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ]
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Orch & Chorus Conducted by David Buttolph"
+ ],
+ "artistid" : [
+ 209
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 11,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Orch & Chorus Conducted by David Buttolph",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 209
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/11-Orch & Chorus Conducted by David Buttolph-Maverick.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 216,
+ "title" : "Maverick",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "songid" : 1502,
+ "albumartist" : [
+ "Orch & Chorus Conducted by David Buttolph"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Maverick"
+ },
+ {
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "label" : "My Blue Heaven",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 490,
+ "title" : "My Blue Heaven",
+ "album" : "I'm Walking",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 40,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Fats Domino",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/11-My Blue Heaven.mp3",
+ "albumartistid" : [
+ 40
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 40
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "artist" : [
+ "Chick Corea"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/11-No. 12.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1984,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 26,
+ "title" : "No. 12",
+ "songid" : 281,
+ "album" : "Children's Songs (SHM)",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "No. 12"
+ },
+ {
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "Offertorium",
+ "songid" : 199,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Offertorium",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 22,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/11-Offertorium.mp3",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 11
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/11-Playsong: No 1 from 24 Easy Little Concert Pieces, Vol 1.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 137,
+ "title" : "Playsong: No 1 from 24 Easy Little Concert Pieces, Vol 1",
+ "songid" : 1387,
+ "album" : "Violin exam pieces 2008-2011",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Playsong: No 1 from 24 Easy Little Concert Pieces, Vol 1",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "title" : "PONS Rumänisch - Track 12",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 990,
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 12",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 69,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/11-PONS Rumänisch - Track 12.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Bobby Jay"
+ ],
+ "label" : "Red Sails in the Sunset",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Red Sails in the Sunset",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "songid" : 1432,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 153,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Bobby Jay",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/11-Bobby Jay-Red Sails in the Sunset.mp3",
+ "albumartistid" : [
+ 147
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Bobby Jay"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 147
+ ],
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/11-Reel - The Crock of Gold.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 11,
+ "songid" : 1573,
+ "title" : "Reel - The Crock of Gold",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Crock of Gold",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/11-Roumeli and The Peloponnese - Part 4.mp3",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Roumeli and The Peloponnese - Part 4",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "album" : "Royal Greek Festival Company",
+ "title" : "Roumeli and The Peloponnese - Part 4",
+ "songid" : 70,
+ "albumid" : 10,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 30,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Splattered Vagina",
+ "songid" : 337,
+ "album" : "Xenophilism",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Splattered Vagina",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "artistid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/11-Splattered Vagina.mp3",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : ""
+ },
+ {
+ "albumid" : 72,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Stupid 2009",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "title" : "Stupid 2009",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1065,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 69
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/11-Stupid 2009.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 52
+ ],
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/11-Supper-Time.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 55,
+ "title" : "Supper-Time",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "songid" : 726,
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Supper-Time"
+ },
+ {
+ "title" : "Suppertime",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "songid" : 651,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Suppertime",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 50,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/11-Suppertime.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/11-Suppertime.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 54,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Suppertime",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "Suppertime",
+ "album" : "The Fabulous Johnny Cash",
+ "songid" : 708
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 90
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/11-T.O.K. - Gangsta.mp3",
+ "displayartist" : "VA",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 31
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VA"
+ ],
+ "artistid" : [
+ 90
+ ],
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "album" : "Gangsta Rock",
+ "title" : "T.O.K. - Gangsta",
+ "songid" : 1252,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "T.O.K. - Gangsta",
+ "albumartist" : [
+ "VA"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 95,
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "artist" : [
+ "Dauner"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/11-Tag für Tag.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 32,
+ "title" : "Tag für Tag",
+ "album" : "Wegzeichen",
+ "songid" : 375,
+ "albumartist" : [
+ "Dauner"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tag für Tag"
+ },
+ {
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tarentela (Anonyme)",
+ "songid" : 51,
+ "title" : "Tarentela (Anonyme)",
+ "album" : "Tarentule - Taren",
+ "rating" : 0,
+ "year" : 1978,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/11-Tarentela (Anonyme).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/11-Tavernengeflüster.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "title" : "Tavernengeflüster",
+ "songid" : 763,
+ "album" : "Tavernengeflüster",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "label" : "Tavernengeflüster",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 57
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in D minor - 2",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "album" : "Alb",
+ "title" : "Telemann: Concerto in D minor - 2",
+ "songid" : 1556,
+ "albumid" : 223,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/11-Telemann: Concerto in D minor - 2.mp3",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 215
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ]
+ },
+ {
+ "album" : "Ten Minutes Older",
+ "title" : "The Cello - OPENING TITLES",
+ "songid" : 949,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Cello - OPENING TITLES",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 67,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/11-The Cello - OPENING TITLES.mp3",
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "artistid" : [
+ 64
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 11
+ },
+ {
+ "title" : "The Pick-Up",
+ "album" : "Best of the Modern Years, (The)",
+ "songid" : 472,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Pick-Up",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 39,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/11-The Pick-Up.mp3",
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "track" : 11
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/11-The Secret.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "label" : "The Secret",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "title" : "The Secret",
+ "songid" : 178,
+ "album" : "More Music For Films",
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "artist" : [
+ "Herbert Milburn and the Lesabres"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 4
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 4
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/11-Herbert Milburn and the Lesabres-The Snake.mp3",
+ "displayartist" : "Herbert Milburn and the Lesabres",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 4,
+ "rating" : 0,
+ "year" : 1991,
+ "musicbrainzalbumartistid" : [],
+ "title" : "The Snake",
+ "album" : "Kangaroo Shuffle",
+ "songid" : 12,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Snake",
+ "albumartist" : [
+ "Herbert Milburn and the Lesabres"
+ ]
+ },
+ {
+ "track" : 11,
+ "genre" : [
+ "Grind Core"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ],
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/11-Thecorpsesong.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 16,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Thecorpsesong",
+ "title" : "Thecorpsesong",
+ "album" : "Cunt",
+ "songid" : 143
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artistid" : [
+ 77
+ ],
+ "disc" : 0,
+ "artist" : [
+ "U-Roy"
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/11-Tide Is High.mp3",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 80,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Tide Is High",
+ "album" : "The Righful Ruler (Disc 2)",
+ "songid" : 1195,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tide Is High",
+ "albumartist" : [
+ "U-Roy"
+ ]
+ },
+ {
+ "songid" : 614,
+ "title" : "Till The End of The World",
+ "album" : "Love Letters",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Till The End of The World",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 47,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/11-Till The End of The World.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 44,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "label" : "Tocata 12",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Tocata 12",
+ "songid" : 560,
+ "album" : "Tocates valencianes",
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "artistid" : [
+ 44
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/11-Tocata 12.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ],
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/11-Touch My Heart.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "title" : "Touch My Heart",
+ "songid" : 540,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Touch My Heart",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "artistid" : [
+ 56
+ ],
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/11-Track12 KULHAU Sonatine n°2 op 60.mp3",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 59,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Track12 KULHAU Sonatine n°2 op 60",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "title" : "Track12 KULHAU Sonatine n°2 op 60",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 801
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1973,
+ "albumid" : 222,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "label" : "Un poltron dans la nuit",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Les aventures de Rabbi Jacob",
+ "title" : "Un poltron dans la nuit",
+ "songid" : 1539,
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/11-Un poltron dans la nuit.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "track" : 11,
+ "genreid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "artistid" : [
+ 92
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/11-Clitoridus Invaginatus-Visceral Radiation.mp3",
+ "albumartistid" : [
+ 92
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Clitoridus Invaginatus",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 97,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Visceral Radiation",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "album" : "3 Way Split CD",
+ "title" : "Visceral Radiation",
+ "songid" : 1284
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/11-Wayfaring Stranger.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 11,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "artistid" : [
+ 78
+ ],
+ "label" : "Wayfaring Stranger",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "album" : "Atlantica",
+ "title" : "Wayfaring Stranger",
+ "songid" : 1212,
+ "albumid" : 81,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1996,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "title" : "Wer ist Dir gleich, o Herr, unter den Göttern?",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "songid" : 893,
+ "label" : "Wer ist Dir gleich, o Herr, unter den Göttern?",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 64,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/11-Wer ist Dir gleich, o Herr, unter den Göttern?.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 11
+ },
+ {
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 73,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "When The Saints Go Marching In",
+ "title" : "When The Saints Go Marching In",
+ "album" : "Barn Burners",
+ "songid" : 1084,
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [],
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/11-When The Saints Go Marching In.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "songid" : 1668,
+ "title" : "Winter",
+ "album" : "Raise The Red Lantern",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Winter",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 227,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/11-Winter.mp3",
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 219
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 11
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 58,
+ "title" : "Wo Bleibt Der Dedektiv",
+ "songid" : 783,
+ "album" : "Kottans Kapelle",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "label" : "Wo Bleibt Der Dedektiv",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artistid" : [
+ 55
+ ],
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 11,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Kottans Kapelle",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/11-Wo Bleibt Der Dedektiv.mp3",
+ "albumartistid" : [
+ 55
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 229,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "label" : "Эх ыюцшёџ эр ъ№рў",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "title" : "Эх ыюцшёџ эр ъ№рў",
+ "songid" : 1705,
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/11-Эх ыюцшёџ эр ъ№рў.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "でんきの子 ビリー",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "title" : "でんきの子 ビリー",
+ "songid" : 1798,
+ "album" : "おかあさんといっしょ コロンパッ",
+ "albumid" : 233,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/11-でんきの子 ビリー.mp3",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 11,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 11,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/11-のりもの.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "のりもの",
+ "songid" : 1761,
+ "album" : "ピアノスタディ1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "のりもの",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "速水 けんたろう",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 88
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/11-速水 けんたろう-やおやのおみせ.mp3",
+ "artist" : [
+ "速水 けんたろう"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 88
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 11,
+ "genre" : [],
+ "lyrics" : "",
+ "title" : "やおやのおみせ",
+ "album" : "おいしいうた・いただきまーす・",
+ "songid" : 1235,
+ "albumartist" : [
+ "速水 けんたろう"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "やおやのおみせ",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2002,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 93
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/11-平和の裏側.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 11,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "title" : "平和の裏側",
+ "album" : "アナーキー・ライブ",
+ "songid" : 1724,
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "平和の裏側",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 31,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 359,
+ "title" : "13 - La danza de los mirlos (E",
+ "album" : "EN VIVO EN PARAGUAY",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "13 - La danza de los mirlos (E",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/12-13 - La danza de los mirlos (E.mp3",
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : ""
+ },
+ {
+ "title" : "13 Marienvesper - Antiphon - Nigra sum",
+ "songid" : 874,
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "label" : "13 Marienvesper - Antiphon - Nigra sum",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 63,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/12-13 Marienvesper - Antiphon - Nigra sum.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/12-13 You'll Never Miss the Water Till the Well Runs Dry.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "13 You'll Never Miss the Water Till the Well Runs Dry",
+ "album" : "Legend (Disk 2)",
+ "title" : "13 You'll Never Miss the Water Till the Well Runs Dry",
+ "songid" : 1048,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 71,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "artistid" : [
+ 45
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/12-Baby Cries Over the Ocean.mp3",
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 45,
+ "rating" : 0,
+ "year" : 2012,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Baby Cries Over the Ocean",
+ "album" : "Here's James Brown",
+ "songid" : 580,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Baby Cries Over the Ocean",
+ "albumartist" : [
+ "James Brown"
+ ]
+ },
+ {
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "artist" : [
+ "Les Santes"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/12-Ball d'en Serrallonga de Mataró I.mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 62,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Ball d'en Serrallonga de Mataró I",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "album" : "Tocs i Músiques de Les Santes",
+ "title" : "Ball d'en Serrallonga de Mataró I",
+ "songid" : 857
+ },
+ {
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/12-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "title" : "Blank",
+ "songid" : 1519,
+ "album" : "Chinese Pornography",
+ "label" : "Blank",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 108,
+ "title" : "Blue Grass Banjo",
+ "album" : "Bluegrass Banjo",
+ "songid" : 1329,
+ "albumartist" : [
+ "Erik Darling"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Blue Grass Banjo",
+ "disc" : 0,
+ "artistid" : [
+ 104
+ ],
+ "artist" : [
+ "Erik Darling"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "track" : 12,
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Erik Darling",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 104
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/12-Erik Darling-Blue Grass Banjo.mp3"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/12-Blue Is The Way I Feel.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "artistid" : [
+ 28
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "label" : "Blue Is The Way I Feel",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "The Great Conway Twitty",
+ "title" : "Blue Is The Way I Feel",
+ "songid" : 320,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 28,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 129
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/12-Charlie Parker All Stars [5]-Bluebird (take 3) [master] [H].mp3",
+ "albumartistid" : [
+ 129
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1947,
+ "rating" : 0,
+ "albumid" : 134,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "label" : "Bluebird (take 3) [master] [H]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1360,
+ "title" : "Bluebird (take 3) [master] [H]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07"
+ },
+ {
+ "genreid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "genre" : [
+ "porno grind"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/12-come tu mierda bastarda.mp3",
+ "albumartistid" : [
+ 65
+ ],
+ "thumbnail" : "",
+ "displayartist" : "pigto",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 68,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "title" : "come tu mierda bastarda",
+ "songid" : 971,
+ "album" : "depravada sexual",
+ "label" : "come tu mierda bastarda",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "pigto"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 156,
+ "songid" : 1436,
+ "title" : "Congo Mombo",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "albumartist" : [
+ "Guitar Gable"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Congo Mombo",
+ "artist" : [
+ "Guitar Gable"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 150
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "track" : 12,
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Guitar Gable",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 150
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/12-Guitar Gable-Congo Mombo.mp3"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/12-Da verschlang sie das Grab.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Da verschlang sie das Grab",
+ "songid" : 894,
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "label" : "Da verschlang sie das Grab",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 64
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/12-Do Lord.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 73,
+ "title" : "Do Lord",
+ "songid" : 1085,
+ "album" : "Barn Burners",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Do Lord"
+ },
+ {
+ "albumartist" : [
+ "Roy Rogers"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Don't Fence Me In",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "title" : "Don't Fence Me In",
+ "songid" : 1503,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 217,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Roy Rogers",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 210
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/12-Roy Rogers-Don't Fence Me In.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 210
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Roy Rogers"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ]
+ },
+ {
+ "artist" : [
+ "Brian Eno"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "track" : 12,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Brian Eno",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/12-Don't Look Back.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 21,
+ "title" : "Don't Look Back",
+ "songid" : 179,
+ "album" : "More Music For Films",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Don't Look Back"
+ },
+ {
+ "songid" : 1196,
+ "title" : "Double Six",
+ "album" : "The Righful Ruler (Disc 2)",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Double Six",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 80,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/12-Double Six.mp3",
+ "artistid" : [
+ 77
+ ],
+ "disc" : 0,
+ "artist" : [
+ "U-Roy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ]
+ },
+ {
+ "track" : 12,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/12-Fast Forward.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 34,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Fast Forward",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Three Things At Once",
+ "title" : "Fast Forward",
+ "songid" : 395
+ },
+ {
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/12-Firefighter.mp3",
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Firefighter",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "title" : "Firefighter",
+ "songid" : 1631,
+ "album" : "The Fat of the Band",
+ "albumid" : 225,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Fuckyousceneboy",
+ "album" : "Cunt",
+ "title" : "Fuckyousceneboy",
+ "songid" : 144,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 16,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/12-Fuckyousceneboy.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ]
+ },
+ {
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/12-Get Mine.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Rap"
+ ],
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Get Mine",
+ "title" : "Get Mine",
+ "songid" : 1066,
+ "album" : "Buckets And Booty Calls",
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 72,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "artistid" : [
+ 219
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 219
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/12-Ghost.mp3",
+ "displayartist" : "Zhao Jiping",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 227,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Ghost",
+ "album" : "Raise The Red Lantern",
+ "songid" : 1669,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ghost",
+ "albumartist" : [
+ "Zhao Jiping"
+ ]
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "track" : 12,
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/12-Global Good Guy.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 23,
+ "title" : "Global Good Guy",
+ "songid" : 220,
+ "album" : "Evolution Through Revolution",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Global Good Guy"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jacqueline Perez",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 169
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/12-Jacqueline Perez-Go Home.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Jacqueline Perez"
+ ],
+ "artistid" : [
+ 169
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 12,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "songid" : 1460,
+ "title" : "Go Home",
+ "album" : "Swinging Mademoiselles",
+ "albumartist" : [
+ "Jacqueline Perez"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Go Home",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 175
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/12-Handle ur Buisness Verse.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "artistid" : [
+ 36
+ ],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "songid" : 430,
+ "title" : "Handle ur Buisness Verse",
+ "album" : "Best of Defari",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Handle ur Buisness Verse",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 36,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/12-heavy duty.mp3",
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "artistid" : [
+ 71
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Space Juniors"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "heavy duty",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "songid" : 1103,
+ "title" : "heavy duty",
+ "album" : "Juniorville 20",
+ "albumid" : 74,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Geoff Bastow, Jim Harbourg",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 135
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/12-Geoff Bastow, Jim Harbourg-Heavy Heart A.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 135
+ ],
+ "artist" : [
+ "Geoff Bastow, Jim Harbourg"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "track" : 12,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "songid" : 1417,
+ "title" : "Heavy Heart A",
+ "album" : "Zentiva--Muzica de relaxare",
+ "albumartist" : [
+ "Geoff Bastow, Jim Harbourg"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Heavy Heart A",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 141
+ },
+ {
+ "label" : "ILL",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "title" : "ILL",
+ "songid" : 1651,
+ "album" : "Wildabeast",
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/12-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 218
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ]
+ },
+ {
+ "album" : "Blue Skies",
+ "title" : "It All Depends On You",
+ "songid" : 509,
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "It All Depends On You",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1995,
+ "rating" : 0,
+ "albumid" : 41,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/12-It All Depends On You.mp3",
+ "albumartistid" : [
+ 41
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Easy Listening"
+ ]
+ },
+ {
+ "title" : "Keep Your Mind On Me",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1473,
+ "albumartist" : [
+ "Jarmels"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Keep Your Mind On Me",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 187,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jarmels",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 181
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/12-Jarmels-Keep Your Mind On Me.mp3",
+ "artistid" : [
+ 181
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jarmels"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "track" : 12,
+ "genre" : [
+ "Oldies"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/12-Koboldpunsch.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 12,
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "label" : "Koboldpunsch",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "title" : "Koboldpunsch",
+ "album" : "Tavernengeflüster",
+ "songid" : 764,
+ "albumid" : 57,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 19,
+ "songid" : 161,
+ "title" : "KRS-ONE",
+ "album" : "Live At The Firecracker Lounge",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "label" : "KRS-ONE",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "artistid" : [
+ 19
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brad Nowell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/12-KRS-ONE.mp3",
+ "albumartistid" : [
+ 19
+ ]
+ },
+ {
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "artistid" : [
+ 62
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/12-Kuckuck, kuckuck, rufts aus dem Wald.mp3",
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 65,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Kuckuck, kuckuck, rufts aus dem Wald",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "album" : "die schönsten Kinderlieder",
+ "title" : "Kuckuck, kuckuck, rufts aus dem Wald",
+ "songid" : 914
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 15,
+ "title" : "Let's Dance",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 126,
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Let's Dance",
+ "disc" : 0,
+ "artistid" : [
+ 15
+ ],
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/12-Let's Dance.mp3"
+ },
+ {
+ "albumid" : 60,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Little Rock Getaway",
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "title" : "Little Rock Getaway",
+ "album" : "This Is Gold D1 of 3",
+ "songid" : 833,
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ],
+ "artistid" : [
+ 57
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Paul"
+ ],
+ "albumartistid" : [
+ 57
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/12-Les Paul-Little Rock Getaway.mp3",
+ "displayartist" : "Les Paul",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/12-Love Song.mp3",
+ "albumartistid" : [
+ 38
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 38,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "songid" : 452,
+ "title" : "Love Song",
+ "album" : "World of Shit",
+ "label" : "Love Song",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Eating Shit"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 46,
+ "songid" : 598,
+ "title" : "Lucifer - Lucifer",
+ "album" : "The Black Chronic",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Lucifer - Lucifer",
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "artist" : [
+ "Jay-Z"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jay-Z",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/12-Lucifer - Lucifer.mp3"
+ },
+ {
+ "title" : "Majoran",
+ "songid" : 784,
+ "album" : "Kottans Kapelle",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Majoran",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 58,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/12-Majoran.mp3",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 55
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 12
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/12-Making Believe.mp3",
+ "albumartistid" : [
+ 47
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "title" : "Making Believe",
+ "songid" : 615,
+ "album" : "Love Letters",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "label" : "Making Believe",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 47
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/12-Market Place.mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "label" : "Market Place",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Best of the Modern Years, (The)",
+ "title" : "Market Place",
+ "songid" : 473,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 39,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/12-Massive Ignorance.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "artistid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "track" : 12,
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "title" : "Massive Ignorance",
+ "album" : "Xenophilism",
+ "songid" : 338,
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Massive Ignorance",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 30
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 32,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 376,
+ "title" : "Meditation",
+ "album" : "Wegzeichen",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Meditation",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "Dauner"
+ ],
+ "artistid" : [
+ 32
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/12-Meditation.mp3",
+ "displayartist" : "Dauner",
+ "thumbnail" : ""
+ },
+ {
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "albumartistid" : [
+ 75
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/12-Molech (The Great Owl).mp3",
+ "displayartist" : "the Faeries",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 78,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Molech (The Great Owl)",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "songid" : 1159,
+ "title" : "Molech (The Great Owl)",
+ "album" : "Riot In The Hive Mind"
+ },
+ {
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 77,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Money Honey",
+ "title" : "Money Honey",
+ "album" : "Legends of Soul: The Drifters",
+ "songid" : 1141,
+ "track" : 12,
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "The Drifters"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/12-Money Honey.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Mozart Source",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "album" : "The Entity",
+ "title" : "Mozart Source",
+ "songid" : 106,
+ "albumid" : 13,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 13
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/12-Mozart Source.mp3",
+ "displayartist" : "Bernstein, Charles",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 13
+ ],
+ "artist" : [
+ "Bernstein, Charles"
+ ]
+ },
+ {
+ "displayartist" : "VA",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 90
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/12-Mr. Vegas - Who A Dweet.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 31
+ ],
+ "albumartist" : [
+ "VA"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Mr. Vegas - Who A Dweet",
+ "songid" : 1253,
+ "title" : "Mr. Vegas - Who A Dweet",
+ "album" : "Gangsta Rock",
+ "year" : 2006,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 95,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/12-My Brain Is Hanging Upside Down (Bonzo Goes To Bitburg).mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 70,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "title" : "My Brain Is Hanging Upside Down (Bonzo Goes To Bitburg)",
+ "album" : "Loco Live (CD 1)",
+ "songid" : 1028,
+ "label" : "My Brain Is Hanging Upside Down (Bonzo Goes To Bitburg)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Ramones"
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 12,
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "artistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/12-My Time Is The Right Time.mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 8,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "My Time Is The Right Time",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "album" : "My Time Is The Right Time",
+ "title" : "My Time Is The Right Time",
+ "songid" : 31
+ },
+ {
+ "albumid" : 11,
+ "rating" : 0,
+ "year" : 1997,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Never Tease Tigers",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "songid" : 90,
+ "title" : "Never Tease Tigers",
+ "album" : "The Very Best of Bent Fabric",
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "albumartistid" : [
+ 11
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/12-Never Tease Tigers.mp3",
+ "displayartist" : "Bent Fabric",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "album" : "Sounds from the Burning Spear",
+ "title" : "New Civilization",
+ "songid" : 242,
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "label" : "New Civilization",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 24,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Burning Spear",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/12-New Civilization.mp3",
+ "albumartistid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/12-No. 13.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 12,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "label" : "No. 13",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "title" : "No. 13",
+ "songid" : 282,
+ "album" : "Children's Songs (SHM)",
+ "albumid" : 26,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1984,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/12-Oh What A Dream (Take 1).mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 12,
+ "title" : "Oh What A Dream (Take 1)",
+ "songid" : 652,
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "label" : "Oh What A Dream (Take 1)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 50,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 52
+ ],
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/12-Oh What a Dream (Take 1).mp3",
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 55,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Oh What a Dream (Take 1)",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "title" : "Oh What a Dream (Take 1)",
+ "songid" : 727,
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1"
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 54,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Oh, What A Dream [Take 1] [Previously Unreleased]",
+ "songid" : 709,
+ "album" : "The Fabulous Johnny Cash",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Oh, What A Dream [Take 1] [Previously Unreleased]",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/12-Oh, What A Dream [Take 1] [Previously Unreleased].mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/12-PONS Rumänisch - Track 13.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 69,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 13",
+ "songid" : 991,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 13",
+ "albumartist" : [
+ "PONS"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "label" : "Pontos",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 71,
+ "title" : "Pontos",
+ "album" : "Royal Greek Festival Company",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "albumid" : 10,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/12-Pontos.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Raaf wordt weggestuurd",
+ "title" : "Raaf wordt weggestuurd",
+ "songid" : 260,
+ "album" : "De Muziekfabriek",
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/12-Raaf wordt weggestuurd.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ]
+ },
+ {
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "label" : "Red Sails in the Sunset",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "I'm Walking",
+ "title" : "Red Sails in the Sunset",
+ "songid" : 491,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 40,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Fats Domino",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/12-Red Sails in the Sunset.mp3",
+ "albumartistid" : [
+ 40
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/12-Reel - The Daisy Field (The Wild Irishman).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Daisy Field (The Wild Irishman)",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - The Daisy Field (The Wild Irishman)",
+ "songid" : 1574
+ },
+ {
+ "rating" : 0,
+ "year" : 1995,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Sanctus",
+ "title" : "Sanctus",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "songid" : 200,
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/12-Sanctus.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 12,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/12-Scotland the Brave.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1996,
+ "albumid" : 81,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "label" : "Scotland the Brave",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1213,
+ "title" : "Scotland the Brave",
+ "album" : "Atlantica"
+ },
+ {
+ "albumid" : 96,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "SHIYABOMDAMA",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "album" : "AKATIAN NO TAMENO",
+ "title" : "SHIYABOMDAMA",
+ "songid" : 1271,
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 12,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "VARIOS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/12-SHIYABOMDAMA.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "title" : "Show Me The Way To The Circus",
+ "songid" : 541,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Show Me The Way To The Circus",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/12-Show Me The Way To The Circus.mp3",
+ "albumartistid" : [
+ 43
+ ]
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/12-Soldier's Joy - Lacey Phillips.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "title" : "Soldier's Joy - Lacey Phillips",
+ "album" : "Appalachian Breakdown",
+ "songid" : 1309,
+ "label" : "Soldier's Joy - Lacey Phillips",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ]
+ },
+ {
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 49
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/12-Some Place Clean.mp3",
+ "albumartistid" : [
+ 49
+ ],
+ "thumbnail" : "",
+ "displayartist" : "John Powell",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 49,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "title" : "Some Place Clean",
+ "songid" : 633,
+ "album" : "Gigli (Original Motion Picture Score)",
+ "label" : "Some Place Clean",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "John Powell"
+ ]
+ },
+ {
+ "albumid" : 75,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Språkets Funktion",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "title" : "Språkets Funktion",
+ "songid" : 1123,
+ "album" : "Med Anledning Av..",
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../12-Språkets Funktion.mp3",
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "artistid" : [
+ 92
+ ],
+ "genreid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Clitoridus Invaginatus",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/12-Clitoridus Invaginatus-Squirtingland.mp3",
+ "albumartistid" : [
+ 92
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 97,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "label" : "Squirtingland",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "3 Way Split CD",
+ "title" : "Squirtingland",
+ "songid" : 1285
+ },
+ {
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 51,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Strawberry Cake",
+ "album" : "1976 - Strawberry Cake",
+ "title" : "Strawberry Cake",
+ "songid" : 670,
+ "track" : 12,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/12-Strawberry Cake.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/12-Strawberry Cake.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "albumid" : 53,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "title" : "Strawberry Cake",
+ "songid" : 690,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Strawberry Cake",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/12-Tango: No 12 from Take the Stage.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Tango: No 12 from Take the Stage",
+ "songid" : 1388,
+ "label" : "Tango: No 12 from Take the Stage",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ]
+ },
+ {
+ "songid" : 52,
+ "title" : "Tarentelas (S. de Murcia)",
+ "album" : "Tarentule - Taren",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "label" : "Tarentelas (S. de Murcia)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1978,
+ "rating" : 0,
+ "albumid" : 9,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/12-Tarentelas (S. de Murcia).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in D minor - 3",
+ "title" : "Telemann: Concerto in D minor - 3",
+ "album" : "Alb",
+ "songid" : 1557,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 223,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/12-Telemann: Concerto in D minor - 3.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 215
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ]
+ },
+ {
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Cello - HISTOIRE D'EAUX",
+ "title" : "The Cello - HISTOIRE D'EAUX",
+ "album" : "Ten Minutes Older",
+ "songid" : 950,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 67,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/12-The Cello - HISTOIRE D'EAUX.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ]
+ },
+ {
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/12-Theme du passe. Variation A. \"Tu m'a manque\".mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 228,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Theme du passe. Variation A. \"Tu m'a manque\"",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "title" : "Theme du passe. Variation A. \"Tu m'a manque\"",
+ "songid" : 1687
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/12-Herbert Milburn and the Lesabres-They Say.mp3",
+ "albumartistid" : [
+ 4
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Herbert Milburn and the Lesabres",
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Herbert Milburn and the Lesabres"
+ ],
+ "artistid" : [
+ 4
+ ],
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "track" : 12,
+ "songid" : 13,
+ "title" : "They Say",
+ "album" : "Kangaroo Shuffle",
+ "label" : "They Say",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Herbert Milburn and the Lesabres"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 4,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1991,
+ "rating" : 0
+ },
+ {
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "label" : "Thème Du Passé, Variation A. \"Tu M'A Manqué\"",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Thème Du Passé, Variation A. \"Tu M'A Manqué\"",
+ "album" : "L' Africana",
+ "songid" : 745,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 56,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/12-Thème Du Passé, Variation A. \"Tu M'A Manqué\".mp3",
+ "albumartistid" : [
+ 53
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 53
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/12-Tocata 13.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Tocata 13",
+ "album" : "Tocates valencianes",
+ "title" : "Tocata 13",
+ "songid" : 561,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 44,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumid" : 66,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Too Hot To Handle",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "title" : "Too Hot To Handle",
+ "album" : "Onie's Country Boppers",
+ "songid" : 932,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 63
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/12-Too Hot To Handle.mp3",
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 12,
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "artist" : [
+ "Cockpunch"
+ ],
+ "genreid" : [
+ 12
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Cockpunch",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/12-Toxic Dumptruck.mp3",
+ "albumartistid" : [
+ 27
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2007,
+ "rating" : 0,
+ "albumid" : 27,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "label" : "Toxic Dumptruck",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 302,
+ "title" : "Toxic Dumptruck",
+ "album" : "Attack!"
+ },
+ {
+ "label" : "Track13 PUIG-ROGET M... comme marionnettes",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "title" : "Track13 PUIG-ROGET M... comme marionnettes",
+ "songid" : 802,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/12-Track13 PUIG-ROGET M... comme marionnettes.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 12,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ]
+ },
+ {
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 214
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 12,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Vladimir Cosma",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 214
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/12-Tzipe, la gentille marieuse.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1973,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 222,
+ "title" : "Tzipe, la gentille marieuse",
+ "album" : "Les aventures de Rabbi Jacob",
+ "songid" : 1540,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tzipe, la gentille marieuse"
+ },
+ {
+ "label" : "Wahlkampf",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "title" : "Wahlkampf",
+ "songid" : 416,
+ "album" : "Zurück Zum Glück",
+ "albumid" : 35,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/12-Wahlkampf.mp3",
+ "albumartistid" : [
+ 35
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Die Toten Hosen",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 12,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "artist" : [
+ "Die Toten Hosen"
+ ]
+ },
+ {
+ "title" : "We Wish You a Merry Christmas",
+ "album" : "Have Yourself a Merry Little Christma",
+ "songid" : 1177,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "We Wish You a Merry Christmas",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 79,
+ "year" : 1987,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/12-We Wish You a Merry Christmas.mp3",
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artistid" : [
+ 76
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 12
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Bob B. Sox and the Blue Jeans"
+ ],
+ "artistid" : [
+ 112
+ ],
+ "genreid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 12,
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bob B. Sox and the Blue Jeans",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/12-Bob B. Sox and the Blue Jeans-Why Do Lovers Break Each Others Hearts?.mp3",
+ "albumartistid" : [
+ 112
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2014,
+ "albumid" : 116,
+ "title" : "Why Do Lovers Break Each Others Hearts?",
+ "songid" : 1339,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "albumartist" : [
+ "Bob B. Sox and the Blue Jeans"
+ ],
+ "label" : "Why Do Lovers Break Each Others Hearts?",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "songid" : 525,
+ "title" : "You Don't Know (feat. Glen David Andrews)",
+ "album" : "Ya-Ka-May",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "You Don't Know (feat. Glen David Andrews)",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 42,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/12-You Don't Know (feat. Glen David Andrews).mp3",
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "artist" : [
+ "Galactic"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 42
+ ],
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "track" : 12
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/12-Яхёэш тќўур яюИђ.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "artistid" : [
+ 221
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "label" : "Яхёэш тќўур яюИђ",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "title" : "Яхёэш тќўур яюИђ",
+ "songid" : 1706,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 229,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "おまつりすんだはらっぱに",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "title" : "おまつりすんだはらっぱに",
+ "album" : "おかあさんといっしょ コロンパッ",
+ "songid" : 1799,
+ "albumid" : 233,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/12-おまつりすんだはらっぱに.mp3",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/12-かざぐるま.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 12,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "かざぐるま",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "songid" : 1762,
+ "title" : "かざぐるま",
+ "album" : "ピアノスタディ1",
+ "albumid" : 232,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "アナーキー・シティー",
+ "songid" : 1725,
+ "title" : "アナーキー・シティー",
+ "album" : "アナーキー・ライブ",
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/12-アナーキー・シティー.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 12,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 222
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ]
+ },
+ {
+ "year" : 2002,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 89,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "松熊 由紀"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "トマト",
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "トマト",
+ "songid" : 1230,
+ "track" : 12,
+ "genre" : [],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 84
+ ],
+ "artist" : [
+ "松熊 由紀"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "displayartist" : "松熊 由紀",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 84
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/12-松熊 由紀-トマト.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 231,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1989,
+ "songid" : 1743,
+ "title" : "未使用曲 1 (午後の浜辺)",
+ "album" : "プラスアルファ",
+ "label" : "未使用曲 1 (午後の浜辺)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "genreid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "ジャレコ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "track" : 12,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/12-未使用曲 1 (午後の浜辺).mp3",
+ "albumartistid" : [
+ 223
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ"
+ },
+ {
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "artistid" : [
+ 31
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ],
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/13-14 - La danza del tabln (En v.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 31,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "14 - La danza del tabln (En v",
+ "album" : "EN VIVO EN PARAGUAY",
+ "title" : "14 - La danza del tabln (En v",
+ "songid" : 360
+ },
+ {
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "14 Marienvesper - Antiphon - Speciosa facta est",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "songid" : 875,
+ "title" : "14 Marienvesper - Antiphon - Speciosa facta est",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 60
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/13-14 Marienvesper - Antiphon - Speciosa facta est.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/13-14 The Snow is Falling.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "title" : "14 The Snow is Falling",
+ "songid" : 1049,
+ "album" : "Legend (Disk 2)",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "label" : "14 The Snow is Falling",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 71
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/13-Allure - Allure.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Jay-Z"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 13,
+ "title" : "Allure - Allure",
+ "album" : "The Black Chronic",
+ "songid" : 599,
+ "label" : "Allure - Allure",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0
+ },
+ {
+ "title" : "Alozade & Chico - Gangsta Game",
+ "album" : "Gangsta Rock",
+ "songid" : 1254,
+ "albumartist" : [
+ "VA"
+ ],
+ "label" : "Alozade & Chico - Gangsta Game",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "albumid" : 95,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/13-Alozade & Chico - Gangsta Game.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ]
+ },
+ {
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Away in a Manger",
+ "title" : "Away in a Manger",
+ "songid" : 1178,
+ "album" : "Have Yourself a Merry Little Christma",
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/13-Away in a Manger.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 76
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1973,
+ "albumid" : 222,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "label" : "Bagarre dans le chewing gum",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Bagarre dans le chewing gum",
+ "songid" : 1541,
+ "album" : "Les aventures de Rabbi Jacob",
+ "track" : 13,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/13-Bagarre dans le chewing gum.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/13-Ball d'en Serrallonga de Mataró II.mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 59
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Santes"
+ ],
+ "label" : "Ball d'en Serrallonga de Mataró II",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "album" : "Tocs i Músiques de Les Santes",
+ "title" : "Ball d'en Serrallonga de Mataró II",
+ "songid" : 858,
+ "albumid" : 62,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Benedictus",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "Benedictus",
+ "songid" : 201,
+ "track" : 13,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/13-Benedictus.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 38,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Bidon",
+ "songid" : 453,
+ "album" : "World of Shit",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Bidon",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/13-Bidon.mp3",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/13-Blank.mp3",
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 221,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Blank",
+ "songid" : 1520,
+ "album" : "Chinese Pornography",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Blank",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "label" : "Brazil",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Brazil",
+ "songid" : 834,
+ "album" : "This Is Gold D1 of 3",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 60,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/13-Les Paul-Brazil.mp3",
+ "albumartistid" : [
+ 57
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "artistid" : [
+ 57
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Paul"
+ ],
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "albumid" : 8,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "label" : "Breaking Up",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 32,
+ "title" : "Breaking Up",
+ "album" : "My Time Is The Right Time",
+ "track" : 13,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 8
+ ],
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/13-Breaking Up.mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 11
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/13-Can't You See.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 11,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1997,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Can't You See",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "songid" : 91,
+ "title" : "Can't You See",
+ "album" : "The Very Best of Bent Fabric"
+ },
+ {
+ "album" : "Swinging Mademoiselles",
+ "title" : "Ce Soir Je M'en Vais",
+ "songid" : 1462,
+ "albumartist" : [
+ "Jacqueline Tajeb"
+ ],
+ "label" : "Ce Soir Je M'en Vais",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 176,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jacqueline Tajeb",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/13-Jacqueline Tajeb-Ce Soir Je M'en Vais.mp3",
+ "albumartistid" : [
+ 170
+ ],
+ "artist" : [
+ "Jacqueline Tajeb"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 170
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/13-Chasing Shadows.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "label" : "Chasing Shadows",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Chasing Shadows",
+ "songid" : 1632,
+ "album" : "The Fat of the Band",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "albumid" : 225,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/13-Come What May.mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 39,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Etta James"
+ ],
+ "label" : "Come What May",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Best of the Modern Years, (The)",
+ "title" : "Come What May",
+ "songid" : 474
+ },
+ {
+ "albumid" : 133,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2014,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Corinna, Corinna",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Ray Peterson"
+ ],
+ "songid" : 1356,
+ "title" : "Corinna, Corinna",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "genreid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 128
+ ],
+ "artist" : [
+ "Ray Peterson"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/13-Ray Peterson-Corinna, Corinna.mp3",
+ "albumartistid" : [
+ 128
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ray Peterson",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "artistid" : [
+ 9
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/13-Country Dance - Running Footman (Anonyme).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1978,
+ "rating" : 0,
+ "albumid" : 9,
+ "title" : "Country Dance - Running Footman (Anonyme)",
+ "songid" : 53,
+ "album" : "Tarentule - Taren",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "label" : "Country Dance - Running Footman (Anonyme)",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "artistid" : [
+ 61
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/13-Das hören die Völker und sind erstaunt.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 64,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "songid" : 895,
+ "title" : "Das hören die Völker und sind erstaunt",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "label" : "Das hören die Völker und sind erstaunt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ]
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/13-Dialogue #6.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1976,
+ "albumid" : 51,
+ "title" : "Dialogue #6",
+ "album" : "1976 - Strawberry Cake",
+ "songid" : 671,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Dialogue #6",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/13-Dialogue #6.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "title" : "Dialogue #6",
+ "songid" : 691,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Dialogue #6",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "albumid" : 53
+ },
+ {
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/13-Don't Stay Away.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 80,
+ "title" : "Don't Stay Away",
+ "album" : "The Righful Ruler (Disc 2)",
+ "songid" : 1197,
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Don't Stay Away"
+ },
+ {
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 24,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Down by the Riverside",
+ "title" : "Down by the Riverside",
+ "songid" : 243,
+ "album" : "Sounds from the Burning Spear",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/13-Down by the Riverside.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/13-Eindelijk met z´n vieren.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 25,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Eindelijk met z´n vieren",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "album" : "De Muziekfabriek",
+ "title" : "Eindelijk met z´n vieren",
+ "songid" : 261
+ },
+ {
+ "title" : "el demoledor de vaginas",
+ "album" : "depravada sexual",
+ "songid" : 972,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "el demoledor de vaginas",
+ "albumartist" : [
+ "pigto"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 68,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/13-el demoledor de vaginas.mp3",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "track" : 13
+ },
+ {
+ "track" : 13,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/13-far out.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "far out",
+ "songid" : 1104,
+ "title" : "far out",
+ "album" : "Juniorville 20"
+ },
+ {
+ "albumid" : 138,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Feather in the Breeze",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Clair Marlo, Alexander Baker"
+ ],
+ "title" : "Feather in the Breeze",
+ "album" : "Zentiva--Muzica de relaxare",
+ "songid" : 1414,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 132
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clair Marlo, Alexander Baker"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/13-Clair Marlo, Alexander Baker-Feather in the Breeze.mp3",
+ "albumartistid" : [
+ 132
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Clair Marlo, Alexander Baker",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "label" : "Glimmer of Hope",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "title" : "Glimmer of Hope",
+ "album" : "The Entity",
+ "songid" : 107,
+ "albumid" : 13,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/13-Glimmer of Hope.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 35
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/13-Goldener Westen.mp3",
+ "displayartist" : "Die Toten Hosen",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "album" : "Zurück Zum Glück",
+ "title" : "Goldener Westen",
+ "songid" : 417,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Goldener Westen",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 35,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Rap"
+ ],
+ "artistid" : [
+ 69
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/13-Good Buick.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 72,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "label" : "Good Buick",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Good Buick",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1067
+ },
+ {
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/13-Humpty Finance.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Humpty Finance",
+ "title" : "Humpty Finance",
+ "songid" : 221,
+ "album" : "Evolution Through Revolution",
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 23,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "title" : "Hungerkünstler",
+ "album" : "Kottans Kapelle",
+ "songid" : 785,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Hungerkünstler",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 58,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/13-Hungerkünstler.mp3",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 55
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 13
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 41,
+ "title" : "I Fall In Love With You",
+ "songid" : 510,
+ "album" : "Blue Skies",
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Fall In Love With You",
+ "disc" : 0,
+ "artistid" : [
+ 41
+ ],
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 20
+ ],
+ "track" : 13,
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Frank Sinatra",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 41
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/13-I Fall In Love With You.mp3"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 192,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Marvellows"
+ ],
+ "label" : "I've Got My Eyes On You",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "I've Got My Eyes On You",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1478,
+ "track" : 13,
+ "genre" : [
+ "Oldies"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 186
+ ],
+ "artist" : [
+ "Marvellows"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Marvellows",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/13-Marvellows-I've Got My Eyes On You.mp3",
+ "albumartistid" : [
+ 186
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "songid" : 1652,
+ "title" : "ILL",
+ "album" : "Wildabeast",
+ "label" : "ILL",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/13-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 218
+ ],
+ "artist" : [
+ "Wildabeast"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 13
+ },
+ {
+ "albumid" : 16,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2001,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Iskillingclonesillegal",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "title" : "Iskillingclonesillegal",
+ "album" : "Cunt",
+ "songid" : 145,
+ "genre" : [
+ "Grind Core"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/13-Iskillingclonesillegal.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/13-Jump Right Out Of This Jukebox.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 66,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Jump Right Out Of This Jukebox",
+ "songid" : 933,
+ "title" : "Jump Right Out Of This Jukebox",
+ "album" : "Onie's Country Boppers"
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 129
+ ],
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/13-Charlie Parker All Stars [5]-Klaunstance [The Way You Look Tonight] (take 1) [H].mp3",
+ "albumartistid" : [
+ 129
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 134,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1947,
+ "title" : "Klaunstance [The Way You Look Tonight] (take 1) [H]",
+ "songid" : 1361,
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "label" : "Klaunstance [The Way You Look Tonight] (take 1) [H]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ]
+ },
+ {
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/13-La manta al coll.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "La manta al coll",
+ "songid" : 562,
+ "title" : "La manta al coll",
+ "album" : "Tocates valencianes",
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 44,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "label" : "Landets Krona",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Landets Krona",
+ "songid" : 1124,
+ "album" : "Med Anledning Av..",
+ "track" : 13,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../13-Landets Krona.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/13-Let Go.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "label" : "Let Go",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Three Things At Once",
+ "title" : "Let Go",
+ "songid" : 396,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 34,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/13-Let's Make it.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Other"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "James Brown"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "albumartist" : [
+ "James Brown"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Let's Make it",
+ "album" : "Here's James Brown",
+ "title" : "Let's Make it",
+ "songid" : 581,
+ "rating" : 0,
+ "year" : 2012,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 45,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 81,
+ "album" : "Atlantica",
+ "title" : "Loch Lomond",
+ "songid" : 1214,
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Loch Lomond",
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "artistid" : [
+ 78
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 13,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/13-Loch Lomond.mp3"
+ },
+ {
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 13,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 19
+ ],
+ "albumartistid" : [
+ 19
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/13-Lou Dog Went To The Moon.mp3",
+ "displayartist" : "Brad Nowell",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 19,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Lou Dog Went To The Moon",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "songid" : 162,
+ "title" : "Lou Dog Went To The Moon",
+ "album" : "Live At The Firecracker Lounge"
+ },
+ {
+ "title" : "Loud and Clear Verse",
+ "songid" : 431,
+ "album" : "Best of Defari",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Loud and Clear Verse",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 36,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/13-Loud and Clear Verse.mp3",
+ "artistid" : [
+ 36
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ]
+ },
+ {
+ "label" : "Maikäfer flieg",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "album" : "die schönsten Kinderlieder",
+ "title" : "Maikäfer flieg",
+ "songid" : 915,
+ "albumid" : 65,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/13-Maikäfer flieg.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "artistid" : [
+ 62
+ ]
+ },
+ {
+ "songid" : 653,
+ "title" : "Mama's Baby",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Mama's Baby",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 50,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/13-Mama's Baby.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 55,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 728,
+ "title" : "Mama's Baby",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Mama's Baby",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 52
+ ],
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 52
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/13-Mama's Baby.mp3",
+ "displayartist" : "Johnny Cash a",
+ "thumbnail" : ""
+ },
+ {
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/13-Mama's Baby [Previously Unreleased In The US].mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "albumid" : 54,
+ "songid" : 710,
+ "title" : "Mama's Baby [Previously Unreleased In The US]",
+ "album" : "The Fabulous Johnny Cash",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Mama's Baby [Previously Unreleased In The US]",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 78,
+ "songid" : 1160,
+ "title" : "Manifest Destiny Intestinal Cramp (Demo)",
+ "album" : "Riot In The Hive Mind",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "label" : "Manifest Destiny Intestinal Cramp (Demo)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "the Faeries"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/13-Manifest Destiny Intestinal Cramp (Demo).mp3",
+ "albumartistid" : [
+ 75
+ ]
+ },
+ {
+ "songid" : 1310,
+ "title" : "Marching Jaybird - Lacey Phillips",
+ "album" : "Appalachian Breakdown",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Marching Jaybird - Lacey Phillips",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 100,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/13-Marching Jaybird - Lacey Phillips.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "label" : "Marseilles",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "title" : "Marseilles",
+ "album" : "More Music For Films",
+ "songid" : 180,
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/13-Marseilles.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Mountain Songs",
+ "title" : "Mountain Songs",
+ "album" : "Royal Greek Festival Company",
+ "songid" : 72,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 10,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/13-Mountain Songs.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "artistid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ]
+ },
+ {
+ "title" : "No. 14",
+ "album" : "Children's Songs (SHM)",
+ "songid" : 283,
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "label" : "No. 14",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1984,
+ "rating" : 0,
+ "albumid" : 26,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/13-No. 14.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "track" : 13,
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "artistid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/13-Not Just For The Ladies.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 27,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Not Just For The Ladies",
+ "title" : "Not Just For The Ladies",
+ "album" : "Attack!",
+ "songid" : 303
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/13-Oh, What A Price.mp3",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 40,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Oh, What A Price",
+ "songid" : 492,
+ "album" : "I'm Walking",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Oh, What A Price",
+ "albumartist" : [
+ "Fats Domino"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 96,
+ "songid" : 1272,
+ "title" : "OHANAGA WARATTA",
+ "album" : "AKATIAN NO TAMENO",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "OHANAGA WARATTA",
+ "artist" : [
+ "VARIOS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 13,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/13-OHANAGA WARATTA.mp3"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/13-PONS Rumänisch - Track 14.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 66
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 14",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 14",
+ "songid" : 992,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 69,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 13,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "artistid" : [
+ 49
+ ],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/13-Pro Perogative.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 49,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Pro Perogative",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "title" : "Pro Perogative",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "songid" : 634
+ },
+ {
+ "albumartist" : [
+ "Slim Harpo"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Rainin' in My Heart",
+ "title" : "Rainin' in My Heart",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "songid" : 1447,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 165,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Slim Harpo",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 159
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/13-Slim Harpo-Rainin' in My Heart.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artist" : [
+ "Slim Harpo"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 159
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ]
+ },
+ {
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/13-Rectal Collapse.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 30,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "title" : "Rectal Collapse",
+ "album" : "Xenophilism",
+ "songid" : 339,
+ "label" : "Rectal Collapse",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ]
+ },
+ {
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Doctor Gilbert's Fancy",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Doctor Gilbert's Fancy",
+ "songid" : 1575,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/13-Reel - Doctor Gilbert's Fancy.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 13,
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 92
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "genreid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Clitoridus Invaginatus",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/13-Clitoridus Invaginatus-Savage Shitbath.mp3",
+ "albumartistid" : [
+ 92
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 97,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "label" : "Savage Shitbath",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "3 Way Split CD",
+ "title" : "Savage Shitbath",
+ "songid" : 1286
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/13-Speaks His Mind (feat. Walter ''Wolfman'' Washington).mp3",
+ "albumartistid" : [
+ 42
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Galactic",
+ "genreid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "artistid" : [
+ 42
+ ],
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "track" : 13,
+ "songid" : 526,
+ "title" : "Speaks His Mind (feat. Walter ''Wolfman'' Washington)",
+ "album" : "Ya-Ka-May",
+ "label" : "Speaks His Mind (feat. Walter ''Wolfman'' Washington)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Galactic"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 42,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "albumartist" : [
+ "Mason Williams"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Staurday Nigh Banjo",
+ "title" : "Staurday Nigh Banjo",
+ "album" : "Bluegrass Banjo",
+ "songid" : 1335,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 112,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Mason Williams",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 108
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/13-Mason Williams-Staurday Nigh Banjo.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Mason Williams"
+ ],
+ "artistid" : [
+ 108
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ]
+ },
+ {
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Stealth Bomber",
+ "title" : "Stealth Bomber",
+ "songid" : 127,
+ "album" : "Brain Plugin Spaghetti",
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 15,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/13-Stealth Bomber.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ]
+ },
+ {
+ "label" : "Stop Smacking That Wax",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Henry Hayes With Georgetta Hardin"
+ ],
+ "songid" : 11,
+ "title" : "Stop Smacking That Wax",
+ "album" : "Kangaroo Shuffle",
+ "albumid" : 3,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1991,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/13-Henry Hayes With Georgetta Hardin-Stop Smacking That Wax.mp3",
+ "albumartistid" : [
+ 3
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Henry Hayes With Georgetta Hardin",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 3
+ ],
+ "artist" : [
+ "Henry Hayes With Georgetta Hardin"
+ ]
+ },
+ {
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "artistid" : [
+ 74
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/13-Such a Night.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2007,
+ "rating" : 0,
+ "albumid" : 77,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "label" : "Such a Night",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Such a Night",
+ "songid" : 1142,
+ "album" : "Legends of Soul: The Drifters"
+ },
+ {
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 223,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in D minor - 4",
+ "album" : "Alb",
+ "title" : "Telemann: Concerto in D minor - 4",
+ "songid" : 1558,
+ "track" : 13,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "artistid" : [
+ 215
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/13-Telemann: Concerto in D minor - 4.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/13-The Bells Of Saint Mary.mp3",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 13,
+ "title" : "The Bells Of Saint Mary",
+ "songid" : 1086,
+ "album" : "Barn Burners",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Bells Of Saint Mary",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 73,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumid" : 43,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Cave",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "title" : "The Cave",
+ "songid" : 542,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/13-The Cave.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 13,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "artistid" : [
+ 64
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/13-The Cello - ABOUT TIME 2.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 67,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "label" : "The Cello - ABOUT TIME 2",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "The Cello - ABOUT TIME 2",
+ "songid" : 951,
+ "album" : "Ten Minutes Older"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 13,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 47
+ ],
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/13-The Oklahoma Hills.mp3",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 47,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Oklahoma Hills",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "album" : "Love Letters",
+ "title" : "The Oklahoma Hills",
+ "songid" : 616
+ },
+ {
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "The Rebel-Johnny Yuma",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "The Rebel-Johnny Yuma",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "songid" : 1498,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 212,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/13-Johnny Cash-The Rebel-Johnny Yuma.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "artistid" : [
+ 219
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/13-The Seasons.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1994,
+ "albumid" : 227,
+ "album" : "Raise The Red Lantern",
+ "title" : "The Seasons",
+ "songid" : 1670,
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "label" : "The Seasons",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Theme de la Fontaine",
+ "title" : "Theme de la Fontaine",
+ "songid" : 1688,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 228,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/13-Theme de la Fontaine.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "artistid" : [
+ 220
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/13-Thème De La Fontaine.mp3",
+ "albumartistid" : [
+ 53
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "songid" : 746,
+ "title" : "Thème De La Fontaine",
+ "album" : "L' Africana",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "label" : "Thème De La Fontaine",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 56
+ },
+ {
+ "label" : "Toddle-Pip: No. 18 from The O'Clock Rock",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Toddle-Pip: No. 18 from The O'Clock Rock",
+ "songid" : 1389,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/13-Toddle-Pip: No. 18 from The O'Clock Rock.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 70,
+ "title" : "Too Tough to Die",
+ "songid" : 1029,
+ "album" : "Loco Live (CD 1)",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "Too Tough to Die",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artist" : [
+ "Ramones"
+ ],
+ "artistid" : [
+ 67
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/13-Too Tough to Die.mp3",
+ "albumartistid" : [
+ 67
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/13-Track14 CHOPIN Concerto n°2 en Fa min pour piano et orchestre op 21 1er mvt.mp3",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 13,
+ "songid" : 803,
+ "title" : "Track14 CHOPIN Concerto n°2 en Fa min pour piano et orchestre op 21 1er mvt",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track14 CHOPIN Concerto n°2 en Fa min pour piano et orchestre op 21 1er mvt",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 59,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/13-Von guten Mächten.mp3",
+ "albumartistid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "artist" : [
+ "Dauner"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [],
+ "title" : "Von guten Mächten",
+ "album" : "Wegzeichen",
+ "songid" : 377,
+ "albumartist" : [
+ "Dauner"
+ ],
+ "label" : "Von guten Mächten",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 32
+ },
+ {
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "label" : "You Make Me What I Am",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 321,
+ "title" : "You Make Me What I Am",
+ "album" : "The Great Conway Twitty",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 28,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/13-You Make Me What I Am.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "artistid" : [
+ 28
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/13-Zechpreller.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "album" : "Tavernengeflüster",
+ "title" : "Zechpreller",
+ "songid" : 765,
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "label" : "Zechpreller",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 57
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "artistid" : [
+ 221
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 13,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/13-Тхђх№ ую№ћ юсыхђрхђ.mp3",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 229,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1707,
+ "title" : "Тхђх№ ую№ћ юсыхђрхђ",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Тхђх№ ую№ћ юсыхђрхђ",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ]
+ },
+ {
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "なっとうをおいしくたべるには",
+ "songid" : 1232,
+ "label" : "なっとうをおいしくたべるには",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "永井寛孝とおっぺれった"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 91,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2002,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/13-永井寛孝とおっぺれった-なっとうをおいしくたべるには.mp3",
+ "albumartistid" : [
+ 86
+ ],
+ "thumbnail" : "",
+ "displayartist" : "永井寛孝とおっぺれった",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 86
+ ],
+ "disc" : 0,
+ "artist" : [
+ "永井寛孝とおっぺれった"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 13
+ },
+ {
+ "title" : "やさしいなつのひ",
+ "songid" : 1763,
+ "album" : "ピアノスタディ1",
+ "label" : "やさしいなつのひ",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/13-やさしいなつのひ.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 13
+ },
+ {
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ママのたからもの",
+ "title" : "ママのたからもの",
+ "album" : "おかあさんといっしょ コロンパッ",
+ "songid" : 1800,
+ "track" : 13,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 225
+ ],
+ "disc" : 0,
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/13-ママのたからもの.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/13-心の銃.mp3",
+ "albumartistid" : [
+ 222
+ ],
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 13,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "label" : "心の銃",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "title" : "心の銃",
+ "songid" : 1726,
+ "album" : "アナーキー・ライブ",
+ "albumid" : 230,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "未使用曲 2 (夕焼けSHOWER)",
+ "album" : "プラスアルファ",
+ "title" : "未使用曲 2 (夕焼けSHOWER)",
+ "songid" : 1744,
+ "rating" : 0,
+ "year" : 1989,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/13-未使用曲 2 (夕焼けSHOWER).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 13,
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ]
+ },
+ {
+ "label" : "15 - Alza las manos (En vivo)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "album" : "EN VIVO EN PARAGUAY",
+ "title" : "15 - Alza las manos (En vivo)",
+ "songid" : 361,
+ "albumid" : 31,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/14-15 - Alza las manos (En vivo).mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "track" : 14,
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ]
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 68
+ ],
+ "artist" : [
+ "Ray Charles"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/14-15 Can Anyone Ask for More.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 71,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "title" : "15 Can Anyone Ask for More",
+ "album" : "Legend (Disk 2)",
+ "songid" : 1050,
+ "label" : "15 Can Anyone Ask for More",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Ray Charles"
+ ]
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 60
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/14-15 Marienvesper - Lauda Jerusalem.mp3",
+ "displayartist" : "Marienvesper 1693",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 63,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "title" : "15 Marienvesper - Lauda Jerusalem",
+ "songid" : 876,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "15 Marienvesper - Lauda Jerusalem",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ]
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Agnus Dei",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "title" : "Agnus Dei",
+ "songid" : 202,
+ "album" : "Oberösterreichische Kirchenmusik",
+ "albumid" : 22,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/14-Agnus Dei.mp3",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Die Toten Hosen/Zurück Zum Glück/14-Am Ende.mp3",
+ "albumartistid" : [
+ 35
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Die Toten Hosen",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Die Toten Hosen"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 35
+ ],
+ "label" : "Am Ende",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Die Toten Hosen"
+ ],
+ "title" : "Am Ende",
+ "songid" : 418,
+ "album" : "Zurück Zum Glück",
+ "albumid" : 35,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Les Santes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 59
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/14-Ball de bastons de Mataró (primer).mp3",
+ "albumartistid" : [
+ 59
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 62,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Ball de bastons de Mataró (primer)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "album" : "Tocs i Músiques de Les Santes",
+ "title" : "Ball de bastons de Mataró (primer)",
+ "songid" : 859
+ },
+ {
+ "track" : 14,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "artistid" : [
+ 129
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/14-Charlie Parker All Stars [5]-Bird Gets the Worm [Lover Come Back to Me] (take 1) [H].mp3",
+ "albumartistid" : [
+ 129
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1947,
+ "rating" : 0,
+ "albumid" : 134,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "label" : "Bird Gets the Worm [Lover Come Back to Me] (take 1) [H]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1362,
+ "title" : "Bird Gets the Worm [Lover Come Back to Me] (take 1) [H]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07"
+ },
+ {
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [],
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/14-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 221,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "label" : "Blank",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1521,
+ "title" : "Blank",
+ "album" : "Chinese Pornography"
+ },
+ {
+ "albumid" : 64,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Bringe sie hiinein und pflanze sie",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Bringe sie hiinein und pflanze sie",
+ "songid" : 896,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "artistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/14-Bringe sie hiinein und pflanze sie.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "artistid" : [
+ 70
+ ],
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/14-Buffalo Gals.mp3",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 73,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Buffalo Gals",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "songid" : 1087,
+ "title" : "Buffalo Gals",
+ "album" : "Barn Burners"
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 38,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "title" : "Chiquita",
+ "songid" : 454,
+ "album" : "World of Shit",
+ "label" : "Chiquita",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "artistid" : [
+ 38
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/14-Chiquita.mp3",
+ "albumartistid" : [
+ 38
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit"
+ },
+ {
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/14-Dance to your daddy.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Dance to your daddy",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "songid" : 1390,
+ "title" : "Dance to your daddy",
+ "album" : "Violin exam pieces 2008-2011"
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dancing",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "songid" : 934,
+ "title" : "Dancing",
+ "album" : "Onie's Country Boppers",
+ "albumid" : 66,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/14-Dancing.mp3",
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "artist" : [
+ "Onie Wheeler"
+ ]
+ },
+ {
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 90
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VA"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/14-Danielle - Down Town Man.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Danielle - Down Town Man",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VA"
+ ],
+ "album" : "Gangsta Rock",
+ "title" : "Danielle - Down Town Man",
+ "songid" : 1255
+ },
+ {
+ "track" : 14,
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Galactic"
+ ],
+ "artistid" : [
+ 42
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 21
+ ],
+ "displayartist" : "Galactic",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 42
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/14-Do It Again (Again) (feat. Cheeky Blakk).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 42,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Galactic"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Do It Again (Again) (feat. Cheeky Blakk)",
+ "title" : "Do It Again (Again) (feat. Cheeky Blakk)",
+ "album" : "Ya-Ka-May",
+ "songid" : 527
+ },
+ {
+ "title" : "Don'tcallmehomeboyya'cunt",
+ "songid" : 146,
+ "album" : "Cunt",
+ "label" : "Don'tcallmehomeboyya'cunt",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 16,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/14-Don'tcallmehomeboyya'cunt.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 14
+ },
+ {
+ "albumid" : 10,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Epirus",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "album" : "Royal Greek Festival Company",
+ "title" : "Epirus",
+ "songid" : 73,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/14-Epirus.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "songid" : 1105,
+ "title" : "everyday",
+ "album" : "Juniorville 20",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "everyday",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/14-everyday.mp3",
+ "artist" : [
+ "Space Juniors"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 58,
+ "title" : "Feia Fia Mei Dreia",
+ "songid" : 786,
+ "album" : "Kottans Kapelle",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Feia Fia Mei Dreia",
+ "artistid" : [
+ 55
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 14,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/14-Feia Fia Mei Dreia.mp3"
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 80,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "songid" : 1198,
+ "title" : "Festival Wise",
+ "album" : "The Righful Ruler (Disc 2)",
+ "label" : "Festival Wise",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/14-Festival Wise.mp3",
+ "albumartistid" : [
+ 77
+ ],
+ "thumbnail" : "",
+ "displayartist" : "U-Roy"
+ },
+ {
+ "album" : "The Entity",
+ "title" : "Finale: Carla Leaves Home",
+ "songid" : 108,
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Finale: Carla Leaves Home",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 13,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bernstein, Charles",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 13
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/14-Finale: Carla Leaves Home.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 13
+ ],
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ]
+ },
+ {
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "First Song - My 1st Song",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "title" : "First Song - My 1st Song",
+ "songid" : 600,
+ "album" : "The Black Chronic",
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 14,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "artist" : [
+ "Jay-Z"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/14-First Song - My 1st Song.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/14-fluidos vaginales de un perra.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "artistid" : [
+ 65
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "albumartist" : [
+ "pigto"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "fluidos vaginales de un perra",
+ "title" : "fluidos vaginales de un perra",
+ "songid" : 973,
+ "album" : "depravada sexual",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/14-Fool's Hall Of Fame.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 50,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Fool's Hall Of Fame",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "title" : "Fool's Hall Of Fame",
+ "songid" : 654,
+ "album" : "1958 - The Fabulous Johnny Cash"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "albumid" : 55,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "label" : "Fool's Hall of Fame",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Fool's Hall of Fame",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "songid" : 729,
+ "track" : 14,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 52
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/14-Fool's Hall of Fame.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 54,
+ "songid" : 711,
+ "title" : "Fool's Hall Of Fame [Previously Unreleased In The US]",
+ "album" : "The Fabulous Johnny Cash",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Fool's Hall Of Fame [Previously Unreleased In The US]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 14,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/14-Fool's Hall Of Fame [Previously Unreleased In The US].mp3",
+ "albumartistid" : [
+ 50
+ ]
+ },
+ {
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Fum, Fum, Fum",
+ "album" : "Have Yourself a Merry Little Christma",
+ "title" : "Fum, Fum, Fum",
+ "songid" : 1179,
+ "track" : 14,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/14-Fum, Fum, Fum.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "artistid" : [
+ 153
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Jano"
+ ],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 153
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/14-Johnny Jano-Havin' A Whole Lot of Fun.mp3",
+ "displayartist" : "Johnny Jano",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 159,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "Havin' A Whole Lot of Fun",
+ "songid" : 1439,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Havin' A Whole Lot of Fun",
+ "albumartist" : [
+ "Johnny Jano"
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/14-HCHS.mp3",
+ "albumartistid" : [
+ 27
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Cockpunch",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 12
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Cockpunch"
+ ],
+ "label" : "HCHS",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "songid" : 304,
+ "title" : "HCHS",
+ "album" : "Attack!",
+ "albumid" : 27,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/14-Les Paul-Hip-Billy Boogie.mp3",
+ "albumartistid" : [
+ 57
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 57
+ ],
+ "artist" : [
+ "Les Paul"
+ ],
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "title" : "Hip-Billy Boogie",
+ "album" : "This Is Gold D1 of 3",
+ "songid" : 835,
+ "label" : "Hip-Billy Boogie",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 60,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0
+ },
+ {
+ "label" : "Honey Love",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "songid" : 1143,
+ "title" : "Honey Love",
+ "album" : "Legends of Soul: The Drifters",
+ "albumid" : 77,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/14-Honey Love.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "track" : 14,
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "artistid" : [
+ 74
+ ]
+ },
+ {
+ "albumartistid" : [
+ 105
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/14-Jim Helms-Hooka Tooka.mp3",
+ "displayartist" : "Jim Helms",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Helms"
+ ],
+ "artistid" : [
+ 105
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Hooka Tooka",
+ "albumartist" : [
+ "Jim Helms"
+ ],
+ "songid" : 1330,
+ "title" : "Hooka Tooka",
+ "album" : "Bluegrass Banjo",
+ "albumid" : 109,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/14-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "ILL",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "title" : "ILL",
+ "songid" : 1653,
+ "album" : "Wildabeast"
+ },
+ {
+ "title" : "INTO BLUE (Arrange Version)",
+ "album" : "プラスアルファ",
+ "songid" : 1745,
+ "label" : "INTO BLUE (Arrange Version)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 231,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1989,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/14-INTO BLUE (Arrange Version).mp3",
+ "albumartistid" : [
+ 223
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ",
+ "genreid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "ジャレコ"
+ ],
+ "artistid" : [
+ 223
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "track" : 14
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Henry Hayes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/14-Henry Hayes-It Takes Money.mp3",
+ "albumartistid" : [
+ 2
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Henry Hayes"
+ ],
+ "artistid" : [
+ 2
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Henry Hayes"
+ ],
+ "label" : "It Takes Money",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "It Takes Money",
+ "songid" : 10,
+ "album" : "Kangaroo Shuffle",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1991,
+ "albumid" : 2,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/14-John Brown's Dream - Hobart Smith.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "John Brown's Dream - Hobart Smith",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "title" : "John Brown's Dream - Hobart Smith",
+ "songid" : 1311,
+ "album" : "Appalachian Breakdown"
+ },
+ {
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 8
+ ],
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/14-La La Means I Love You.mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 8,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "title" : "La La Means I Love You",
+ "songid" : 33,
+ "album" : "My Time Is The Right Time",
+ "label" : "La La Means I Love You",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Alton Ellis"
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/14-La passion retrouve-Theme du passe.mp3",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 228,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "La passion retrouve-Theme du passe",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "songid" : 1689,
+ "title" : "La passion retrouve-Theme du passe",
+ "album" : "L' Africana-Ελ. Καραΐνδρου"
+ },
+ {
+ "title" : "La Passion Retrouvé - Thème Du Passé",
+ "album" : "L' Africana",
+ "songid" : 747,
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "label" : "La Passion Retrouvé - Thème Du Passé",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 56,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/14-La Passion Retrouvé - Thème Du Passé.mp3",
+ "albumartistid" : [
+ 53
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ]
+ },
+ {
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/14-La Tarentela (D. Fernandez de Huete).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "La Tarentela (D. Fernandez de Huete)",
+ "album" : "Tarentule - Taren",
+ "title" : "La Tarentela (D. Fernandez de Huete)",
+ "songid" : 54,
+ "rating" : 0,
+ "year" : 1978,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 34,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 397,
+ "title" : "Lost In Space",
+ "album" : "Three Things At Once",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Lost In Space",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "artistid" : [
+ 34
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/14-Lost In Space.mp3",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 230,
+ "album" : "アナーキー・ライブ",
+ "title" : "LTD(リミテッド)",
+ "songid" : 1727,
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "label" : "LTD(リミテッド)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 14,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/14-LTD(リミテッド).mp3",
+ "albumartistid" : [
+ 222
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 122,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2014,
+ "title" : "Makin' Love",
+ "songid" : 1345,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "label" : "Makin' Love",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Floyd Robinson"
+ ],
+ "genreid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Floyd Robinson"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 118
+ ],
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/14-Floyd Robinson-Makin' Love.mp3",
+ "albumartistid" : [
+ 118
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Floyd Robinson"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/14-Meditation.mp3",
+ "albumartistid" : [
+ 32
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [],
+ "disc" : 0,
+ "artist" : [
+ "Dauner"
+ ],
+ "artistid" : [
+ 32
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "label" : "Meditation",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Meditation",
+ "songid" : 378,
+ "album" : "Wegzeichen",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 32,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "songid" : 582,
+ "title" : "Messing with the Blues",
+ "album" : "Here's James Brown",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Messing with the Blues",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 45,
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/14-Messing with the Blues.mp3",
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "artistid" : [
+ 45
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "track" : 14
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Mutant Satisfaction",
+ "albumartist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "songid" : 1287,
+ "title" : "Mutant Satisfaction",
+ "album" : "3 Way Split CD",
+ "albumid" : 97,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 92
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/14-Clitoridus Invaginatus-Mutant Satisfaction.mp3",
+ "displayartist" : "Clitoridus Invaginatus",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "artist" : [
+ "Clitoridus Invaginatus"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 92
+ ]
+ },
+ {
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "label" : "My Dripping Cunt (Demo)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "My Dripping Cunt (Demo)",
+ "album" : "Riot In The Hive Mind",
+ "songid" : 1161,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 78,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/14-My Dripping Cunt (Demo).mp3",
+ "albumartistid" : [
+ 75
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "albumid" : 227,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "label" : "Next Summer",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1671,
+ "title" : "Next Summer",
+ "album" : "Raise The Red Lantern",
+ "track" : 14,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/14-Next Summer.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "No. 15",
+ "songid" : 284,
+ "album" : "Children's Songs (SHM)",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "No. 15",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1984,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 26,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/14-No. 15.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Katy David"
+ ],
+ "label" : "Plus Tard (Call Me)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1463,
+ "title" : "Plus Tard (Call Me)",
+ "album" : "Swinging Mademoiselles",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 177,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Katy David",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/14-Katy David-Plus Tard (Call Me).mp3",
+ "albumartistid" : [
+ 171
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Katy David"
+ ],
+ "artistid" : [
+ 171
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/14-PONS Rumänisch - Track 15.mp3",
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "title" : "PONS Rumänisch - Track 15",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 993,
+ "albumartist" : [
+ "PONS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "PONS Rumänisch - Track 15",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 69
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 25,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "label" : "Raaf verliefd",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "De Muziekfabriek",
+ "title" : "Raaf verliefd",
+ "songid" : 262,
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/14-Raaf verliefd.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/14-Rabbi Jacob et sa famille.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 222,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1973,
+ "rating" : 0,
+ "title" : "Rabbi Jacob et sa famille",
+ "album" : "Les aventures de Rabbi Jacob",
+ "songid" : 1542,
+ "label" : "Rabbi Jacob et sa famille",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ]
+ },
+ {
+ "title" : "Reel - Dowd's",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1576,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - Dowd's",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 224,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/14-Reel - Dowd's.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 14,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 36,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "label" : "Rimz and Tirez Verse",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Rimz and Tirez Verse",
+ "album" : "Best of Defari",
+ "songid" : 432,
+ "track" : 14,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "artistid" : [
+ 36
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/14-Rimz and Tirez Verse.mp3",
+ "albumartistid" : [
+ 36
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "Rock Island Line",
+ "songid" : 672,
+ "album" : "1976 - Strawberry Cake",
+ "label" : "Rock Island Line",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 51,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/14-Rock Island Line.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 14
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1976,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 53,
+ "title" : "Rock Island Line",
+ "songid" : 692,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Rock Island Line",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 14,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/14-Rock Island Line.mp3"
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "artistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/14-Semi-Automatic Carnation.mp3",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 23,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Semi-Automatic Carnation",
+ "songid" : 222,
+ "album" : "Evolution Through Revolution",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Semi-Automatic Carnation",
+ "albumartist" : [
+ "Brutal Truth"
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "track" : 14,
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "artistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/14-Sexual Acceleration.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 30,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Sexual Acceleration",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "title" : "Sexual Acceleration",
+ "album" : "Xenophilism",
+ "songid" : 340
+ },
+ {
+ "albumartist" : [
+ "Ramones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Sheena Is a Punk Rocker",
+ "album" : "Loco Live (CD 1)",
+ "title" : "Sheena Is a Punk Rocker",
+ "songid" : 1030,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 70,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/14-Sheena Is a Punk Rocker.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ]
+ },
+ {
+ "songid" : 766,
+ "title" : "Sima Glögi",
+ "album" : "Tavernengeflüster",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Sima Glögi",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 57,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/14-Sima Glögi.mp3",
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 14
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 15,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "album" : "Brain Plugin Spaghetti",
+ "title" : "Slapper",
+ "songid" : 128,
+ "label" : "Slapper",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/14-Slapper.mp3",
+ "albumartistid" : [
+ 15
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bleach Boys"
+ },
+ {
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 40,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "So Long",
+ "title" : "So Long",
+ "album" : "I'm Walking",
+ "songid" : 493,
+ "track" : 14,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/14-So Long.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "artistid" : [
+ 78
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/14-Soldier's Joy.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1996,
+ "albumid" : 81,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "label" : "Soldier's Joy",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Soldier's Joy",
+ "album" : "Atlantica",
+ "songid" : 1215
+ },
+ {
+ "album" : "Gigli (Original Motion Picture Score)",
+ "title" : "Step Up",
+ "songid" : 635,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Step Up",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 49,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/14-Step Up.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 14
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Etta James",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/14-Strange Things Happening.mp3",
+ "albumartistid" : [
+ 39
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "genreid" : [
+ 19
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "label" : "Strange Things Happening",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Strange Things Happening",
+ "songid" : 475,
+ "album" : "Best of the Modern Years, (The)",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 39,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Sture Allén Den Yngre",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "title" : "Sture Allén Den Yngre",
+ "album" : "Med Anledning Av..",
+ "songid" : 1125,
+ "albumid" : 75,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../14-Sture Allén Den Yngre.mp3",
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ]
+ },
+ {
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/14-Telemann: Concerto in F minor - 1.mp3",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 14,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "artistid" : [
+ 215
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Telemann: Concerto in F minor - 1",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "title" : "Telemann: Concerto in F minor - 1",
+ "songid" : 1559,
+ "album" : "Alb",
+ "albumid" : 223,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 213,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "title" : "The Ballad Of Paladin",
+ "songid" : 1499,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Ballad Of Paladin",
+ "albumartist" : [
+ "Johnny Western"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 206
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Western"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 206
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/14-Johnny Western-The Ballad Of Paladin.mp3",
+ "displayartist" : "Johnny Western",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 43,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "The Bridge Washed Out",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "title" : "The Bridge Washed Out",
+ "songid" : 543,
+ "track" : 14,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/14-The Bridge Washed Out.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "label" : "The Cello - ONE MOMENT",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "title" : "The Cello - ONE MOMENT",
+ "album" : "Ten Minutes Older",
+ "songid" : 952,
+ "albumid" : 67,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/14-The Cello - ONE MOMENT.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 21,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 181,
+ "title" : "The Dove",
+ "album" : "More Music For Films",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Dove",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "artist" : [
+ "Brian Eno"
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/14-The Dove.mp3",
+ "displayartist" : "Brian Eno",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 47,
+ "album" : "Love Letters",
+ "title" : "The Highway to Nowhere",
+ "songid" : 617,
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "label" : "The Highway to Nowhere",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 47
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 14,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Jim Reeves",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/14-The Highway to Nowhere.mp3",
+ "albumartistid" : [
+ 47
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995,
+ "albumid" : 41,
+ "title" : "The Music Stopped",
+ "songid" : 511,
+ "album" : "Blue Skies",
+ "albumartist" : [
+ "Frank Sinatra"
+ ],
+ "label" : "The Music Stopped",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 41
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "genreid" : [
+ 20
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 14,
+ "genre" : [
+ "Easy Listening"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Frank Sinatra",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/14-The Music Stopped.mp3",
+ "albumartistid" : [
+ 41
+ ]
+ },
+ {
+ "track" : 14,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "displayartist" : "Wat Tyler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/14-The Poet and the Punk.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 225,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Poet and the Punk",
+ "album" : "The Fat of the Band",
+ "title" : "The Poet and the Punk",
+ "songid" : 1633
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1997,
+ "albumid" : 11,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "label" : "The Sweet Charity Theme",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "The Sweet Charity Theme",
+ "album" : "The Very Best of Bent Fabric",
+ "songid" : 92,
+ "track" : 14,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/14-The Sweet Charity Theme.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/14-This Population.mp3",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "artistid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "album" : "Sounds from the Burning Spear",
+ "title" : "This Population",
+ "songid" : 244,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "This Population",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 24,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "artistid" : [
+ 91
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 14,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/14-TII SHITIAOU.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 96,
+ "title" : "TII SHITIAOU",
+ "album" : "AKATIAN NO TAMENO",
+ "songid" : 1273,
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "TII SHITIAOU"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 14,
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/14-Tocata 15.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 44,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Tocata 15",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "title" : "Tocata 15",
+ "album" : "Tocates valencianes",
+ "songid" : 563
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 59,
+ "title" : "Track15 MOZART Aria \"Dies Bildnis ist bezaubernd schon\" (La flute enchantée K620)",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 804,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track15 MOZART Aria \"Dies Bildnis ist bezaubernd schon\" (La flute enchantée K620)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 14,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/14-Track15 MOZART Aria \"Dies Bildnis ist bezaubernd schon\" (La flute enchantée K620).mp3",
+ "albumartistid" : [
+ 56
+ ]
+ },
+ {
+ "title" : "Try Me",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1472,
+ "label" : "Try Me",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "January Jones"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 186,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/14-January Jones-Try Me.mp3",
+ "albumartistid" : [
+ 180
+ ],
+ "thumbnail" : "",
+ "displayartist" : "January Jones",
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "January Jones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 180
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "track" : 14
+ },
+ {
+ "track" : 14,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Music Kids"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/14-unsre Katz heißt Mohrle.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 65,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "unsre Katz heißt Mohrle",
+ "songid" : 916,
+ "title" : "unsre Katz heißt Mohrle",
+ "album" : "die schönsten Kinderlieder"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/14-Watch Me Gas.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 14,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "label" : "Watch Me Gas",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Watch Me Gas",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1068,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 72,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 28
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/14-Where I Stand.mp3",
+ "displayartist" : "Conway Twitty",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 14,
+ "title" : "Where I Stand",
+ "album" : "The Great Conway Twitty",
+ "songid" : 322,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Where I Stand",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 28,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "track" : 14,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 142
+ ],
+ "artist" : [
+ "Michael Bräumer, Uwe Clemens"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "displayartist" : "Michael Bräumer, Uwe Clemens",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 142
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/14-Michael Bräumer, Uwe Clemens-Wild Flowers.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 148,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Michael Bräumer, Uwe Clemens"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Wild Flowers",
+ "songid" : 1427,
+ "title" : "Wild Flowers",
+ "album" : "Zentiva--Muzica de relaxare"
+ },
+ {
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 229,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "бяш, ёћэюїхъ ьющ",
+ "title" : "бяш, ёћэюїхъ ьющ",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "songid" : 1708,
+ "track" : 14,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/14-бяш, ёћэюїхъ ьющ.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232,
+ "title" : "みんなでうたおう",
+ "songid" : 1764,
+ "album" : "ピアノスタディ1",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "みんなでうたおう",
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "track" : 14,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/14-みんなでうたおう.mp3"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/14-ゆめをひとさじ.mp3",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 14,
+ "album" : "おかあさんといっしょ コロンパッ",
+ "title" : "ゆめをひとさじ",
+ "songid" : 1801,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ゆめをひとさじ",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 233,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 85,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "ひばり児童合唱団"
+ ],
+ "label" : "ドロップスのうた",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "ドロップスのうた",
+ "songid" : 1223,
+ "track" : 14,
+ "genre" : [],
+ "lyrics" : "",
+ "artistid" : [
+ 80
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ひばり児童合唱団"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "ひばり児童合唱団",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/14-ひばり児童合唱団-ドロップスのうた.mp3",
+ "albumartistid" : [
+ 80
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "DAMAS GRATIS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/15-16 - Se te ve la tanga (En viv.mp3",
+ "albumartistid" : [
+ 31
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "genreid" : [
+ 15
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "label" : "16 - Se te ve la tanga (En viv",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "16 - Se te ve la tanga (En viv",
+ "songid" : 362,
+ "album" : "EN VIVO EN PARAGUAY",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 31,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumid" : 71,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "16 I'm Wondering and Wondering",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "songid" : 1051,
+ "title" : "16 I'm Wondering and Wondering",
+ "album" : "Legend (Disk 2)",
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "artist" : [
+ "Ray Charles"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 68
+ ],
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/15-16 I'm Wondering and Wondering.mp3",
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 60
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/15-16 Marienvesper - Antiphon - Speciosa facta est.mp3",
+ "displayartist" : "Marienvesper 1693",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 60
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "16 Marienvesper - Antiphon - Speciosa facta est",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "songid" : 877,
+ "title" : "16 Marienvesper - Antiphon - Speciosa facta est",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "albumid" : 63,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "track" : 15,
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Cockpunch"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/15-Advice-aholic.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 2007,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 27,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Advice-aholic",
+ "album" : "Attack!",
+ "title" : "Advice-aholic",
+ "songid" : 305
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 10,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Royal Greek Festival Company",
+ "title" : "Aegean Islands",
+ "songid" : 74,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Aegean Islands",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/15-Aegean Islands.mp3",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : ""
+ },
+ {
+ "year" : 2001,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 80,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ain't That Loving You",
+ "songid" : 1199,
+ "title" : "Ain't That Loving You",
+ "album" : "The Righful Ruler (Disc 2)",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "artist" : [
+ "U-Roy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "displayartist" : "U-Roy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 77
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/15-Ain't That Loving You.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "album" : "Three Things At Once",
+ "title" : "Alone With You",
+ "songid" : 398,
+ "label" : "Alone With You",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 34,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/15-Alone With You.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "track" : 15
+ },
+ {
+ "label" : "Baby, Give Me A Chance",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Joe Hudson & His Rockin' Dukes"
+ ],
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "title" : "Baby, Give Me A Chance",
+ "songid" : 1438,
+ "albumid" : 158,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/15-Joe Hudson & His Rockin' Dukes-Baby, Give Me A Chance.mp3",
+ "albumartistid" : [
+ 152
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Joe Hudson & His Rockin' Dukes",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 152
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Joe Hudson & His Rockin' Dukes"
+ ]
+ },
+ {
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/15-Bad Motha Fucka.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 225,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998,
+ "title" : "Bad Motha Fucka",
+ "songid" : 1634,
+ "album" : "The Fat of the Band",
+ "label" : "Bad Motha Fucka",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 62,
+ "title" : "Ball de bastons de Mataró (segon)",
+ "album" : "Tocs i Músiques de Les Santes",
+ "songid" : 860,
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "label" : "Ball de bastons de Mataró (segon)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artist" : [
+ "Les Santes"
+ ],
+ "artistid" : [
+ 59
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/15-Ball de bastons de Mataró (segon).mp3",
+ "albumartistid" : [
+ 59
+ ]
+ },
+ {
+ "track" : 15,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/15-Ballet des sorciers (M. Praetorius).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1978,
+ "rating" : 0,
+ "albumid" : 9,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "label" : "Ballet des sorciers (M. Praetorius)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Ballet des sorciers (M. Praetorius)",
+ "album" : "Tarentule - Taren",
+ "songid" : 55
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "artistid" : [
+ 74
+ ],
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/15-Bip Bam.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2007,
+ "rating" : 0,
+ "albumid" : 77,
+ "album" : "Legends of Soul: The Drifters",
+ "title" : "Bip Bam",
+ "songid" : 1144,
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "label" : "Bip Bam",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "albumid" : 134,
+ "year" : 1947,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Bird Gets the Worm [Lover Come Back to Me] (take 3) [master] [H]",
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "title" : "Bird Gets the Worm [Lover Come Back to Me] (take 3) [master] [H]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "songid" : 1363,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "artistid" : [
+ 129
+ ],
+ "albumartistid" : [
+ 129
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/15-Charlie Parker All Stars [5]-Bird Gets the Worm [Lover Come Back to Me] (take 3) [master] [H].mp3",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/15-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 15,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "artistid" : [
+ 213
+ ],
+ "label" : "Blank",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "album" : "Chinese Pornography",
+ "title" : "Blank",
+ "songid" : 1522,
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1973,
+ "albumid" : 222,
+ "title" : "C'est ça la France",
+ "album" : "Les aventures de Rabbi Jacob",
+ "songid" : 1543,
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "label" : "C'est ça la France",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "artistid" : [
+ 214
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/15-C'est ça la France.mp3",
+ "albumartistid" : [
+ 214
+ ]
+ },
+ {
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/15-Chase in the Dark.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Chase in the Dark",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "title" : "Chase in the Dark",
+ "songid" : 1391,
+ "album" : "Violin exam pieces 2008-2011",
+ "albumid" : 137,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 66,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "title" : "Closing Time",
+ "album" : "Onie's Country Boppers",
+ "songid" : 935,
+ "label" : "Closing Time",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/15-Closing Time.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler"
+ },
+ {
+ "albumid" : 68,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "cojeme si puedes",
+ "albumartist" : [
+ "pigto"
+ ],
+ "album" : "depravada sexual",
+ "title" : "cojeme si puedes",
+ "songid" : 974,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/15-cojeme si puedes.mp3",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/15-Defari Interlude from Dilated Expansion Team.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 36,
+ "songid" : 433,
+ "title" : "Defari Interlude from Dilated Expansion Team",
+ "album" : "Best of Defari",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Defari Interlude from Dilated Expansion Team"
+ },
+ {
+ "songid" : 1126,
+ "title" : "Den Obligatoriska Slagdängan",
+ "album" : "Med Anledning Av..",
+ "label" : "Den Obligatoriska Slagdängan",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 75,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../15-Den Obligatoriska Slagdängan.mp3",
+ "albumartistid" : [
+ 72
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Svenska Akademien",
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "artistid" : [
+ 72
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 15
+ },
+ {
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/15-Der Herr ist König auf immer und ewig!.mp3",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Der Herr ist König auf immer und ewig!",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "title" : "Der Herr ist König auf immer und ewig!",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "songid" : 897,
+ "albumid" : 64,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumid" : 7,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1991,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Do the Tiger",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Tigers, (The)"
+ ],
+ "title" : "Do the Tiger",
+ "songid" : 18,
+ "album" : "Kangaroo Shuffle",
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 15,
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Tigers, (The)"
+ ],
+ "artistid" : [
+ 7
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/15-Tigers, (The)-Do the Tiger.mp3",
+ "albumartistid" : [
+ 7
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Tigers, (The)",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "artistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/15-Do The Zombie.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 15,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Do The Zombie",
+ "title" : "Do The Zombie",
+ "songid" : 129,
+ "album" : "Brain Plugin Spaghetti"
+ },
+ {
+ "artist" : [
+ "Space Juniors"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/15-drip.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74,
+ "title" : "drip",
+ "songid" : 1106,
+ "album" : "Juniorville 20",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "drip"
+ },
+ {
+ "albumartist" : [
+ "John Powell"
+ ],
+ "label" : "Drive To Baywatch",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 636,
+ "title" : "Drive To Baywatch",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 49,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "John Powell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/15-Drive To Baywatch.mp3",
+ "albumartistid" : [
+ 49
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 144
+ ],
+ "artist" : [
+ "Ryan James, Matteo Imbrianti"
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ryan James, Matteo Imbrianti",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/15-Ryan James, Matteo Imbrianti-Drones.mp3",
+ "albumartistid" : [
+ 144
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "albumid" : 150,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Ryan James, Matteo Imbrianti"
+ ],
+ "label" : "Drones",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Zentiva--Muzica de relaxare",
+ "title" : "Drones",
+ "songid" : 1429
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 13,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "label" : "End Credits",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "End Credits",
+ "songid" : 109,
+ "album" : "The Entity",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 13
+ ],
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/15-End Credits.mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/15-Every Night (Aka Baby, Baby, Every Night).mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 39,
+ "album" : "Best of the Modern Years, (The)",
+ "title" : "Every Night (Aka Baby, Baby, Every Night)",
+ "songid" : 476,
+ "albumartist" : [
+ "Etta James"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Every Night (Aka Baby, Baby, Every Night)"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "artist" : [
+ "Pierre Lalonde"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 189
+ ],
+ "albumartistid" : [
+ 189
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/15-Pierre Lalonde-Forever.mp3",
+ "displayartist" : "Pierre Lalonde",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 195,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Forever",
+ "albumartist" : [
+ "Pierre Lalonde"
+ ],
+ "title" : "Forever",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "songid" : 1481
+ },
+ {
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 15,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Jay-Z"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/15-Gabbah - Gabbah.mp3",
+ "albumartistid" : [
+ 46
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Jay-Z",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 46,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Gabbah - Gabbah",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "album" : "The Black Chronic",
+ "title" : "Gabbah - Gabbah",
+ "songid" : 601
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/15-Gassin Em.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Rap"
+ ],
+ "track" : 15,
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 69
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "label" : "Gassin Em",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "title" : "Gassin Em",
+ "album" : "Buckets And Booty Calls",
+ "songid" : 1069,
+ "albumid" : 72,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "label" : "Get Ready",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 245,
+ "title" : "Get Ready",
+ "album" : "Sounds from the Burning Spear",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 24,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Burning Spear",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/15-Get Ready.mp3",
+ "albumartistid" : [
+ 24
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 24
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/15-Gevecht.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Gevecht",
+ "album" : "De Muziekfabriek",
+ "title" : "Gevecht",
+ "songid" : 263,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 19
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/15-Guava Jelly.mp3",
+ "displayartist" : "Brad Nowell",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "artistid" : [
+ 19
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 15,
+ "title" : "Guava Jelly",
+ "songid" : 163,
+ "album" : "Live At The Firecracker Lounge",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Guava Jelly",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 19,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/15-House of Death.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 219
+ ],
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "title" : "House of Death",
+ "album" : "Raise The Red Lantern",
+ "songid" : 1672,
+ "label" : "House of Death",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 227,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 20
+ ],
+ "artistid" : [
+ 41
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Frank Sinatra"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Easy Listening"
+ ],
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 41
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Frank Sinatra/Blue Skies/15-I Don't Stand A Ghost Of A Chance.mp3",
+ "displayartist" : "Frank Sinatra",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 41,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "I Don't Stand A Ghost Of A Chance",
+ "album" : "Blue Skies",
+ "songid" : 512,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Don't Stand A Ghost Of A Chance",
+ "albumartist" : [
+ "Frank Sinatra"
+ ]
+ },
+ {
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/15-I Feel That Old Feeling Coming On.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "artist" : [
+ "James Brown"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "albumartist" : [
+ "James Brown"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Feel That Old Feeling Coming On",
+ "album" : "Here's James Brown",
+ "title" : "I Feel That Old Feeling Coming On",
+ "songid" : 583,
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 45,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 50,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "I'll Remember You",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "songid" : 655,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I'll Remember You",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/15-I'll Remember You.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : ""
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "artistid" : [
+ 52
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/15-I'll Remember You.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 55,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "title" : "I'll Remember You",
+ "songid" : 730,
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "label" : "I'll Remember You",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash a"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 54,
+ "album" : "The Fabulous Johnny Cash",
+ "title" : "I'll Remember You [Previously Unreleased]",
+ "songid" : 712,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "I'll Remember You [Previously Unreleased]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/15-I'll Remember You [Previously Unreleased].mp3",
+ "albumartistid" : [
+ 50
+ ]
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 15,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/15-If You Were Mine.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 47,
+ "title" : "If You Were Mine",
+ "songid" : 618,
+ "album" : "Love Letters",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "If You Were Mine"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 226,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Wildabeast",
+ "title" : "ILL",
+ "songid" : 1654,
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 218
+ ],
+ "artist" : [
+ "Wildabeast"
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/15-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 57,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "title" : "In fremden Ländern",
+ "songid" : 767,
+ "album" : "Tavernengeflüster",
+ "label" : "In fremden Ländern",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/15-In fremden Ländern.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Koboldix"
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1995,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22,
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "In jener letzten der Nächte",
+ "songid" : 203,
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "In jener letzten der Nächte",
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/15-In jener letzten der Nächte.mp3"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Fats Domino",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/15-In the Mood for Love.mp3",
+ "albumartistid" : [
+ 40
+ ],
+ "artistid" : [
+ 40
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "songid" : 494,
+ "title" : "In the Mood for Love",
+ "album" : "I'm Walking",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "label" : "In the Mood for Love",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 40
+ },
+ {
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 23,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Itch",
+ "title" : "Itch",
+ "album" : "Evolution Through Revolution",
+ "songid" : 223,
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ],
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/15-Itch.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "songid" : 323,
+ "title" : "Lawdy Miss Clawdy",
+ "album" : "The Great Conway Twitty",
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Lawdy Miss Clawdy",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 28,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Conway Twitty",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 28
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/15-Lawdy Miss Clawdy.mp3",
+ "artistid" : [
+ 28
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "artistid" : [
+ 204
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Hugh O'Brian w Ken Darby's Orch & Chorus"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Hugh O'Brian w Ken Darby's Orch & Chorus",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 204
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/15-Hugh O'Brian w Ken Darby's Orch & Chorus-Legend Of Wyatt Earp.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 210,
+ "title" : "Legend Of Wyatt Earp",
+ "songid" : 1496,
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "albumartist" : [
+ "Hugh O'Brian w Ken Darby's Orch & Chorus"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Legend Of Wyatt Earp"
+ },
+ {
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/15-Listig Sind Die Kriminalbeamten.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "genre" : [],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 55
+ ],
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Listig Sind Die Kriminalbeamten",
+ "title" : "Listig Sind Die Kriminalbeamten",
+ "album" : "Kottans Kapelle",
+ "songid" : 787,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 58,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumid" : 11,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1997,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Lovebirds",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bent Fabric"
+ ],
+ "title" : "Lovebirds",
+ "songid" : 93,
+ "album" : "The Very Best of Bent Fabric",
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 15,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 11
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/15-Lovebirds.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 38,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 455,
+ "title" : "Minus",
+ "album" : "World of Shit",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Minus",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "artistid" : [
+ 38
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/15-Minus.mp3",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 42,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Galactic"
+ ],
+ "label" : "Muss The Hair (feat. Allen Toussaint)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Muss The Hair (feat. Allen Toussaint)",
+ "album" : "Ya-Ka-May",
+ "songid" : 528,
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz+Funk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 42
+ ],
+ "artist" : [
+ "Galactic"
+ ],
+ "genreid" : [
+ 21
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Galactic",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Galactic/Ya-Ka-May/15-Muss The Hair (feat. Allen Toussaint).mp3",
+ "albumartistid" : [
+ 42
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "VARIOS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/15-MUSSUNDE HIRAITE.mp3",
+ "albumartistid" : [
+ 91
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "artistid" : [
+ 91
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "label" : "MUSSUNDE HIRAITE",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1274,
+ "title" : "MUSSUNDE HIRAITE",
+ "album" : "AKATIAN NO TAMENO",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 96,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/15-Navajo.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "album" : "1976 - Strawberry Cake",
+ "title" : "Navajo",
+ "songid" : 673,
+ "label" : "Navajo",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 51,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1976
+ },
+ {
+ "title" : "Navajo",
+ "songid" : 693,
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Navajo",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1976,
+ "albumid" : 53,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/15-Navajo.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/15-No. 16 + 17.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 1984,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 26,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "No. 16 + 17",
+ "album" : "Children's Songs (SHM)",
+ "title" : "No. 16 + 17",
+ "songid" : 285
+ },
+ {
+ "albumartist" : [
+ "Dick Weissman"
+ ],
+ "label" : "Old Joe Clark",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Old Joe Clark",
+ "songid" : 1327,
+ "album" : "Bluegrass Banjo",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 106,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Dick Weissman",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/15-Dick Weissman-Old Joe Clark.mp3",
+ "albumartistid" : [
+ 102
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "artist" : [
+ "Dick Weissman"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 102
+ ],
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 178,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Palladium (The Hip)",
+ "songid" : 1464,
+ "album" : "Swinging Mademoiselles",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Palladium (The Hip)",
+ "albumartist" : [
+ "Liz Brady"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 172
+ ],
+ "artist" : [
+ "Liz Brady"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 172
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/15-Liz Brady-Palladium (The Hip).mp3",
+ "displayartist" : "Liz Brady",
+ "thumbnail" : ""
+ },
+ {
+ "songid" : 994,
+ "title" : "PONS Rumänisch - Track 16",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumartist" : [
+ "PONS"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 16",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 69,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/15-PONS Rumänisch - Track 16.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "track" : 15,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "artistid" : [
+ 44
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/15-Posa vi.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 44,
+ "title" : "Posa vi",
+ "album" : "Tocates valencianes",
+ "songid" : 564,
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Posa vi"
+ },
+ {
+ "year" : 1987,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Prelude to Hansel and Gretel",
+ "title" : "Prelude to Hansel and Gretel",
+ "songid" : 1180,
+ "album" : "Have Yourself a Merry Little Christma",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/15-Prelude to Hansel and Gretel.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/15-Pretty Polly - Hobart Smith.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 100,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Pretty Polly - Hobart Smith",
+ "album" : "Appalachian Breakdown",
+ "title" : "Pretty Polly - Hobart Smith",
+ "songid" : 1312
+ },
+ {
+ "label" : "Rainbows And Roses",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "title" : "Rainbows And Roses",
+ "songid" : 544,
+ "albumid" : 43,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/15-Rainbows And Roses.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 15,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ]
+ },
+ {
+ "label" : "Rape Elvis's Skeleton (Demo)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "title" : "Rape Elvis's Skeleton (Demo)",
+ "album" : "Riot In The Hive Mind",
+ "songid" : 1162,
+ "albumid" : 78,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/15-Rape Elvis's Skeleton (Demo).mp3",
+ "albumartistid" : [
+ 75
+ ],
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "track" : 15,
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "the Faeries"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ]
+ },
+ {
+ "songid" : 1577,
+ "title" : "Reel - The Earl's Chair",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Earl's Chair",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/15-Reel - The Earl's Chair.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 15
+ },
+ {
+ "track" : 15,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/15-Remember That Sunday.mp3",
+ "albumartistid" : [
+ 8
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "albumid" : 8,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "label" : "Remember That Sunday",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 34,
+ "title" : "Remember That Sunday",
+ "album" : "My Time Is The Right Time"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/15-Rockaway Beach.mp3",
+ "albumartistid" : [
+ 67
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "Rockaway Beach",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Rockaway Beach",
+ "album" : "Loco Live (CD 1)",
+ "songid" : 1031,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 70,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Roll Over Stone",
+ "album" : "アナーキー・ライブ",
+ "songid" : 1728,
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "label" : "Roll Over Stone",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 230,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/15-Roll Over Stone.mp3",
+ "albumartistid" : [
+ 222
+ ],
+ "disc" : 0,
+ "artist" : [
+ "アナーキー"
+ ],
+ "artistid" : [
+ 222
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "title" : "Roman Twilight",
+ "album" : "More Music For Films",
+ "songid" : 182,
+ "label" : "Roman Twilight",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/15-Roman Twilight.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 15
+ },
+ {
+ "track" : 15,
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/15-Sacrococcigeal Teratoma.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 30,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "label" : "Sacrococcigeal Teratoma",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Xenophilism",
+ "title" : "Sacrococcigeal Teratoma",
+ "songid" : 341
+ },
+ {
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Sanjay - Hard Pan Me",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VA"
+ ],
+ "songid" : 1256,
+ "title" : "Sanjay - Hard Pan Me",
+ "album" : "Gangsta Rock",
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "artist" : [
+ "VA"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/15-Sanjay - Hard Pan Me.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "songid" : 1216,
+ "title" : "Skye Boat",
+ "album" : "Atlantica",
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "label" : "Skye Boat",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1996,
+ "rating" : 0,
+ "albumid" : 81,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Unicorn Valley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/15-Skye Boat.mp3",
+ "albumartistid" : [
+ 78
+ ],
+ "artistid" : [
+ 78
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/15-Smoky Mountain Memories.mp3",
+ "albumartistid" : [
+ 70
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 70
+ ],
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 15,
+ "title" : "Smoky Mountain Memories",
+ "album" : "Barn Burners",
+ "songid" : 1088,
+ "label" : "Smoky Mountain Memories",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 73,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 15,
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/15-Spefeven.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 16,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2001,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Spefeven",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "songid" : 147,
+ "title" : "Spefeven",
+ "album" : "Cunt"
+ },
+ {
+ "title" : "Such a Night",
+ "songid" : 1349,
+ "album" : "Rock 'n Roll: 60 Hits",
+ "albumartist" : [
+ "Johnnie Ray"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Such a Night",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 126,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Johnnie Ray",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 122
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/15-Johnnie Ray-Such a Night.mp3",
+ "artistid" : [
+ 122
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnnie Ray"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ]
+ },
+ {
+ "displayartist" : "Dismemberment",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 93
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/15-Dismemberment-Taste The Innards.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "artistid" : [
+ 93
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dismemberment"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "albumartist" : [
+ "Dismemberment"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Taste The Innards",
+ "title" : "Taste The Innards",
+ "songid" : 1288,
+ "album" : "3 Way Split CD",
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 98,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "title" : "Telemann: Concerto in F minor - 2",
+ "album" : "Alb",
+ "songid" : 1560,
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Telemann: Concerto in F minor - 2",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1980,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 223,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/15-Telemann: Concerto in F minor - 2.mp3",
+ "artistid" : [
+ 215
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/15-The Cello - TEN MINUTES AFTER.mp3",
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Cello - TEN MINUTES AFTER",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "songid" : 953,
+ "title" : "The Cello - TEN MINUTES AFTER",
+ "album" : "Ten Minutes Older",
+ "albumid" : 67,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/15-Theme de la Fontaine et des menhirs.mp3",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "artistid" : [
+ 220
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "track" : 15,
+ "title" : "Theme de la Fontaine et des menhirs",
+ "songid" : 1690,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Theme de la Fontaine et des menhirs",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 228,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/15-Thème De La Fontaine Et Des Menhirs.mp3",
+ "albumartistid" : [
+ 53
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 53
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "title" : "Thème De La Fontaine Et Des Menhirs",
+ "album" : "L' Africana",
+ "songid" : 748,
+ "label" : "Thème De La Fontaine Et Des Menhirs",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 56,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track16 BARTOK Sonatine, 1er mvt",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track16 BARTOK Sonatine, 1er mvt",
+ "songid" : 805,
+ "albumid" : 59,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/15-Track16 BARTOK Sonatine, 1er mvt.mp3",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/15-Vater unser.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "artist" : [
+ "Dauner"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 15,
+ "genre" : [],
+ "lyrics" : "",
+ "title" : "Vater unser",
+ "songid" : 379,
+ "album" : "Wegzeichen",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Vater unser",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 32
+ },
+ {
+ "title" : "weißt du wieviel Sternlein stehen",
+ "songid" : 917,
+ "album" : "die schönsten Kinderlieder",
+ "label" : "weißt du wieviel Sternlein stehen",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 65,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/15-weißt du wieviel Sternlein stehen.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 62
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Music Kids"
+ ],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 15
+ },
+ {
+ "albumartistid" : [
+ 58
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/15-Les Paul & Mary Ford-World Is Waiting For The Sunrise.mp3",
+ "displayartist" : "Les Paul & Mary Ford",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Pop"
+ ],
+ "lyrics" : "",
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ],
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 58
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "World Is Waiting For The Sunrise",
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "album" : "This Is Gold D1 of 3",
+ "title" : "World Is Waiting For The Sunrise",
+ "songid" : 843,
+ "albumid" : 61,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumid" : 229,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "бяшђ-ър ьшыюх фшђџ",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "title" : "бяшђ-ър ьшыюх фшђџ",
+ "songid" : 1709,
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 15,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 221
+ ],
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "albumartistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/15-бяшђ-ър ьшыюх фшђџ.mp3",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 15,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 225
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/15-あしたははれる.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 233,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "あしたははれる",
+ "title" : "あしたははれる",
+ "songid" : 1802,
+ "album" : "おかあさんといっしょ コロンパッ"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/15-おもちゃのこうしん.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "artistid" : [
+ 224
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 15,
+ "songid" : 1765,
+ "title" : "おもちゃのこうしん",
+ "album" : "ピアノスタディ1",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "おもちゃのこうしん",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "title" : "やきいも グーチーパー",
+ "songid" : 1236,
+ "album" : "おいしいうた・いただきまーす・",
+ "albumartist" : [
+ "速水 けんたろう"
+ ],
+ "label" : "やきいも グーチーパー",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "albumid" : 93,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "速水 けんたろう",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/15-速水 けんたろう-やきいも グーチーパー.mp3",
+ "albumartistid" : [
+ 88
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 88
+ ],
+ "artist" : [
+ "速水 けんたろう"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 15,
+ "lyrics" : "",
+ "genre" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 231,
+ "year" : 1989,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "プラスアルファ",
+ "title" : "風の踊り子 (Arrange Version)",
+ "songid" : 1746,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "風の踊り子 (Arrange Version)",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "track" : 15,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/15-風の踊り子 (Arrange Version).mp3",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 19,
+ "album" : "Live At The Firecracker Lounge",
+ "title" : "\"..de verdas, no recuerdo...\"",
+ "songid" : 164,
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "\"..de verdas, no recuerdo...\"",
+ "disc" : 0,
+ "artistid" : [
+ 19
+ ],
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 16,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Brad Nowell",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 19
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/16-\"..de verdas, no recuerdo...\".mp3"
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "17 - Animacin (En vivo)",
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "title" : "17 - Animacin (En vivo)",
+ "album" : "EN VIVO EN PARAGUAY",
+ "songid" : 363,
+ "albumid" : 31,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/16-17 - Animacin (En vivo).mp3",
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Salsa"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 31
+ ],
+ "artist" : [
+ "DAMAS GRATIS"
+ ]
+ },
+ {
+ "displayartist" : "Ray Charles",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 68
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/16-17 I'm Glad for Your Sake.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 16,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "artistid" : [
+ 68
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "17 I'm Glad for Your Sake",
+ "title" : "17 I'm Glad for Your Sake",
+ "album" : "Legend (Disk 2)",
+ "songid" : 1052,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 71,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/16-17 Marienvesper - Ad Magnificat - Beatam me dicent.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "label" : "17 Marienvesper - Ad Magnificat - Beatam me dicent",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "title" : "17 Marienvesper - Ad Magnificat - Beatam me dicent",
+ "songid" : 878,
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "albumid" : 63,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Kottans Kapelle",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 55
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/16-A Kiebara Wird Nie A Star.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 55
+ ],
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 16,
+ "genre" : [],
+ "lyrics" : "",
+ "songid" : 788,
+ "title" : "A Kiebara Wird Nie A Star",
+ "album" : "Kottans Kapelle",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "A Kiebara Wird Nie A Star",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 58
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Afterworld",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "title" : "Afterworld",
+ "album" : "Evolution Through Revolution",
+ "songid" : 224,
+ "albumid" : 23,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/16-Afterworld.mp3",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "artist" : [
+ "Brutal Truth"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/16-Ambrosia.mp3",
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Ambrosia",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "album" : "Tavernengeflüster",
+ "title" : "Ambrosia",
+ "songid" : 768,
+ "albumid" : 57,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 13,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "title" : "Attack Music [Deconstructed]",
+ "album" : "The Entity",
+ "songid" : 110,
+ "label" : "Attack Music [Deconstructed]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "artistid" : [
+ 13
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/16-Attack Music [Deconstructed].mp3",
+ "albumartistid" : [
+ 13
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bernstein, Charles"
+ },
+ {
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "artist" : [
+ "Lightning Slim"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 156
+ ],
+ "genreid" : [
+ 35
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Lightning Slim",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/16-Lightning Slim-Bad Luck Blues.mp3",
+ "albumartistid" : [
+ 156
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "albumid" : 162,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Lightning Slim"
+ ],
+ "label" : "Bad Luck Blues",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Bad Luck Blues",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "songid" : 1443
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 62,
+ "album" : "Tocs i Músiques de Les Santes",
+ "title" : "Ball de bastons de Mataró (tercer)",
+ "songid" : 861,
+ "albumartist" : [
+ "Les Santes"
+ ],
+ "label" : "Ball de bastons de Mataró (tercer)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artist" : [
+ "Les Santes"
+ ],
+ "artistid" : [
+ 59
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Santes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Santes/Tocs i Músiques de Les Santes/16-Ball de bastons de Mataró (tercer).mp3",
+ "albumartistid" : [
+ 59
+ ]
+ },
+ {
+ "albumid" : 135,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1947,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Barbados (take 1) [K]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Original Charlie Parker Quintet [5]"
+ ],
+ "title" : "Barbados (take 1) [K]",
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "songid" : 1365,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 130
+ ],
+ "artist" : [
+ "Original Charlie Parker Quintet [5]"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/16-Original Charlie Parker Quintet [5]-Barbados (take 1) [K].mp3",
+ "albumartistid" : [
+ 130
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Quintet [5]",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "label" : "Bill Clinton Sex Fiend",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "album" : "The Fat of the Band",
+ "title" : "Bill Clinton Sex Fiend",
+ "songid" : 1635,
+ "albumid" : 225,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/16-Bill Clinton Sex Fiend.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 217
+ ]
+ },
+ {
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/16-Black.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 16,
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 38
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Black",
+ "songid" : 456,
+ "title" : "Black",
+ "album" : "World of Shit",
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2000,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 8,
+ "title" : "Black Man's Word",
+ "album" : "My Time Is The Right Time",
+ "songid" : 35,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Black Man's Word",
+ "artistid" : [
+ 8
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Alton Ellis",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 8
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/16-Black Man's Word.mp3"
+ },
+ {
+ "label" : "Blank",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "songid" : 1523,
+ "title" : "Blank",
+ "album" : "Chinese Pornography",
+ "albumid" : 221,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/16-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "artist" : [
+ "Victims in Ecstacy"
+ ]
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "artistid" : [
+ 46
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 16,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jay-Z",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 46
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jay-Z/The Black Chronic/16-Bonus - Bonus.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 46,
+ "title" : "Bonus - Bonus",
+ "album" : "The Black Chronic",
+ "songid" : 602,
+ "albumartist" : [
+ "Jay-Z"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Bonus - Bonus"
+ },
+ {
+ "artist" : [
+ "Cockpunch"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "genreid" : [
+ 12
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Hardcore"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Cockpunch",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/16-Born In 1993.mp3",
+ "albumartistid" : [
+ 27
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "albumid" : 27,
+ "title" : "Born In 1993",
+ "album" : "Attack!",
+ "songid" : 306,
+ "albumartist" : [
+ "Cockpunch"
+ ],
+ "label" : "Born In 1993",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/16-Call Me A Fool (Aka How Big A Fool?).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 16,
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 39
+ ],
+ "artist" : [
+ "Etta James"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "albumartist" : [
+ "Etta James"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Call Me A Fool (Aka How Big A Fool?)",
+ "title" : "Call Me A Fool (Aka How Big A Fool?)",
+ "album" : "Best of the Modern Years, (The)",
+ "songid" : 477,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 39,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumid" : 50,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Cold Shoulder",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "title" : "Cold Shoulder",
+ "songid" : 656,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 16,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/16-Cold Shoulder.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "label" : "Cold Shoulder",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "title" : "Cold Shoulder",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "songid" : 731,
+ "albumid" : 55,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/16-Cold Shoulder.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 52
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1958,
+ "albumid" : 54,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Cold Shoulder [Previously Unreleased In The US]",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 713,
+ "title" : "Cold Shoulder [Previously Unreleased In The US]",
+ "album" : "The Fabulous Johnny Cash",
+ "track" : 16,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/16-Cold Shoulder [Previously Unreleased In The US].mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/16-Dansa.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 16,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 44
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dansa",
+ "title" : "Dansa",
+ "songid" : 565,
+ "album" : "Tocates valencianes",
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 44,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "artist" : [
+ "Brian Eno"
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/16-Dawn, Marshland.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 21,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "title" : "Dawn, Marshland",
+ "album" : "More Music For Films",
+ "songid" : 183,
+ "label" : "Dawn, Marshland",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Brian Eno"
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 64,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Denn die Reiter Pharaos mit all' ihren Wagne",
+ "songid" : 898,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Denn die Reiter Pharaos mit all' ihren Wagne",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 61
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/16-Denn die Reiter Pharaos mit all' ihren Wagne.mp3",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/16-Dialogue #7.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 16,
+ "title" : "Dialogue #7",
+ "songid" : 674,
+ "album" : "1976 - Strawberry Cake",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dialogue #7",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 51,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "songid" : 694,
+ "title" : "Dialogue #7",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "label" : "Dialogue #7",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 53,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/16-Dialogue #7.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 16
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 98,
+ "title" : "Dismemberment Freak",
+ "album" : "3 Way Split CD",
+ "songid" : 1289,
+ "albumartist" : [
+ "Dismemberment"
+ ],
+ "label" : "Dismemberment Freak",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artist" : [
+ "Dismemberment"
+ ],
+ "artistid" : [
+ 93
+ ],
+ "genreid" : [
+ 32
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Dismemberment",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/16-Dismemberment-Dismemberment Freak.mp3",
+ "albumartistid" : [
+ 93
+ ]
+ },
+ {
+ "title" : "don't eat spinach",
+ "album" : "Juniorville 20",
+ "songid" : 1107,
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "don't eat spinach",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/16-don't eat spinach.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "track" : 16,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "title" : "Drunken Hiccups - Hobart Smith",
+ "album" : "Appalachian Breakdown",
+ "songid" : 1313,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Drunken Hiccups - Hobart Smith",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 100,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/16-Drunken Hiccups - Hobart Smith.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 47,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 619,
+ "title" : "Everywhere You Go",
+ "album" : "Love Letters",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Everywhere You Go",
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/16-Everywhere You Go.mp3",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : ""
+ },
+ {
+ "albumid" : 36,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Exclusive Freestyle",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "album" : "Best of Defari",
+ "title" : "Exclusive Freestyle",
+ "songid" : 434,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "artistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/16-Exclusive Freestyle.mp3",
+ "albumartistid" : [
+ 36
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 219
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/16-Fifth Mistress.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 227,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "album" : "Raise The Red Lantern",
+ "title" : "Fifth Mistress",
+ "songid" : 1673,
+ "label" : "Fifth Mistress",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Zhao Jiping"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 75,
+ "album" : "Med Anledning Av..",
+ "title" : "Framtidens Början",
+ "songid" : 1127,
+ "albumartist" : [
+ "Svenska Akademien"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Framtidens Början",
+ "artist" : [
+ "Svenska Akademien"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 72
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "track" : 16,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Svenska Akademien",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 72
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Svenska Akademien/Med Anledning Av../16-Framtidens Början.mp3"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2012,
+ "rating" : 0,
+ "albumid" : 45,
+ "songid" : 584,
+ "title" : "Gonna Try",
+ "album" : "Here's James Brown",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "label" : "Gonna Try",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "James Brown"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 45
+ ],
+ "genreid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "James Brown",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/16-Gonna Try.mp3",
+ "albumartistid" : [
+ 45
+ ]
+ },
+ {
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "artistid" : [
+ 76
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/16-Good King Wenceslas.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Good King Wenceslas",
+ "title" : "Good King Wenceslas",
+ "songid" : 1181,
+ "album" : "Have Yourself a Merry Little Christma"
+ },
+ {
+ "albumid" : 49,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Goodbye",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "title" : "Goodbye",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "songid" : 637,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 16,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 49
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/16-Goodbye.mp3",
+ "albumartistid" : [
+ 49
+ ],
+ "thumbnail" : "",
+ "displayartist" : "John Powell",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 137,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Gypsy Dance: No 20 from Fiddle Time Runners",
+ "songid" : 1392,
+ "album" : "Violin exam pieces 2008-2011",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Gypsy Dance: No 20 from Fiddle Time Runners",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/16-Gypsy Dance: No 20 from Fiddle Time Runners.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "U-Roy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/16-Hard Feeling.mp3",
+ "albumartistid" : [
+ 77
+ ],
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "title" : "Hard Feeling",
+ "songid" : 1200,
+ "album" : "The Righful Ruler (Disc 2)",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "label" : "Hard Feeling",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "albumid" : 80
+ },
+ {
+ "albumartist" : [
+ "VA"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Hawkeye - Man A Top A Top",
+ "songid" : 1257,
+ "title" : "Hawkeye - Man A Top A Top",
+ "album" : "Gangsta Rock",
+ "rating" : 0,
+ "year" : 2006,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 95,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "VA",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 90
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/16-Hawkeye - Man A Top A Top.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 16,
+ "genre" : [
+ "Dancehall"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "VA"
+ ],
+ "artistid" : [
+ 90
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 31
+ ]
+ },
+ {
+ "track" : 16,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ],
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/16-Heartbreak Tennessee.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Heartbreak Tennessee",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 545,
+ "title" : "Heartbreak Tennessee",
+ "album" : "The Little Darlin' Sound of Lloyd Green"
+ },
+ {
+ "songid" : 1145,
+ "title" : "Honey Hush",
+ "album" : "Legends of Soul: The Drifters",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "label" : "Honey Hush",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2007,
+ "albumid" : 77,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "The Drifters",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/16-Honey Hush.mp3",
+ "albumartistid" : [
+ 74
+ ],
+ "artist" : [
+ "The Drifters"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 74
+ ],
+ "genreid" : [
+ 29
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Soul"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 226,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "album" : "Wildabeast",
+ "title" : "ILL",
+ "songid" : 1655,
+ "label" : "ILL",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wildabeast"
+ ],
+ "artistid" : [
+ 218
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/16-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/16-Island Dances and Songs.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "title" : "Island Dances and Songs",
+ "songid" : 75,
+ "album" : "Royal Greek Festival Company",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "label" : "Island Dances and Songs",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "albumid" : 10
+ },
+ {
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/16-Journey.mp3",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 24
+ ],
+ "artist" : [
+ "Burning Spear"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Journey",
+ "albumartist" : [
+ "Burning Spear"
+ ],
+ "album" : "Sounds from the Burning Spear",
+ "title" : "Journey",
+ "songid" : 246,
+ "albumid" : 24,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 125,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "John D. Loudermilk"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Language of Love",
+ "songid" : 1348,
+ "title" : "Language of Love",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "track" : 16,
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "John D. Loudermilk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 121
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "displayartist" : "John D. Loudermilk",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 121
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/16-John D. Loudermilk-Language of Love.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "title" : "Les Yeux Doux",
+ "album" : "Swinging Mademoiselles",
+ "songid" : 1465,
+ "albumartist" : [
+ "Olivia"
+ ],
+ "label" : "Les Yeux Doux",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 179,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Olivia",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/16-Olivia-Les Yeux Doux.mp3",
+ "albumartistid" : [
+ 173
+ ],
+ "artist" : [
+ "Olivia"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 173
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 32
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/16-Meditation.mp3",
+ "displayartist" : "Dauner",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 32
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Dauner"
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 16,
+ "title" : "Meditation",
+ "songid" : 380,
+ "album" : "Wegzeichen",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Meditation",
+ "albumartist" : [
+ "Dauner"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 32,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "songid" : 1426,
+ "title" : "Mediterranean Sea",
+ "album" : "Zentiva--Muzica de relaxare",
+ "albumartist" : [
+ "Matthias Wittwer, Clements Schweikhart"
+ ],
+ "label" : "Mediterranean Sea",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2006,
+ "albumid" : 147,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Matthias Wittwer, Clements Schweikhart",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Zentiva--Muzica de relaxare/16-Matthias Wittwer, Clements Schweikhart-Mediterranean Sea.mp3",
+ "albumartistid" : [
+ 141
+ ],
+ "artist" : [
+ "Matthias Wittwer, Clements Schweikhart"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 141
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Ambient"
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 189,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "title" : "Minnesota Fats (Aka The Biljart Shuffle)",
+ "songid" : 1475,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Minnesota Fats (Aka The Biljart Shuffle)",
+ "albumartist" : [
+ "Johnny & The Hurricanes"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "artist" : [
+ "Johnny & The Hurricanes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 183
+ ],
+ "genre" : [
+ "Oldies"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 183
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/16-Johnny & The Hurricanes-Minnesota Fats (Aka The Biljart Shuffle).mp3",
+ "displayartist" : "Johnny & The Hurricanes",
+ "thumbnail" : ""
+ },
+ {
+ "label" : "Money Is The Shit Of God (Demo)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "title" : "Money Is The Shit Of God (Demo)",
+ "songid" : 1163,
+ "album" : "Riot In The Hive Mind",
+ "albumid" : 78,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/16-Money Is The Shit Of God (Demo).mp3",
+ "albumartistid" : [
+ 75
+ ],
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 75
+ ],
+ "artist" : [
+ "the Faeries"
+ ]
+ },
+ {
+ "title" : "My Girl Josephine",
+ "album" : "I'm Walking",
+ "songid" : 495,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "My Girl Josephine",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 40,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 40
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/16-My Girl Josephine.mp3",
+ "displayartist" : "Fats Domino",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 40
+ ],
+ "artist" : [
+ "Fats Domino"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 16
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/16-No. 18.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "songid" : 286,
+ "title" : "No. 18",
+ "album" : "Children's Songs (SHM)",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "label" : "No. 18",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1984,
+ "albumid" : 26
+ },
+ {
+ "albumid" : 68,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "orgia brutal ano sado masoquesta",
+ "albumartist" : [
+ "pigto"
+ ],
+ "songid" : 975,
+ "title" : "orgia brutal ano sado masoquesta",
+ "album" : "depravada sexual",
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/16-orgia brutal ano sado masoquesta.mp3",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "Pange lingua",
+ "songid" : 204,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Pange lingua",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 22,
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/16-Pange lingua.mp3",
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 16
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2011,
+ "albumid" : 70,
+ "album" : "Loco Live (CD 1)",
+ "title" : "Pet Sematary",
+ "songid" : 1032,
+ "albumartist" : [
+ "Ramones"
+ ],
+ "label" : "Pet Sematary",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "Ramones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Ramones",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/16-Pet Sematary.mp3",
+ "albumartistid" : [
+ 67
+ ]
+ },
+ {
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "PONS Rumänisch - Track 17",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 17",
+ "songid" : 995,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/16-PONS Rumänisch - Track 17.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 30,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Preborn Pedophilism",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "title" : "Preborn Pedophilism",
+ "songid" : 342,
+ "album" : "Xenophilism",
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "track" : 16,
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/16-Preborn Pedophilism.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 34,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Real Time Blackout",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "songid" : 399,
+ "title" : "Real Time Blackout",
+ "album" : "Three Things At Once",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/16-Real Time Blackout.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Ferry's",
+ "songid" : 1578,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Ferry's",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/16-Reel - Ferry's.mp3",
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ]
+ },
+ {
+ "artistid" : [
+ 91
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/16-SEIKURABE.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 96,
+ "songid" : 1275,
+ "title" : "SEIKURABE",
+ "album" : "AKATIAN NO TAMENO",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "SEIKURABE"
+ },
+ {
+ "album" : "Onie's Country Boppers",
+ "title" : "Shuckin' My Way To The Hall Of Fame",
+ "songid" : 936,
+ "albumartist" : [
+ "Onie Wheeler"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Shuckin' My Way To The Hall Of Fame",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 66,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Onie Wheeler",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 63
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/16-Shuckin' My Way To The Hall Of Fame.mp3",
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 16,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/16-Simple Gifts.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Simple Gifts",
+ "album" : "Atlantica",
+ "title" : "Simple Gifts",
+ "songid" : 1217,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 81,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 25,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 264,
+ "title" : "Strafsaxofoon",
+ "album" : "De Muziekfabriek",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Strafsaxofoon",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/16-Strafsaxofoon.mp3",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : ""
+ },
+ {
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 28,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Conway Twitty"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Such A Night",
+ "album" : "The Great Conway Twitty",
+ "title" : "Such A Night",
+ "songid" : 324,
+ "track" : 16,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 28
+ ],
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "displayartist" : "Conway Twitty",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 28
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/16-Such A Night.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/16-SUN COLORS (Arrange Version).mp3",
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 231,
+ "year" : 1989,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "プラスアルファ",
+ "title" : "SUN COLORS (Arrange Version)",
+ "songid" : 1747,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "SUN COLORS (Arrange Version)",
+ "albumartist" : [
+ "ジャレコ"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/16-Tarentelas 1 à 6 (Anonyme).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "title" : "Tarentelas 1 à 6 (Anonyme)",
+ "songid" : 56,
+ "album" : "Tarentule - Taren",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "label" : "Tarentelas 1 à 6 (Anonyme)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1978,
+ "albumid" : 9
+ },
+ {
+ "albumid" : 223,
+ "rating" : 0,
+ "year" : 1980,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Telemann: Concerto in F minor - 3",
+ "albumartist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "title" : "Telemann: Concerto in F minor - 3",
+ "songid" : 1561,
+ "album" : "Alb",
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 215
+ ],
+ "albumartistid" : [
+ 215
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van/Alb/16-Telemann: Concerto in F minor - 3.mp3",
+ "displayartist" : "Vries, Han De; Alma Musica Amsterdam; Asperen, Bob van",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "songid" : 954,
+ "title" : "The Cello - VERS NANCY",
+ "album" : "Ten Minutes Older",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "label" : "The Cello - VERS NANCY",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 67,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/16-The Cello - VERS NANCY.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartist" : [
+ "David Lindley"
+ ],
+ "label" : "The Johnson Boys",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "The Johnson Boys",
+ "album" : "Bluegrass Banjo",
+ "songid" : 1322,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 104,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "David Lindley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/16-David Lindley-The Johnson Boys.mp3",
+ "albumartistid" : [
+ 100
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 16,
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "David Lindley"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 100
+ ],
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 72,
+ "songid" : 1070,
+ "title" : "The Man",
+ "album" : "Buckets And Booty Calls",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Man",
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 28
+ ],
+ "track" : 16,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Roach Gigz",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 69
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/16-The Man.mp3"
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 11
+ ],
+ "artist" : [
+ "Bent Fabric"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bent Fabric/The Very Best of Bent Fabric/16-The Pink Elephant.mp3",
+ "albumartistid" : [
+ 11
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bent Fabric",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 11,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1997,
+ "rating" : 0,
+ "album" : "The Very Best of Bent Fabric",
+ "title" : "The Pink Elephant",
+ "songid" : 94,
+ "label" : "The Pink Elephant",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bent Fabric"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1994,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 202,
+ "title" : "The Rifleman",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "songid" : 1488,
+ "albumartist" : [
+ "ABC Orch Conducted by Herschel Burke Gilbert"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Rifleman",
+ "artist" : [
+ "ABC Orch Conducted by Herschel Burke Gilbert"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 196
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 16,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ABC Orch Conducted by Herschel Burke Gilbert",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 196
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/16-ABC Orch Conducted by Herschel Burke Gilbert-The Rifleman.mp3"
+ },
+ {
+ "albumid" : 228,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1990,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Theme de passe. Variation A",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "title" : "Theme de passe. Variation A",
+ "songid" : 1691,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/16-Theme de passe. Variation A.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 16,
+ "rating" : 0,
+ "year" : 2001,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Theobjectistoshiftsomeunits",
+ "songid" : 148,
+ "album" : "Cunt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Theobjectistoshiftsomeunits",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 8
+ ],
+ "artistid" : [
+ 16
+ ],
+ "disc" : 0,
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 16
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/16-Theobjectistoshiftsomeunits.mp3",
+ "displayartist" : "BLOOD DUSTER",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/16-Thème Du Passé, Variation A.mp3",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 56,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Thème Du Passé, Variation A",
+ "album" : "L' Africana",
+ "songid" : 749,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Thème Du Passé, Variation A",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track17 BEETHOVEN Sonate op 26 1er mvt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Track17 BEETHOVEN Sonate op 26 1er mvt",
+ "songid" : 806,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/16-Track17 BEETHOVEN Sonate op 26 1er mvt.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/16-Weirdo.mp3",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "artistid" : [
+ 15
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Weirdo",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "title" : "Weirdo",
+ "album" : "Brain Plugin Spaghetti",
+ "songid" : 130,
+ "albumid" : 15,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "track" : 16,
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "artistid" : [
+ 57
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Paul"
+ ],
+ "genreid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Les Paul",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/16-Les Paul-What Is This Thing Called Love.mp3",
+ "albumartistid" : [
+ 57
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0,
+ "albumid" : 60,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Les Paul"
+ ],
+ "label" : "What Is This Thing Called Love",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "What Is This Thing Called Love",
+ "songid" : 836,
+ "album" : "This Is Gold D1 of 3"
+ },
+ {
+ "albumid" : 73,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "When My Blue Moon Turns To Gold Again",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "album" : "Barn Burners",
+ "title" : "When My Blue Moon Turns To Gold Again",
+ "songid" : 1089,
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 16,
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 70
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/16-When My Blue Moon Turns To Gold Again.mp3",
+ "albumartistid" : [
+ 70
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Smoky Mountain",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Piano Slim"
+ ],
+ "artistid" : [
+ 6
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Blues"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Piano Slim",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/16-Piano Slim-Whole Lotta Shakin'.mp3",
+ "albumartistid" : [
+ 6
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1991,
+ "albumid" : 6,
+ "album" : "Kangaroo Shuffle",
+ "title" : "Whole Lotta Shakin'",
+ "songid" : 16,
+ "albumartist" : [
+ "Piano Slim"
+ ],
+ "label" : "Whole Lotta Shakin'",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Winter ade",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "songid" : 918,
+ "title" : "Winter ade",
+ "album" : "die schönsten Kinderlieder",
+ "albumid" : 65,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 62
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/16-Winter ade.mp3",
+ "displayartist" : "Music Kids",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "track" : 16,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ],
+ "artist" : [
+ "Music Kids"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Vladimir Cosma/Les aventures de Rabbi Jacob/16-Épilogue.mp3",
+ "albumartistid" : [
+ 214
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Vladimir Cosma",
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 214
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Vladimir Cosma"
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "songid" : 1544,
+ "title" : "Épilogue",
+ "album" : "Les aventures de Rabbi Jacob",
+ "label" : "Épilogue",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Vladimir Cosma"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 222,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1973,
+ "rating" : 0
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 221
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/16-бяш, фшђџ.mp3",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "artistid" : [
+ 221
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "track" : 16,
+ "title" : "бяш, фшђџ",
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш",
+ "songid" : 1710,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "бяш, фшђџ",
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 229,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "くいしんぼゴリラのうた",
+ "songid" : 1237,
+ "label" : "くいしんぼゴリラのうた",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "速水 けんたろう"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 93,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/16-速水 けんたろう-くいしんぼゴリラのうた.mp3",
+ "albumartistid" : [
+ 88
+ ],
+ "thumbnail" : "",
+ "displayartist" : "速水 けんたろう",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "速水 けんたろう"
+ ],
+ "artistid" : [
+ 88
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 16
+ },
+ {
+ "albumid" : 233,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "さみしくなんかないってば",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "title" : "さみしくなんかないってば",
+ "songid" : 1803,
+ "album" : "おかあさんといっしょ コロンパッ",
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 16,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 225
+ ],
+ "artist" : [
+ "横山だいすけ、三谷たくみ"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/横山だいすけ、三谷たくみ/おかあさんといっしょ コロンパッ/16-さみしくなんかないってば.mp3",
+ "albumartistid" : [
+ 225
+ ],
+ "thumbnail" : "",
+ "displayartist" : "横山だいすけ、三谷たくみ",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 16,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/16-インディアンのたいこ.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 232,
+ "album" : "ピアノスタディ1",
+ "title" : "インディアンのたいこ",
+ "songid" : 1766,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "インディアンのたいこ",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "アナーキー"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 16,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/16-団地のオバサン.mp3",
+ "albumartistid" : [
+ 222
+ ],
+ "thumbnail" : "",
+ "displayartist" : "アナーキー",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 230,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1982,
+ "rating" : 0,
+ "songid" : 1729,
+ "title" : "団地のオバサン",
+ "album" : "アナーキー・ライブ",
+ "label" : "団地のオバサン",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "アナーキー"
+ ]
+ },
+ {
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 31,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "DAMAS GRATIS"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "18 - Los dueos del pabelln (",
+ "songid" : 364,
+ "title" : "18 - Los dueos del pabelln (",
+ "album" : "EN VIVO EN PARAGUAY",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Salsa"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DAMAS GRATIS"
+ ],
+ "artistid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 15
+ ],
+ "displayartist" : "DAMAS GRATIS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 31
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DAMAS GRATIS/EN VIVO EN PARAGUAY/17-18 - Los dueos del pabelln (.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ray Charles/Legend (Disk 2)/17-18 I'll Do Anything but Work.mp3",
+ "albumartistid" : [
+ 68
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Ray Charles",
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 68
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Ray Charles"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 17,
+ "title" : "18 I'll Do Anything but Work",
+ "album" : "Legend (Disk 2)",
+ "songid" : 1053,
+ "label" : "18 I'll Do Anything but Work",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Ray Charles"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 71,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2005,
+ "rating" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Marienvesper 1693",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 60
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/17-18 Marienvesper - Magnificat.mp3",
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "title" : "18 Marienvesper - Magnificat",
+ "songid" : 879,
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "18 Marienvesper - Magnificat",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 63
+ },
+ {
+ "album" : "AKATIAN NO TAMENO",
+ "title" : "AKATOMBO",
+ "songid" : 1276,
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "AKATOMBO",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 96,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/17-AKATOMBO.mp3",
+ "artistid" : [
+ 91
+ ],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : []
+ },
+ {
+ "artist" : [
+ "Unicorn Valley"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 78
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Unicorn Valley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 78
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Unicorn Valley/Atlantica/17-Amazing Grace.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1996,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 81,
+ "album" : "Atlantica",
+ "title" : "Amazing Grace",
+ "songid" : 1218,
+ "albumartist" : [
+ "Unicorn Valley"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Amazing Grace"
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 13,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Attack Music [Rejected]",
+ "album" : "The Entity",
+ "songid" : 111,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Attack Music [Rejected]",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artist" : [
+ "Bernstein, Charles"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 13
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 13
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/17-Attack Music [Rejected].mp3",
+ "displayartist" : "Bernstein, Charles",
+ "thumbnail" : ""
+ },
+ {
+ "songid" : 1182,
+ "title" : "Auld Lang Syne",
+ "album" : "Have Yourself a Merry Little Christma",
+ "label" : "Auld Lang Syne",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 79,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1987,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/17-Auld Lang Syne.mp3",
+ "albumartistid" : [
+ 76
+ ],
+ "thumbnail" : "",
+ "displayartist" : "The Hollywood Trombones",
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 76
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 17
+ },
+ {
+ "title" : "Austro",
+ "songid" : 789,
+ "album" : "Kottans Kapelle",
+ "label" : "Austro",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Kottans Kapelle"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 58,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Kottans Kapelle/Kottans Kapelle/17-Austro.mp3",
+ "albumartistid" : [
+ 55
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Kottans Kapelle",
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Kottans Kapelle"
+ ],
+ "artistid" : [
+ 55
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 17
+ },
+ {
+ "year" : 1995,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 22,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ave Maria",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "title" : "Ave Maria",
+ "songid" : 205,
+ "track" : 17,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 22
+ ],
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Bruckner. Anton",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 22
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/17-Ave Maria.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 130
+ ],
+ "artist" : [
+ "Original Charlie Parker Quintet [5]"
+ ],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/17-Original Charlie Parker Quintet [5]-Barbados (take 3) [K].mp3",
+ "albumartistid" : [
+ 130
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Original Charlie Parker Quintet [5]",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 135,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1947,
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07",
+ "title" : "Barbados (take 3) [K]",
+ "songid" : 1366,
+ "label" : "Barbados (take 3) [K]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Original Charlie Parker Quintet [5]"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/17-Behold my Life.mp3",
+ "albumartistid" : [
+ 36
+ ],
+ "thumbnail" : "",
+ "displayartist" : "DJ Revolution",
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 36
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "album" : "Best of Defari",
+ "title" : "Behold my Life",
+ "songid" : 435,
+ "label" : "Behold my Life",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 36,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 221,
+ "album" : "Chinese Pornography",
+ "title" : "Blank",
+ "songid" : 1524,
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "label" : "Blank",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "genre" : [],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/17-Blank.mp3",
+ "albumartistid" : [
+ 213
+ ]
+ },
+ {
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Bohemia - Ploka: No 4 from More Travel Tunes - Violin",
+ "songid" : 1393,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Bohemia - Ploka: No 4 from More Travel Tunes - Violin",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/17-Bohemia - Ploka: No 4 from More Travel Tunes - Violin.mp3",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 17,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 12
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 27
+ ],
+ "artist" : [
+ "Cockpunch"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore"
+ ],
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 27
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Cockpunch/Attack!/17-Bonus.mp3",
+ "displayartist" : "Cockpunch",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 27,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Attack!",
+ "title" : "Bonus",
+ "songid" : 307,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Bonus",
+ "albumartist" : [
+ "Cockpunch"
+ ]
+ },
+ {
+ "title" : "Bully Of The Town - Etta Baker",
+ "album" : "Appalachian Breakdown",
+ "songid" : 1314,
+ "label" : "Bully Of The Town - Etta Baker",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/17-Bully Of The Town - Etta Baker.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 17
+ },
+ {
+ "songid" : 1033,
+ "title" : "Carbona Not Glue",
+ "album" : "Loco Live (CD 1)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Carbona Not Glue",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 70,
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/17-Carbona Not Glue.mp3",
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 17
+ },
+ {
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Cerebral Menses",
+ "songid" : 343,
+ "title" : "Cerebral Menses",
+ "album" : "Xenophilism",
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 30,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/17-Cerebral Menses.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "artistid" : [
+ 30
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Other"
+ ],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "James Brown"
+ ],
+ "artistid" : [
+ 45
+ ],
+ "albumartistid" : [
+ 45
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/James Brown/Here's James Brown/17-Chonnie-On-Chon.mp3",
+ "displayartist" : "James Brown",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 45,
+ "year" : 2012,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Chonnie-On-Chon",
+ "albumartist" : [
+ "James Brown"
+ ],
+ "songid" : 585,
+ "title" : "Chonnie-On-Chon",
+ "album" : "Here's James Brown"
+ },
+ {
+ "displayartist" : "Brian Eno",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/17-Climate Study.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Climate Study",
+ "album" : "More Music For Films",
+ "title" : "Climate Study",
+ "songid" : 184,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 21,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "David Lindley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/17-David Lindley-Clinch Mountian Backstop.mp3",
+ "albumartistid" : [
+ 100
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Bluegrass"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 100
+ ],
+ "artist" : [
+ "David Lindley"
+ ],
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "David Lindley"
+ ],
+ "label" : "Clinch Mountian Backstop",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Clinch Mountian Backstop",
+ "songid" : 1323,
+ "album" : "Bluegrass Banjo",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 104,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "album" : "Barn Burners",
+ "title" : "Cripple Creek",
+ "songid" : 1090,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Cripple Creek",
+ "albumartist" : [
+ "Smoky Mountain"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 73,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 70
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Smoky Mountain/Barn Burners/17-Cripple Creek.mp3",
+ "displayartist" : "Smoky Mountain",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "Smoky Mountain"
+ ],
+ "artistid" : [
+ 70
+ ],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 17
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/17-cronulla point.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Space Juniors"
+ ],
+ "artistid" : [
+ 71
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "track" : 17,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "songid" : 1108,
+ "title" : "cronulla point",
+ "album" : "Juniorville 20",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "cronulla point",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1998,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 32,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Dauner"
+ ],
+ "label" : "Danke dafür",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Danke dafür",
+ "album" : "Wegzeichen",
+ "songid" : 381,
+ "track" : 17,
+ "genre" : [],
+ "lyrics" : "",
+ "artist" : [
+ "Dauner"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 32
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Dauner",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Dauner/Wegzeichen/17-Danke dafür.mp3",
+ "albumartistid" : [
+ 32
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumartistid" : [
+ 19
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brad Nowell/Live At The Firecracker Lounge/17-Dauchau Cabana.mp3",
+ "displayartist" : "Brad Nowell",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "artistid" : [
+ 19
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brad Nowell"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dauchau Cabana",
+ "albumartist" : [
+ "Brad Nowell"
+ ],
+ "title" : "Dauchau Cabana",
+ "songid" : 165,
+ "album" : "Live At The Firecracker Lounge",
+ "albumid" : 19,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "title" : "Derr Herr ist König auf immer und ewig!",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "songid" : 899,
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "label" : "Derr Herr ist König auf immer und ewig!",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 64,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/17-Derr Herr ist König auf immer und ewig!.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "artistid" : [
+ 61
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Destination Victoria Station",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "title" : "Destination Victoria Station",
+ "songid" : 695,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1976,
+ "albumid" : 53,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/17-Destination Victoria Station.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/17-Destination Victoria Station - With The Carter Family.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 50
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "label" : "Destination Victoria Station - With The Carter Family",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "songid" : 675,
+ "title" : "Destination Victoria Station - With The Carter Family",
+ "album" : "1976 - Strawberry Cake",
+ "albumid" : 51,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "songid" : 1437,
+ "title" : "Don't You Wanna Man Like Me",
+ "album" : "Sound of the Swamp - the Best of Excello Records, Vol 1",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Don't You Wanna Man Like Me",
+ "albumartist" : [
+ "Jay Nelson"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 157,
+ "rating" : 0,
+ "year" : 1990,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 151
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Sound of the Swamp - the Best of Excello Records, Vol 1/17-Jay Nelson-Don't You Wanna Man Like Me.mp3",
+ "displayartist" : "Jay Nelson",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 35
+ ],
+ "artist" : [
+ "Jay Nelson"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 151
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Blues Compilation"
+ ],
+ "track" : 17
+ },
+ {
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Pop"
+ ],
+ "artistid" : [
+ 58
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 25
+ ],
+ "displayartist" : "Les Paul & Mary Ford",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 58
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Les Paul & Mary Ford/This Is Gold D1 of 3/17-Les Paul & Mary Ford-Dry My Tears.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 61,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Les Paul & Mary Ford"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Dry My Tears",
+ "album" : "This Is Gold D1 of 3",
+ "title" : "Dry My Tears",
+ "songid" : 844
+ },
+ {
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artist" : [
+ "Koboldix"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ],
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/17-Es ist spät geworden.mp3",
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 57,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Es ist spät geworden",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "title" : "Es ist spät geworden",
+ "songid" : 769,
+ "album" : "Tavernengeflüster"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2000,
+ "albumid" : 8,
+ "title" : "Feeling Inside (True Loving)",
+ "album" : "My Time Is The Right Time",
+ "songid" : 36,
+ "albumartist" : [
+ "Alton Ellis"
+ ],
+ "label" : "Feeling Inside (True Loving)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artistid" : [
+ 8
+ ],
+ "artist" : [
+ "Alton Ellis"
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Alton Ellis",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/17-Feeling Inside (True Loving).mp3",
+ "albumartistid" : [
+ 8
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Dancehall"
+ ],
+ "track" : 17,
+ "genreid" : [
+ 31
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "VA"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 90
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VA/Gangsta Rock/17-Gangsta Rock - Instumental.mp3",
+ "albumartistid" : [
+ 90
+ ],
+ "thumbnail" : "",
+ "displayartist" : "VA",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 95,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2006,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Gangsta Rock - Instumental",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "VA"
+ ],
+ "title" : "Gangsta Rock - Instumental",
+ "album" : "Gangsta Rock",
+ "songid" : 1258
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 47,
+ "title" : "I Love You More",
+ "album" : "Love Letters",
+ "songid" : 620,
+ "albumartist" : [
+ "Jim Reeves"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "I Love You More",
+ "disc" : 0,
+ "artist" : [
+ "Jim Reeves"
+ ],
+ "artistid" : [
+ 47
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "track" : 17,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Jim Reeves",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 47
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Jim Reeves/Love Letters/17-I Love You More.mp3"
+ },
+ {
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "artist" : [
+ "Wildabeast"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 218
+ ],
+ "genreid" : [
+ 17
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wildabeast",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wildabeast/Wildabeast/17-ILL.mp3",
+ "albumartistid" : [
+ 218
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 226,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Wildabeast"
+ ],
+ "label" : "ILL",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1656,
+ "title" : "ILL",
+ "album" : "Wildabeast"
+ },
+ {
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "LAST HEART (Arrange Version)",
+ "songid" : 1748,
+ "title" : "LAST HEART (Arrange Version)",
+ "album" : "プラスアルファ",
+ "year" : 1989,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 231,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "ジャレコ",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 223
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/17-LAST HEART (Arrange Version).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "ジャレコ"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 38
+ ]
+ },
+ {
+ "albumid" : 6,
+ "year" : 1991,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Lazy Dazy",
+ "albumartist" : [
+ "Piano Slim"
+ ],
+ "title" : "Lazy Dazy",
+ "songid" : 17,
+ "album" : "Kangaroo Shuffle",
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 1
+ ],
+ "artist" : [
+ "Piano Slim"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 6
+ ],
+ "albumartistid" : [
+ 6
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Albert Collins & Henry Haynes/Kangaroo Shuffle/17-Piano Slim-Lazy Dazy.mp3",
+ "displayartist" : "Piano Slim",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Fats Domino",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Fats Domino/I'm Walking/17-Let the Four Winds Blow.mp3",
+ "albumartistid" : [
+ 40
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Blues"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Fats Domino"
+ ],
+ "artistid" : [
+ 40
+ ],
+ "genreid" : [
+ 1
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Fats Domino"
+ ],
+ "label" : "Let the Four Winds Blow",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Let the Four Winds Blow",
+ "songid" : 496,
+ "album" : "I'm Walking",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 40,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "title" : "Lifer",
+ "songid" : 225,
+ "album" : "Evolution Through Revolution",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Lifer",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 23,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/17-Lifer.mp3",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "artistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "track" : 17
+ },
+ {
+ "title" : "Live Video",
+ "songid" : 131,
+ "album" : "Brain Plugin Spaghetti",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Live Video",
+ "albumartist" : [
+ "Bleach Boys"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 15,
+ "rating" : 0,
+ "year" : 2004,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 15
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bleach Boys/Brain Plugin Spaghetti/17-Live Video.mp3",
+ "displayartist" : "Bleach Boys",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artistid" : [
+ 15
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bleach Boys"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 17
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 43
+ ],
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/17-Motel Time Again.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2004,
+ "rating" : 0,
+ "albumid" : 43,
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "title" : "Motel Time Again",
+ "songid" : 546,
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Motel Time Again",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Conway Twitty"
+ ],
+ "artistid" : [
+ 28
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Conway Twitty/The Great Conway Twitty/17-My Baby Left Me.mp3",
+ "albumartistid" : [
+ 28
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Conway Twitty",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 28,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "title" : "My Baby Left Me",
+ "songid" : 325,
+ "album" : "The Great Conway Twitty",
+ "label" : "My Baby Left Me",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Conway Twitty"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/17-Nana Andaluza (Anonyme).mp3",
+ "albumartistid" : [
+ 9
+ ],
+ "artistid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "title" : "Nana Andaluza (Anonyme)",
+ "songid" : 57,
+ "album" : "Tarentule - Taren",
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "label" : "Nana Andaluza (Anonyme)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1978,
+ "rating" : 0,
+ "albumid" : 9
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "albumid" : 49,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "John Powell"
+ ],
+ "label" : "Nice Weather",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "title" : "Nice Weather",
+ "songid" : 638,
+ "track" : 17,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 49
+ ],
+ "artist" : [
+ "John Powell"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "John Powell",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/17-Nice Weather.mp3",
+ "albumartistid" : [
+ 49
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "label" : "No. 19",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "No. 19",
+ "songid" : 287,
+ "album" : "Children's Songs (SHM)",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1984,
+ "rating" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/17-No. 19.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "albumid" : 39,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Nobody Loves You (Like Me)",
+ "albumartist" : [
+ "Etta James"
+ ],
+ "album" : "Best of the Modern Years, (The)",
+ "title" : "Nobody Loves You (Like Me)",
+ "songid" : 478,
+ "lyrics" : "",
+ "genre" : [
+ "Rhythm and Blues"
+ ],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 19
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Etta James"
+ ],
+ "artistid" : [
+ 39
+ ],
+ "albumartistid" : [
+ 39
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Etta James/Best of the Modern Years, (The)/17-Nobody Loves You (Like Me).mp3",
+ "displayartist" : "Etta James",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumartistid" : [
+ 74
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Drifters/Legends of Soul: The Drifters/17-On Broadway.mp3",
+ "displayartist" : "The Drifters",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Soul"
+ ],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 29
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Drifters"
+ ],
+ "artistid" : [
+ 74
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "On Broadway",
+ "albumartist" : [
+ "The Drifters"
+ ],
+ "title" : "On Broadway",
+ "songid" : 1146,
+ "album" : "Legends of Soul: The Drifters",
+ "albumid" : 77,
+ "rating" : 0,
+ "year" : 2007,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/17-Petite.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "artistid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "album" : "World of Shit",
+ "title" : "Petite",
+ "songid" : 457,
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Petite",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38
+ },
+ {
+ "label" : "PONS Rumänisch - Track 18",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "title" : "PONS Rumänisch - Track 18",
+ "songid" : 996,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/17-PONS Rumänisch - Track 18.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Popular Dances",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "songid" : 76,
+ "title" : "Popular Dances",
+ "album" : "Royal Greek Festival Company",
+ "albumid" : 10,
+ "year" : 2000,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 10
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/17-Popular Dances.mp3",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 4
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 190,
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "title" : "Por Favor",
+ "songid" : 1476,
+ "albumartist" : [
+ "June Valli"
+ ],
+ "label" : "Por Favor",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artistid" : [
+ 184
+ ],
+ "artist" : [
+ "June Valli"
+ ],
+ "genreid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "June Valli",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/17-June Valli-Por Favor.mp3",
+ "albumartistid" : [
+ 184
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 180,
+ "title" : "Pourquoi Pas Moi",
+ "songid" : 1466,
+ "album" : "Swinging Mademoiselles",
+ "albumartist" : [
+ "Stella"
+ ],
+ "label" : "Pourquoi Pas Moi",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 174
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Stella"
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Stella",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artist/Swinging Mademoiselles/17-Stella-Pourquoi Pas Moi.mp3",
+ "albumartistid" : [
+ 174
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/17-Reel - The Flowing Bowl.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - The Flowing Bowl",
+ "songid" : 1579,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - The Flowing Bowl",
+ "lastplayed" : "",
+ "fanart" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 224
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Roach Gigz",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Roach Gigz/Buckets And Booty Calls/17-Roachy Balboa.mp3",
+ "albumartistid" : [
+ 69
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "genre" : [
+ "Rap"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Roach Gigz"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 69
+ ],
+ "genreid" : [
+ 28
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Roach Gigz"
+ ],
+ "label" : "Roachy Balboa",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Roachy Balboa",
+ "songid" : 1071,
+ "album" : "Buckets And Booty Calls",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2011,
+ "rating" : 0,
+ "albumid" : 72,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "U-Roy",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/U-Roy/The Righful Ruler (Disc 2)/17-Rock Away.mp3",
+ "albumartistid" : [
+ 77
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Reggae"
+ ],
+ "artist" : [
+ "U-Roy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 77
+ ],
+ "genreid" : [
+ 2
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "U-Roy"
+ ],
+ "label" : "Rock Away",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1201,
+ "title" : "Rock Away",
+ "album" : "The Righful Ruler (Disc 2)",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "albumid" : 80,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 63
+ ],
+ "artist" : [
+ "Onie Wheeler"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Onie Wheeler/Onie's Country Boppers/17-Sandyland Farmer.mp3",
+ "albumartistid" : [
+ 63
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Onie Wheeler",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 66,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "album" : "Onie's Country Boppers",
+ "title" : "Sandyland Farmer",
+ "songid" : 937,
+ "label" : "Sandyland Farmer",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Onie Wheeler"
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 34,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "title" : "Screwed",
+ "album" : "Three Things At Once",
+ "songid" : 400,
+ "label" : "Screwed",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "artistid" : [
+ 34
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/17-Screwed.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep"
+ },
+ {
+ "title" : "se armo la culeangada",
+ "songid" : 976,
+ "album" : "depravada sexual",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "se armo la culeangada",
+ "albumartist" : [
+ "pigto"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 68,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/17-se armo la culeangada.mp3",
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "artist" : [
+ "pigto"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 65
+ ],
+ "genre" : [
+ "porno grind"
+ ],
+ "lyrics" : "",
+ "track" : 17
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Zhao Jiping"
+ ],
+ "artistid" : [
+ 219
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Zhao Jiping",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Zhao Jiping/Raise The Red Lantern/17-Songlian's Madness - End Credits.mp3",
+ "albumartistid" : [
+ 219
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0,
+ "albumid" : 227,
+ "title" : "Songlian's Madness - End Credits",
+ "album" : "Raise The Red Lantern",
+ "songid" : 1674,
+ "albumartist" : [
+ "Zhao Jiping"
+ ],
+ "label" : "Songlian's Madness - End Credits",
+ "fanart" : "",
+ "lastplayed" : ""
+ },
+ {
+ "title" : "Spijt",
+ "songid" : 265,
+ "album" : "De Muziekfabriek",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Spijt",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/17-Spijt.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "track" : 17,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 56,
+ "title" : "Svinarski Sait Tout - Blues",
+ "album" : "L' Africana",
+ "songid" : 750,
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Svinarski Sait Tout - Blues",
+ "artistid" : [
+ 53
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "track" : 17,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/17-Svinarski Sait Tout - Blues.mp3"
+ },
+ {
+ "label" : "Svinarski sait tout-Blues",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "title" : "Svinarski sait tout-Blues",
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "songid" : 1692,
+ "albumid" : 228,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/17-Svinarski sait tout-Blues.mp3",
+ "albumartistid" : [
+ 220
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "track" : 17,
+ "genreid" : [
+ 37
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ]
+ },
+ {
+ "title" : "Sweetmeat",
+ "songid" : 149,
+ "album" : "Cunt",
+ "label" : "Sweetmeat",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 16,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/17-Sweetmeat.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 17
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/17-Bill Hayes-The Ballad Of Davey Crockett.mp3",
+ "albumartistid" : [
+ 199
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bill Hayes",
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Bill Hayes"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 199
+ ],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "title" : "The Ballad Of Davey Crockett",
+ "songid" : 1491,
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "label" : "The Ballad Of Davey Crockett",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bill Hayes"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 205,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1994,
+ "rating" : 0
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 17,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/17-The Cello - THE ENLIGHTENMENT.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 67,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Cello - THE ENLIGHTENMENT",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "title" : "The Cello - THE ENLIGHTENMENT",
+ "songid" : 955,
+ "album" : "Ten Minutes Older"
+ },
+ {
+ "albumid" : 128,
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "The Shape I'm In",
+ "albumartist" : [
+ "Johnny Restivo"
+ ],
+ "album" : "Rock 'n Roll: 60 Hits",
+ "title" : "The Shape I'm In",
+ "songid" : 1351,
+ "lyrics" : "",
+ "genre" : [
+ "Rock"
+ ],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 123
+ ],
+ "artist" : [
+ "Johnny Restivo"
+ ],
+ "albumartistid" : [
+ 123
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/17-Johnny Restivo-The Shape I'm In.mp3",
+ "displayartist" : "Johnny Restivo",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "albumid" : 225,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "The Vicar and I",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "title" : "The Vicar and I",
+ "songid" : 1636,
+ "album" : "The Fat of the Band",
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "artistid" : [
+ 217
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/17-The Vicar and I.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Hardcore Thrash"
+ ],
+ "artistid" : [
+ 75
+ ],
+ "disc" : 0,
+ "artist" : [
+ "the Faeries"
+ ],
+ "genreid" : [
+ 30
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "the Faeries",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/the Faeries/Riot In The Hive Mind/17-Thugs And Murderers (Demo).mp3",
+ "albumartistid" : [
+ 75
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "albumid" : 78,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "the Faeries"
+ ],
+ "label" : "Thugs And Murderers (Demo)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Thugs And Murderers (Demo)",
+ "album" : "Riot In The Hive Mind",
+ "songid" : 1164
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 22
+ ],
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 44
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 44
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/17-Tocata 18.mp3",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 44,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Tocata 18",
+ "album" : "Tocates valencianes",
+ "songid" : 566,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Tocata 18",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "title" : "Track18 BERLIOZ Ouverture de Benvenuto Cellini op 23",
+ "songid" : 807,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track18 BERLIOZ Ouverture de Benvenuto Cellini op 23",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/17-Track18 BERLIOZ Ouverture de Benvenuto Cellini op 23.mp3",
+ "albumartistid" : [
+ 56
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 98,
+ "album" : "3 Way Split CD",
+ "title" : "Undefined",
+ "songid" : 1290,
+ "albumartist" : [
+ "Dismemberment"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Undefined",
+ "disc" : 0,
+ "artist" : [
+ "Dismemberment"
+ ],
+ "artistid" : [
+ 93
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 32
+ ],
+ "track" : 17,
+ "lyrics" : "",
+ "genre" : [
+ "Brutal Death Metal"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Dismemberment",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 93
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/3 Way Split CD/17-Dismemberment-Undefined.mp3"
+ },
+ {
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1958 - The Fabulous Johnny Cash/17-Walkin' The Blues.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Walkin' The Blues",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "songid" : 657,
+ "title" : "Walkin' The Blues",
+ "album" : "1958 - The Fabulous Johnny Cash",
+ "albumid" : 50,
+ "rating" : 0,
+ "year" : 1958,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/The Fabulous Johnny Cash/17-Walkin' The Blues.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 54,
+ "year" : 1958,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Walkin' The Blues",
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "album" : "The Fabulous Johnny Cash",
+ "title" : "Walkin' The Blues",
+ "songid" : 714
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash a",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash a/The Fabulous Johnny Cash [Original Album Classics], Disc 1/17-Walkin' the Blues.mp3",
+ "albumartistid" : [
+ 52
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 17,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash a"
+ ],
+ "artistid" : [
+ 52
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Johnny Cash a"
+ ],
+ "label" : "Walkin' the Blues",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Walkin' the Blues",
+ "album" : "The Fabulous Johnny Cash [Original Album Classics], Disc 1",
+ "songid" : 732,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1958,
+ "rating" : 0,
+ "albumid" : 55,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 2
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Burning Spear"
+ ],
+ "artistid" : [
+ 24
+ ],
+ "genre" : [
+ "Reggae"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 24
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Burning Spear/Sounds from the Burning Spear/17-What a Happy Day.mp3",
+ "displayartist" : "Burning Spear",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 24,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "What a Happy Day",
+ "songid" : 247,
+ "album" : "Sounds from the Burning Spear",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "What a Happy Day",
+ "albumartist" : [
+ "Burning Spear"
+ ]
+ },
+ {
+ "label" : "Zeigt her Eure Füße",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Music Kids"
+ ],
+ "title" : "Zeigt her Eure Füße",
+ "album" : "die schönsten Kinderlieder",
+ "songid" : 919,
+ "albumid" : 65,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Music Kids/die schönsten Kinderlieder/17-Zeigt her Eure Füße.mp3",
+ "albumartistid" : [
+ 62
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Music Kids",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Folk"
+ ],
+ "lyrics" : "",
+ "track" : 17,
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Music Kids"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 62
+ ]
+ },
+ {
+ "track" : 17,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "artistid" : [
+ 221
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/17-Тю Фюэёъюь ъ№рў.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 229,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "label" : "Тю Фюэёъюь ъ№рў",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Тю Фюэёъюь ъ№рў",
+ "songid" : 1711,
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 232,
+ "album" : "ピアノスタディ1",
+ "title" : "かっこう",
+ "songid" : 1767,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "かっこう",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 17,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/17-かっこう.mp3",
+ "albumartistid" : [
+ 224
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 17,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 80
+ ],
+ "artist" : [
+ "ひばり児童合唱団"
+ ],
+ "albumartistid" : [
+ 80
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/17-ひばり児童合唱団-ふしぎなポケット.mp3",
+ "displayartist" : "ひばり児童合唱団",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 85,
+ "year" : 2002,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ふしぎなポケット",
+ "albumartist" : [
+ "ひばり児童合唱団"
+ ],
+ "album" : "おいしいうた・いただきまーす・",
+ "title" : "ふしぎなポケット",
+ "songid" : 1224
+ },
+ {
+ "disc" : 0,
+ "artistid" : [
+ 222
+ ],
+ "artist" : [
+ "アナーキー"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "track" : 17,
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "アナーキー",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 222
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/アナーキー/アナーキー・ライブ/17-ノット・サティスファイド.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1982,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 230,
+ "album" : "アナーキー・ライブ",
+ "title" : "ノット・サティスファイド",
+ "songid" : 1730,
+ "albumartist" : [
+ "アナーキー"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ノット・サティスファイド"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Marienvesper 1693",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/18-18 Marienvesper - Ad magnificat - Beatam me dicent.mp3",
+ "albumartistid" : [
+ 60
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 60
+ ],
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "label" : "18 Marienvesper - Ad magnificat - Beatam me dicent",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 880,
+ "title" : "18 Marienvesper - Ad magnificat - Beatam me dicent",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "albumid" : 63,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/18-Another Day.mp3",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "track" : 18,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Another Day",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "album" : "Three Things At Once",
+ "title" : "Another Day",
+ "songid" : 401,
+ "albumid" : 34,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "albumid" : 57,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ansage Bonus Dreck",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "songid" : 770,
+ "title" : "Ansage Bonus Dreck",
+ "album" : "Tavernengeflüster",
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 18,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 54
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Koboldix"
+ ],
+ "albumartistid" : [
+ 54
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/18-Ansage Bonus Dreck.mp3",
+ "displayartist" : "Koboldix",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "track" : 18,
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "artistid" : [
+ 129
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/The Complete Recordings, 1945-1960 [Membran 233448], CD07/18-Charlie Parker All Stars [5]-Barbados (take 4) [K].mp3",
+ "albumartistid" : [
+ 129
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Charlie Parker All Stars [5]",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 134,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1947,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Barbados (take 4) [K]",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Charlie Parker All Stars [5]"
+ ],
+ "title" : "Barbados (take 4) [K]",
+ "songid" : 1364,
+ "album" : "The Complete Recordings, 1945-1960 [Membran 233448], CD07"
+ },
+ {
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/18-Blank.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "genre" : [],
+ "lyrics" : "",
+ "artistid" : [
+ 213
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Blank",
+ "title" : "Blank",
+ "album" : "Chinese Pornography",
+ "songid" : 1525,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 221,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 23,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Bob Dylan Wrote Propaganda Songs",
+ "title" : "Bob Dylan Wrote Propaganda Songs",
+ "album" : "Evolution Through Revolution",
+ "songid" : 226,
+ "track" : 18,
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/18-Bob Dylan Wrote Propaganda Songs.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumartist" : [
+ "Changing Channels"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Changing Channels",
+ "songid" : 1493,
+ "title" : "Changing Channels",
+ "album" : "Songs Of The West, Vol 4 (Rhino 1993)",
+ "year" : 1994,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 207,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Changing Channels",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 201
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Songs Of The West, Vol 4 (Rhino 1993)/18-Changing Channels-Changing Channels.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 201
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Changing Channels"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ]
+ },
+ {
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/18-chaqueta con vaporub.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "porno grind"
+ ],
+ "artistid" : [
+ 65
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "albumartist" : [
+ "pigto"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "chaqueta con vaporub",
+ "songid" : 977,
+ "title" : "chaqueta con vaporub",
+ "album" : "depravada sexual",
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/18-chewin'.mp3",
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "artistid" : [
+ 71
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Space Juniors"
+ ],
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "track" : 18,
+ "title" : "chewin'",
+ "album" : "Juniorville 20",
+ "songid" : 1109,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "chewin'",
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 74,
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "genreid" : [
+ 8
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "BLOOD DUSTER"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 16
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grind Core"
+ ],
+ "track" : 18,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/BLOOD DUSTER/Cunt/18-Dis-organ-ized.mp3",
+ "albumartistid" : [
+ 16
+ ],
+ "thumbnail" : "",
+ "displayartist" : "BLOOD DUSTER",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 16,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2001,
+ "songid" : 150,
+ "title" : "Dis-organ-ized",
+ "album" : "Cunt",
+ "label" : "Dis-organ-ized",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "BLOOD DUSTER"
+ ]
+ },
+ {
+ "year" : 2014,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 120,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Elvis Presley"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Don't Be Cruel",
+ "songid" : 1343,
+ "title" : "Don't Be Cruel",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "track" : 18,
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Elvis Presley"
+ ],
+ "artistid" : [
+ 116
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "displayartist" : "Elvis Presley",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 116
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/18-Elvis Presley-Don't Be Cruel.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/18-Don't Bust My Chops.mp3",
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 18,
+ "title" : "Don't Bust My Chops",
+ "album" : "Loco Live (CD 1)",
+ "songid" : 1034,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Don't Bust My Chops",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 70,
+ "year" : 2011,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "artistid" : [
+ 21
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brian Eno"
+ ],
+ "genreid" : [
+ 9
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 18,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brian Eno",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/18-Drift Study.mp3",
+ "albumartistid" : [
+ 21
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "albumid" : 21,
+ "title" : "Drift Study",
+ "album" : "More Music For Films",
+ "songid" : 185,
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "label" : "Drift Study",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "artistid" : [
+ 44
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Folklore"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Grup de tabaleters i dolçainers \"El Puig\"",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Grup de tabaleters i dolçainers \"El Puig\"/Tocates valencianes/18-El tio Pep.mp3",
+ "albumartistid" : [
+ 44
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1982,
+ "albumid" : 44,
+ "title" : "El tio Pep",
+ "songid" : 567,
+ "album" : "Tocates valencianes",
+ "albumartist" : [
+ "Grup de tabaleters i dolçainers \"El Puig\""
+ ],
+ "label" : "El tio Pep",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/18-English Pride.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 217
+ ],
+ "genre" : [
+ "Punk"
+ ],
+ "lyrics" : "",
+ "track" : 18,
+ "album" : "The Fat of the Band",
+ "title" : "English Pride",
+ "songid" : 1637,
+ "label" : "English Pride",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 225,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1998
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 30,
+ "album" : "Xenophilism",
+ "title" : "Fetish Copro-Dementia",
+ "songid" : 344,
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Fetish Copro-Dementia",
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 14
+ ],
+ "track" : 18,
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Corporal Raid",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 30
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/18-Fetish Copro-Dementia.mp3"
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 198,
+ "title" : "In The Night",
+ "songid" : 1484,
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies",
+ "albumartist" : [
+ "Ronnie Gallant"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "In The Night",
+ "artist" : [
+ "Ronnie Gallant"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 192
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Ronnie Gallant",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 192
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/18-Ronnie Gallant-In The Night.mp3"
+ },
+ {
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 101,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Adam \"Swannee\" Swann"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Kentucky Fiddler",
+ "title" : "Kentucky Fiddler",
+ "album" : "Bluegrass Banjo",
+ "songid" : 1317,
+ "track" : 18,
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 97
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Adam \"Swannee\" Swann"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 33
+ ],
+ "displayartist" : "Adam \"Swannee\" Swann",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 97
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/18-Adam \"Swannee\" Swann-Kentucky Fiddler.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Main Title [Synth Version]",
+ "albumartist" : [
+ "Bernstein, Charles"
+ ],
+ "title" : "Main Title [Synth Version]",
+ "album" : "The Entity",
+ "songid" : 112,
+ "albumid" : 13,
+ "rating" : 0,
+ "year" : 1982,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 13
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bernstein, Charles/The Entity/18-Main Title [Synth Version].mp3",
+ "displayartist" : "Bernstein, Charles",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 18,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "artistid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bernstein, Charles"
+ ]
+ },
+ {
+ "track" : 18,
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Chick Corea"
+ ],
+ "artistid" : [
+ 26
+ ],
+ "genreid" : [
+ 5
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Chick Corea",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/18-No. 20.mp3",
+ "albumartistid" : [
+ 26
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1984,
+ "rating" : 0,
+ "albumid" : 26,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "label" : "No. 20",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "No. 20",
+ "songid" : 288,
+ "album" : "Children's Songs (SHM)"
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/18-OTSUKAIARISAN.mp3",
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artist" : [
+ "VARIOS"
+ ],
+ "artistid" : [
+ 91
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 18,
+ "title" : "OTSUKAIARISAN",
+ "album" : "AKATIAN NO TAMENO",
+ "songid" : 1277,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "OTSUKAIARISAN",
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 96,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/18-Pateroller Song - Hobart Smith.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Pateroller Song - Hobart Smith",
+ "title" : "Pateroller Song - Hobart Smith",
+ "album" : "Appalachian Breakdown",
+ "songid" : 1315,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 100,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/18-PONS Rumänisch - Track 19.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 18,
+ "title" : "PONS Rumänisch - Track 19",
+ "songid" : 997,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "PONS Rumänisch - Track 19",
+ "albumartist" : [
+ "PONS"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 69,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "title" : "Pouet Pouet",
+ "album" : "World of Shit",
+ "songid" : 458,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Pouet Pouet",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 38,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/18-Pouet Pouet.mp3",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "artist" : [
+ "Eating Shit"
+ ],
+ "genre" : [
+ "Grindcore"
+ ],
+ "lyrics" : "",
+ "track" : 18
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/18-Pour More Likwit Snippet.mp3",
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "title" : "Pour More Likwit Snippet",
+ "songid" : 436,
+ "album" : "Best of Defari",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Pour More Likwit Snippet",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 36
+ },
+ {
+ "title" : "Praeludium in C-Dur",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "songid" : 206,
+ "label" : "Praeludium in C-Dur",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 22,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1995,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/18-Praeludium in C-Dur.mp3",
+ "albumartistid" : [
+ 22
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bruckner. Anton",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 18
+ },
+ {
+ "title" : "Raaf wordt opgelapt",
+ "songid" : 266,
+ "album" : "De Muziekfabriek",
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "label" : "Raaf wordt opgelapt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 25,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/18-Raaf wordt opgelapt.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "artistid" : [
+ 25
+ ],
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Classic for Kids"
+ ]
+ },
+ {
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - Geehan's Frolics",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Geehan's Frolics",
+ "songid" : 1580,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/18-Reel - Geehan's Frolics.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ]
+ },
+ {
+ "songid" : 639,
+ "title" : "Rochelle",
+ "album" : "Gigli (Original Motion Picture Score)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Rochelle",
+ "albumartist" : [
+ "John Powell"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 49,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 49
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/John Powell/Gigli (Original Motion Picture Score)/18-Rochelle.mp3",
+ "displayartist" : "John Powell",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artist" : [
+ "John Powell"
+ ],
+ "artistid" : [
+ 49
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 18
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 18,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/18-Seven Days Of Crying.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 43,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Seven Days Of Crying",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "title" : "Seven Days Of Crying",
+ "songid" : 547,
+ "album" : "The Little Darlin' Sound of Lloyd Green"
+ },
+ {
+ "displayartist" : "Atrium Musicae de Madrid, Gregorio Paniagua",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 9
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Atrium Musicae de Madrid, Gregorio Paniagua/Tarentule - Taren/18-Taranto d'Almeria (G. Paniagua).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 9
+ ],
+ "artist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "albumartist" : [
+ "Atrium Musicae de Madrid, Gregorio Paniagua"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Taranto d'Almeria (G. Paniagua)",
+ "album" : "Tarentule - Taren",
+ "title" : "Taranto d'Almeria (G. Paniagua)",
+ "songid" : 58,
+ "rating" : 0,
+ "year" : 1978,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 9,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "albumid" : 67,
+ "songid" : 956,
+ "title" : "The Cello - ADDICTED TO THE STARS",
+ "album" : "Ten Minutes Older",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "label" : "The Cello - ADDICTED TO THE STARS",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artistid" : [
+ 64
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 18,
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/18-The Cello - ADDICTED TO THE STARS.mp3",
+ "albumartistid" : [
+ 64
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 1976,
+ "rating" : 0,
+ "albumid" : 53,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Johnny Cash"
+ ],
+ "label" : "The Fourth Man",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "The Fourth Man",
+ "album" : "Complete Columbia Album Collection, Disc 42 [Strawberry Cake]",
+ "songid" : 696,
+ "track" : 18,
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "artistid" : [
+ 50
+ ],
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Johnny Cash",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/Complete Columbia Album Collection, Disc 42 [Strawberry Cake]/18-The Fourth Man.mp3",
+ "albumartistid" : [
+ 50
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 13
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 50
+ ],
+ "artist" : [
+ "Johnny Cash"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Country"
+ ],
+ "track" : 18,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 50
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Johnny Cash/1976 - Strawberry Cake/18-The Fourth Man - The Johnny Cash Show.mp3",
+ "displayartist" : "Johnny Cash",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 51,
+ "year" : 1976,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 676,
+ "title" : "The Fourth Man - The Johnny Cash Show",
+ "album" : "1976 - Strawberry Cake",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Fourth Man - The Johnny Cash Show",
+ "albumartist" : [
+ "Johnny Cash"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Authentic Greek Folk Songs and Dances",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Authentic Greek Folk Songs and Dances/Royal Greek Festival Company/18-The Peloponnese.mp3",
+ "albumartistid" : [
+ 10
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Folk"
+ ],
+ "artist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 10
+ ],
+ "genreid" : [
+ 4
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Authentic Greek Folk Songs and Dances"
+ ],
+ "label" : "The Peloponnese",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Royal Greek Festival Company",
+ "title" : "The Peloponnese",
+ "songid" : 77,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2000,
+ "rating" : 0,
+ "albumid" : 10,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumartistid" : [
+ 220
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Άνευ ερμηνευτού/L' Africana-Ελ. Καραΐνδρου/18-Theme de la danse. Finale..mp3",
+ "displayartist" : "Άνευ ερμηνευτού",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Κινηματογραφική"
+ ],
+ "track" : 18,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 37
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 220
+ ],
+ "artist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Theme de la danse. Finale.",
+ "albumartist" : [
+ "Άνευ ερμηνευτού"
+ ],
+ "title" : "Theme de la danse. Finale.",
+ "songid" : 1693,
+ "album" : "L' Africana-Ελ. Καραΐνδρου",
+ "albumid" : 228,
+ "year" : 1990,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 18,
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Karaindrou, Eleni"
+ ],
+ "artistid" : [
+ 53
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Karaindrou, Eleni/L' Africana/18-Thème De La Danse - Finale.mp3",
+ "albumartistid" : [
+ 53
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Karaindrou, Eleni",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 56,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1990,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Thème De La Danse - Finale",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Karaindrou, Eleni"
+ ],
+ "songid" : 751,
+ "title" : "Thème De La Danse - Finale",
+ "album" : "L' Africana"
+ },
+ {
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track19 BEETHOVEN Sonate n°2 op 10 1er mvt",
+ "songid" : 808,
+ "label" : "Track19 BEETHOVEN Sonate n°2 op 10 1er mvt",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/18-Track19 BEETHOVEN Sonate n°2 op 10 1er mvt.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 18
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/18-Turkey in the Straw: Supersatr Violin (The Complete Method).mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 18,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "label" : "Turkey in the Straw: Supersatr Violin (The Complete Method)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "title" : "Turkey in the Straw: Supersatr Violin (The Complete Method)",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1394,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "artistid" : [
+ 61
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/18-Und Mirjam die Prophetin.mp3",
+ "albumartistid" : [
+ 61
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 64,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "label" : "Und Mirjam die Prophetin",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "title" : "Und Mirjam die Prophetin",
+ "songid" : 900
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ジャレコ",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ジャレコ/プラスアルファ/18-VOICE COLLECTION.mp3",
+ "albumartistid" : [
+ 223
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 223
+ ],
+ "artist" : [
+ "ジャレコ"
+ ],
+ "genreid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "ゲーム音楽"
+ ],
+ "songid" : 1749,
+ "title" : "VOICE COLLECTION",
+ "album" : "プラスアルファ",
+ "albumartist" : [
+ "ジャレコ"
+ ],
+ "label" : "VOICE COLLECTION",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1989,
+ "rating" : 0,
+ "albumid" : 231
+ },
+ {
+ "rating" : 0,
+ "year" : 1987,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 79,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "The Hollywood Trombones"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "We Wish You a Merry Christmas",
+ "album" : "Have Yourself a Merry Little Christma",
+ "title" : "We Wish You a Merry Christmas",
+ "songid" : 1183,
+ "track" : 18,
+ "lyrics" : "",
+ "genre" : [
+ "Jazz"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "The Hollywood Trombones"
+ ],
+ "artistid" : [
+ 76
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "displayartist" : "The Hollywood Trombones",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 76
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/The Hollywood Trombones/Have Yourself a Merry Little Christma/18-We Wish You a Merry Christmas.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 18,
+ "genre" : [
+ "Folklore"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "artistid" : [
+ 221
+ ],
+ "genreid" : [
+ 22
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Трыхэђшэр аџсъютр",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Трыхэђшэр аџсъютр/аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш/18-бяш, ф№ѓцюъ.mp3",
+ "albumartistid" : [
+ 221
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 229,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Трыхэђшэр аџсъютр"
+ ],
+ "label" : "бяш, ф№ѓцюъ",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "бяш, ф№ѓцюъ",
+ "songid" : 1712,
+ "album" : "аѓёёъшх эр№юфэћх ъюыћсхыќэћх яхёэш"
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 87,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2002,
+ "rating" : 0,
+ "songid" : 1226,
+ "title" : "おなかのへるうた",
+ "album" : "おいしいうた・いただきまーす・",
+ "label" : "おなかのへるうた",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "大和田 りつ子"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 82
+ ],
+ "artist" : [
+ "大和田 りつ子"
+ ],
+ "genre" : [],
+ "lyrics" : "",
+ "track" : 18,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/18-大和田 りつ子-おなかのへるうた.mp3",
+ "albumartistid" : [
+ 82
+ ],
+ "thumbnail" : "",
+ "displayartist" : "大和田 りつ子"
+ },
+ {
+ "songid" : 1768,
+ "title" : "ちらちらこな雪",
+ "album" : "ピアノスタディ1",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ちらちらこな雪",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/18-ちらちらこな雪.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "track" : 18,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumid" : 63,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "20 Sonata IX",
+ "albumartist" : [
+ "Marienvesper 1693"
+ ],
+ "title" : "20 Sonata IX",
+ "album" : "Heinrich Ignaz Franz Biber (1644-1704)",
+ "songid" : 881,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 60
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Marienvesper 1693"
+ ],
+ "albumartistid" : [
+ 60
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Marienvesper 1693/Heinrich Ignaz Franz Biber (1644-1704)/19-20 Sonata IX.mp3",
+ "displayartist" : "Marienvesper 1693",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 19,
+ "lyrics" : "",
+ "genre" : [
+ "Punk Rock"
+ ],
+ "artist" : [
+ "Space Juniors"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 71
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "displayartist" : "Space Juniors",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 71
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Space Juniors/Juniorville 20/19-a smooth change.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1998,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 74,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Space Juniors"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "a smooth change",
+ "title" : "a smooth change",
+ "album" : "Juniorville 20",
+ "songid" : 1110
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Addendum",
+ "albumartist" : [
+ "Chick Corea"
+ ],
+ "songid" : 289,
+ "title" : "Addendum",
+ "album" : "Children's Songs (SHM)",
+ "albumid" : 26,
+ "rating" : 0,
+ "year" : 1984,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 26
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Chick Corea/Children's Songs (SHM)/19-Addendum.mp3",
+ "displayartist" : "Chick Corea",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Jazz"
+ ],
+ "lyrics" : "",
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 5
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 26
+ ],
+ "artist" : [
+ "Chick Corea"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Bruckner. Anton/Oberösterreichische Kirchenmusik/19-Aeyuale Nr 2.mp3",
+ "albumartistid" : [
+ 22
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Bruckner. Anton",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 22
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Bruckner. Anton"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 19,
+ "title" : "Aeyuale Nr 2",
+ "album" : "Oberösterreichische Kirchenmusik",
+ "songid" : 207,
+ "label" : "Aeyuale Nr 2",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Bruckner. Anton"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 22,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1995
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Green, Lloyd/The Little Darlin' Sound of Lloyd Green/19-Almost Persuaded.mp3",
+ "albumartistid" : [
+ 43
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Green, Lloyd",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 19,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 43
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Green, Lloyd"
+ ],
+ "label" : "Almost Persuaded",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Green, Lloyd"
+ ],
+ "songid" : 548,
+ "title" : "Almost Persuaded",
+ "album" : "The Little Darlin' Sound of Lloyd Green",
+ "albumid" : 43,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "genre" : [
+ "Country"
+ ],
+ "lyrics" : "",
+ "track" : 19,
+ "genreid" : [
+ 13
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Appalachian Breakdown/19-Amazing Grace - Edd Presnell.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 100,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Amazing Grace - Edd Presnell",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "album" : "Appalachian Breakdown",
+ "title" : "Amazing Grace - Edd Presnell",
+ "songid" : 1316
+ },
+ {
+ "songid" : 186,
+ "title" : "Approaching Taidu",
+ "album" : "More Music For Films",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Approaching Taidu",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 21,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Brian Eno",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/19-Approaching Taidu.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "artist" : [
+ "Brian Eno"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "track" : 19,
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/19-Blank.mp3",
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 213
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "track" : 19,
+ "lyrics" : "",
+ "genre" : [],
+ "album" : "Chinese Pornography",
+ "title" : "Blank",
+ "songid" : 1526,
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Blank",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 221
+ },
+ {
+ "label" : "Bonus Dreck",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Koboldix"
+ ],
+ "album" : "Tavernengeflüster",
+ "title" : "Bonus Dreck",
+ "songid" : 771,
+ "albumid" : 57,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Koboldix/Tavernengeflüster/19-Bonus Dreck.mp3",
+ "albumartistid" : [
+ 54
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Koboldix",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 19,
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Koboldix"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 54
+ ]
+ },
+ {
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 16
+ ],
+ "track" : 19,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Deep Sleep",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/19-Checkout.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2009,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 34,
+ "title" : "Checkout",
+ "album" : "Three Things At Once",
+ "songid" : 402,
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Checkout"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Oldies"
+ ],
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 36
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 182
+ ],
+ "artist" : [
+ "Jennifer Wells"
+ ],
+ "albumartistid" : [
+ 182
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies/19-Jennifer Wells-Dining In Chinatown.mp3",
+ "displayartist" : "Jennifer Wells",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 188,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Dining In Chinatown",
+ "albumartist" : [
+ "Jennifer Wells"
+ ],
+ "songid" : 1474,
+ "title" : "Dining In Chinatown",
+ "album" : "Boppin' Cadillac Vol. 2 - Authentic 60's Popcorn Oldies"
+ },
+ {
+ "artist" : [
+ "Eating Shit"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 38
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 18
+ ],
+ "track" : 19,
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Eating Shit",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 38
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/19-Eating Shit.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2004,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 38,
+ "title" : "Eating Shit",
+ "songid" : 459,
+ "album" : "World of Shit",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Eating Shit"
+ },
+ {
+ "title" : "Grind Fidelity",
+ "songid" : 227,
+ "album" : "Evolution Through Revolution",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "label" : "Grind Fidelity",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2009,
+ "rating" : 0,
+ "albumid" : 23,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/19-Grind Fidelity.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ],
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 19,
+ "lyrics" : "",
+ "genre" : [
+ "Metal"
+ ]
+ },
+ {
+ "rating" : 0,
+ "year" : 2014,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 131,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Peggy March"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "I Will Follow Him (Chariot)",
+ "album" : "Rock 'n Roll: 60 Hits",
+ "title" : "I Will Follow Him (Chariot)",
+ "songid" : 1354,
+ "track" : 19,
+ "genre" : [
+ "Rock"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Peggy March"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 126
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 34
+ ],
+ "displayartist" : "Peggy March",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 126
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Rock 'n Roll: 60 Hits/19-Peggy March-I Will Follow Him (Chariot).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/19-King George I's March - acc.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 137,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "King George I's March - acc",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "songid" : 1395,
+ "title" : "King George I's March - acc",
+ "album" : "Violin exam pieces 2008-2011"
+ },
+ {
+ "songid" : 345,
+ "title" : "Lesbian Cunnilingus",
+ "album" : "Xenophilism",
+ "label" : "Lesbian Cunnilingus",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 30,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2003,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/19-Lesbian Cunnilingus.mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Goregrind"
+ ],
+ "track" : 19
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Ninjin娘",
+ "albumartist" : [
+ "田原 俊彦"
+ ],
+ "songid" : 1233,
+ "title" : "Ninjin娘",
+ "album" : "おいしいうた・いただきまーす・",
+ "albumid" : 92,
+ "year" : 2002,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 87
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/V.A./おいしいうた・いただきまーす・/19-田原 俊彦-Ninjin娘.mp3",
+ "displayartist" : "田原 俊彦",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [],
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "disc" : 0,
+ "artistid" : [
+ 87
+ ],
+ "artist" : [
+ "田原 俊彦"
+ ]
+ },
+ {
+ "track" : 19,
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 217
+ ],
+ "artist" : [
+ "Wat Tyler"
+ ],
+ "genreid" : [
+ 7
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Wat Tyler",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Wat Tyler/The Fat of the Band/19-Not Deep Enough.mp3",
+ "albumartistid" : [
+ 217
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1998,
+ "rating" : 0,
+ "albumid" : 225,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Wat Tyler"
+ ],
+ "label" : "Not Deep Enough",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "The Fat of the Band",
+ "title" : "Not Deep Enough",
+ "songid" : 1638
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Punk"
+ ],
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 7
+ ],
+ "artist" : [
+ "Ramones"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 67
+ ],
+ "albumartistid" : [
+ 67
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Ramones/Loco Live (CD 1)/19-Palisades Park.mp3",
+ "displayartist" : "Ramones",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 70,
+ "rating" : 0,
+ "year" : 2011,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Palisades Park",
+ "albumartist" : [
+ "Ramones"
+ ],
+ "title" : "Palisades Park",
+ "songid" : 1035,
+ "album" : "Loco Live (CD 1)"
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/19-PONS Rumänisch - Track 20.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 69,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 20",
+ "albumartist" : [
+ "PONS"
+ ],
+ "title" : "PONS Rumänisch - Track 20",
+ "songid" : 998,
+ "album" : "Power-Sprachtraining Rumänisch"
+ },
+ {
+ "album" : "De Muziekfabriek",
+ "title" : "Raaf doet mee",
+ "songid" : 267,
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "label" : "Raaf doet mee",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 25,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/19-Raaf doet mee.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "artistid" : [
+ 25
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 19,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "displayartist" : "pigto",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 65
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/pigto/depravada sexual/19-raped in the back of a van (ldoh cover).mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 19,
+ "genre" : [
+ "porno grind"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 65
+ ],
+ "disc" : 0,
+ "artist" : [
+ "pigto"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 26
+ ],
+ "albumartist" : [
+ "pigto"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "raped in the back of a van (ldoh cover)",
+ "songid" : 978,
+ "title" : "raped in the back of a van (ldoh cover)",
+ "album" : "depravada sexual",
+ "rating" : 0,
+ "year" : 2005,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 68,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Green Fields of Rossbeigh",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - The Green Fields of Rossbeigh",
+ "songid" : 1581,
+ "track" : 19,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/19-Reel - The Green Fields of Rossbeigh.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Max;Frimmer;Winter;Grotzinger;Kleine Konzert",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 61
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Max;Frimmer;Winter;Grotzinger;Kleine Konzert/Israel in Egypt, arr Mendelssohn/19-Singet unserem Gott.mp3",
+ "artistid" : [
+ 61
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 19,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "songid" : 901,
+ "title" : "Singet unserem Gott",
+ "album" : "Israel in Egypt, arr Mendelssohn",
+ "albumartist" : [
+ "Max;Frimmer;Winter;Grotzinger;Kleine Konzert"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Singet unserem Gott",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 64
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/19-Spell my Name.mp3",
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 36
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "track" : 19,
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "title" : "Spell my Name",
+ "album" : "Best of Defari",
+ "songid" : 437,
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Spell my Name",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2003,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 36
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 64
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/19-The Cello - DANS LE NOIR DU TEMPS.mp3",
+ "displayartist" : "Paul Englishby",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 6
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Soundtrack"
+ ],
+ "track" : 19,
+ "title" : "The Cello - DANS LE NOIR DU TEMPS",
+ "songid" : 957,
+ "album" : "Ten Minutes Older",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "The Cello - DANS LE NOIR DU TEMPS",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 67,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "displayartist" : "VARIOS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 91
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/VARIOS/AKATIAN NO TAMENO/19-TOILET NI ITTOIRE.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 19,
+ "lyrics" : "",
+ "genre" : [],
+ "artist" : [
+ "VARIOS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 91
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "VARIOS"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "TOILET NI ITTOIRE",
+ "album" : "AKATIAN NO TAMENO",
+ "title" : "TOILET NI ITTOIRE",
+ "songid" : 1278,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 96,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/19-Track20 KULHAU Sonatine n°4 op 88.mp3",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 19,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track20 KULHAU Sonatine n°4 op 88",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "title" : "Track20 KULHAU Sonatine n°4 op 88",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 809,
+ "albumid" : 59,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genre" : [
+ "Bluegrass"
+ ],
+ "lyrics" : "",
+ "track" : 19,
+ "genreid" : [
+ 33
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Adam \"Swannee\" Swann"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 97
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Bluegrass Banjo/19-Adam \"Swannee\" Swann-Will The Circle Be Unbroken.mp3",
+ "albumartistid" : [
+ 97
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Adam \"Swannee\" Swann",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 101,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2005,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Will The Circle Be Unbroken",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Adam \"Swannee\" Swann"
+ ],
+ "album" : "Bluegrass Banjo",
+ "title" : "Will The Circle Be Unbroken",
+ "songid" : 1318
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 19,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/19-つきのハープのこもりうた.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1769,
+ "title" : "つきのハープのこもりうた",
+ "album" : "ピアノスタディ1",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "つきのハープのこもりうた",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ]
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 25,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "label" : "Allemaal samen",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Allemaal samen",
+ "songid" : 268,
+ "album" : "De Muziekfabriek",
+ "track" : 20,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "genreid" : [
+ 11
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Calefax Rietkwintet",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/20-Allemaal samen.mp3",
+ "albumartistid" : [
+ 25
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 21
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brian Eno/More Music For Films/20-Always Returning (II).mp3",
+ "displayartist" : "Brian Eno",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 9
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 21
+ ],
+ "artist" : [
+ "Brian Eno"
+ ],
+ "genre" : [
+ "Ambient"
+ ],
+ "lyrics" : "",
+ "track" : 20,
+ "title" : "Always Returning (II)",
+ "album" : "More Music For Films",
+ "songid" : 187,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Always Returning (II)",
+ "albumartist" : [
+ "Brian Eno"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 21,
+ "year" : 2005,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 36,
+ "year" : 2003,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Best of Defari",
+ "title" : "Bonus",
+ "songid" : 438,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Bonus",
+ "albumartist" : [
+ "DJ Revolution"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 17
+ ],
+ "artistid" : [
+ 36
+ ],
+ "disc" : 0,
+ "artist" : [
+ "DJ Revolution"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "track" : 20,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 36
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/DJ Revolution/Best of Defari/20-Bonus.mp3",
+ "displayartist" : "DJ Revolution",
+ "thumbnail" : ""
+ },
+ {
+ "title" : "Ca masse ta race",
+ "songid" : 460,
+ "album" : "World of Shit",
+ "label" : "Ca masse ta race",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Eating Shit"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 38,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2004,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Eating Shit/World of Shit/20-Ca masse ta race.mp3",
+ "albumartistid" : [
+ 38
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Eating Shit",
+ "genreid" : [
+ 18
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Eating Shit"
+ ],
+ "artistid" : [
+ 38
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Grindcore"
+ ],
+ "track" : 20
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dogs Of War",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "title" : "Dogs Of War",
+ "songid" : 228,
+ "album" : "Evolution Through Revolution",
+ "albumid" : 23,
+ "rating" : 0,
+ "year" : 2009,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/20-Dogs Of War.mp3",
+ "displayartist" : "Brutal Truth",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "track" : 20,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 10
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "artistid" : [
+ 23
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "albumid" : 137,
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Fanfare - acc",
+ "songid" : 1396,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Fanfare - acc",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 20,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/20-Fanfare - acc.mp3",
+ "albumartistid" : [
+ 95
+ ]
+ },
+ {
+ "displayartist" : "Victims in Ecstacy",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 213
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Victims in Ecstacy/Chinese Pornography/20-hidden.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 20,
+ "genre" : [],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Victims in Ecstacy"
+ ],
+ "artistid" : [
+ 213
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartist" : [
+ "Victims in Ecstacy"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "hidden",
+ "album" : "Chinese Pornography",
+ "title" : "hidden",
+ "songid" : 1527,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 221,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "label" : "PONS Rumänisch - Track 21",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "songid" : 999,
+ "title" : "PONS Rumänisch - Track 21",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/20-PONS Rumänisch - Track 21.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 20,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ]
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Hare's Paw",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "title" : "Reel - The Hare's Paw",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1582,
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/20-Reel - The Hare's Paw.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 20,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ]
+ },
+ {
+ "albumid" : 34,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Sick Sick Boredom",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Deep Sleep"
+ ],
+ "album" : "Three Things At Once",
+ "title" : "Sick Sick Boredom",
+ "songid" : 403,
+ "genre" : [
+ "Punk Rock"
+ ],
+ "lyrics" : "",
+ "track" : 20,
+ "genreid" : [
+ 16
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Deep Sleep"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 34
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Deep Sleep/Three Things At Once/20-Sick Sick Boredom.mp3",
+ "albumartistid" : [
+ 34
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Deep Sleep",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "genre" : [
+ "Goregrind"
+ ],
+ "lyrics" : "",
+ "track" : 20,
+ "genreid" : [
+ 14
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 30
+ ],
+ "artist" : [
+ "Corporal Raid"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Corporal Raid/Xenophilism/20-Star Grinding Wars (The Final Chapter).mp3",
+ "albumartistid" : [
+ 30
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Corporal Raid",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 30,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Star Grinding Wars (The Final Chapter)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Corporal Raid"
+ ],
+ "title" : "Star Grinding Wars (The Final Chapter)",
+ "album" : "Xenophilism",
+ "songid" : 346
+ },
+ {
+ "title" : "The Cello - END TITLES",
+ "album" : "Ten Minutes Older",
+ "songid" : 958,
+ "label" : "The Cello - END TITLES",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Paul Englishby"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 67,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2003,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Paul Englishby/Ten Minutes Older/20-The Cello - END TITLES.mp3",
+ "albumartistid" : [
+ 64
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Paul Englishby",
+ "genreid" : [
+ 6
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Paul Englishby"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 64
+ ],
+ "genre" : [
+ "Soundtrack"
+ ],
+ "lyrics" : "",
+ "track" : 20
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/20-Track21 MOZART Concerto en La maj pour violon et orchestre K219, 2ème mvt Adagio.mp3",
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 20,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "songid" : 810,
+ "title" : "Track21 MOZART Concerto en La maj pour violon et orchestre K219, 2ème mvt Adagio",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track21 MOZART Concerto en La maj pour violon et orchestre K219, 2ème mvt Adagio",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "青い鳥",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "title" : "青い鳥",
+ "album" : "ピアノスタディ1",
+ "songid" : 1770,
+ "albumid" : 232,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/20-青い鳥.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 20,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ]
+ },
+ {
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 25,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Calefax Rietkwintet"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "De cd-machine",
+ "title" : "De cd-machine",
+ "album" : "De Muziekfabriek",
+ "songid" : 269,
+ "track" : 21,
+ "genre" : [
+ "Classic for Kids"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 25
+ ],
+ "artist" : [
+ "Calefax Rietkwintet"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 11
+ ],
+ "displayartist" : "Calefax Rietkwintet",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 25
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Calefax Rietkwintet/De Muziekfabriek/21-De cd-machine.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "albumid" : 23,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2009,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Forever In A Daze",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Brutal Truth"
+ ],
+ "songid" : 229,
+ "title" : "Forever In A Daze",
+ "album" : "Evolution Through Revolution",
+ "genre" : [
+ "Metal"
+ ],
+ "lyrics" : "",
+ "track" : 21,
+ "genreid" : [
+ 10
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Brutal Truth"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 23
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Brutal Truth/Evolution Through Revolution/21-Forever In A Daze.mp3",
+ "albumartistid" : [
+ 23
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Brutal Truth",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "artistid" : [
+ 66
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 21,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/21-PONS Rumänisch - Track 22.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 69,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "title" : "PONS Rumänisch - Track 22",
+ "songid" : 1000,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 22",
+ "albumartist" : [
+ "PONS"
+ ]
+ },
+ {
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "title" : "Reel - Jenny's Cheickens",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1583,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Jenny's Cheickens",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 21,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/21-Reel - Jenny's Cheickens.mp3"
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 21,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/21-The Vicar of Bray - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 137,
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "The Vicar of Bray - acc",
+ "songid" : 1397,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "The Vicar of Bray - acc",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track22 BACH Allemande (Partita n°6)",
+ "songid" : 811,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Track22 BACH Allemande (Partita n°6)",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 59,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/21-Track22 BACH Allemande (Partita n°6).mp3",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 21
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 232,
+ "title" : "ゆめのくに",
+ "album" : "ピアノスタディ1",
+ "songid" : 1771,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "ゆめのくに",
+ "fanart" : "",
+ "lastplayed" : "",
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 21,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/21-ゆめのくに.mp3",
+ "albumartistid" : [
+ 224
+ ]
+ },
+ {
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Dance of the Minor Thirds - acc",
+ "title" : "Dance of the Minor Thirds - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1398,
+ "track" : 22,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/22-Dance of the Minor Thirds - acc.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "label" : "PONS Rumänisch - Track 23",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "title" : "PONS Rumänisch - Track 23",
+ "songid" : 1001,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/22-PONS Rumänisch - Track 23.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 22,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/22-Reel - Jenny's Wedding.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 22,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - Jenny's Wedding",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Jenny's Wedding",
+ "songid" : 1584,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 224,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 22,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/22-Track23 MOZART Quintette à cordes en mib maj K614 Andante.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59,
+ "songid" : 812,
+ "title" : "Track23 MOZART Quintette à cordes en mib maj K614 Andante",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Track23 MOZART Quintette à cordes en mib maj K614 Andante"
+ },
+ {
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ラッパとたいこ",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "title" : "ラッパとたいこ",
+ "songid" : 1772,
+ "album" : "ピアノスタディ1",
+ "albumid" : 232,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/22-ラッパとたいこ.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 22,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ]
+ },
+ {
+ "label" : "Allegretto No. 10 from Suzuki Violin School, Vol. 1 - acc",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Allegretto No. 10 from Suzuki Violin School, Vol. 1 - acc",
+ "songid" : 1399,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/23-Allegretto No. 10 from Suzuki Violin School, Vol. 1 - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 23,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Various"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ]
+ },
+ {
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/23-PONS Rumänisch - Track 24.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 23,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 24",
+ "albumartist" : [
+ "PONS"
+ ],
+ "songid" : 1002,
+ "title" : "PONS Rumänisch - Track 24",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumid" : 69,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 23,
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/23-Reel - John Naughton's.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Reel - John Naughton's",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "songid" : 1585,
+ "title" : "Reel - John Naughton's",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2"
+ },
+ {
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Track24 HAYDN Quatuor à cordes n°5 en Ré maj op 76 2ème mvt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "title" : "Track24 HAYDN Quatuor à cordes n°5 en Ré maj op 76 2ème mvt",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 813,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 23,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/23-Track24 HAYDN Quatuor à cordes n°5 en Ré maj op 76 2ème mvt.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "track" : 23,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/23-ロックン・ロール.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "ロックン・ロール",
+ "title" : "ロックン・ロール",
+ "songid" : 1773,
+ "album" : "ピアノスタディ1"
+ },
+ {
+ "title" : "PONS Rumänisch - Track 25",
+ "songid" : 1003,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "albumartist" : [
+ "PONS"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 25",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 69,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/24-PONS Rumänisch - Track 25.mp3",
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "track" : 24,
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ]
+ },
+ {
+ "track" : 24,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/24-Reel - John Naughton's Favourite.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - John Naughton's Favourite",
+ "title" : "Reel - John Naughton's Favourite",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1586
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 24,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/24-To The Maypole. No. 6 from Violin Playtime , Book 3 - acc.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 137,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "To The Maypole. No. 6 from Violin Playtime , Book 3 - acc",
+ "songid" : 1400,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "To The Maypole. No. 6 from Violin Playtime , Book 3 - acc",
+ "albumartist" : [
+ "Various artists"
+ ]
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/24-Track25 JONES Les délices de Lady Pulestan.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 24,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track25 JONES Les délices de Lady Pulestan",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 814,
+ "title" : "Track25 JONES Les délices de Lady Pulestan",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "albumid" : 232,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "みつばちのぎゃくしゅう",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "songid" : 1774,
+ "title" : "みつばちのぎゃくしゅう",
+ "album" : "ピアノスタディ1",
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 24,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/24-みつばちのぎゃくしゅう.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 25,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/25-PONS Rumänisch - Track 26.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "PONS Rumänisch - Track 26",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 26",
+ "songid" : 1004
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/25-Reel - The Killavil Reel.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 25,
+ "title" : "Reel - The Killavil Reel",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1587,
+ "label" : "Reel - The Killavil Reel",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0
+ },
+ {
+ "albumid" : 59,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track26 MOZART Sonate en Ré maj KV 311",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track26 MOZART Sonate en Ré maj KV 311",
+ "songid" : 815,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 25,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/25-Track26 MOZART Sonate en Ré maj KV 311.mp3",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/25-Wondrous Love - acc.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 25,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "title" : "Wondrous Love - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1401,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Wondrous Love - acc",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137
+ },
+ {
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "こもりうたをききながら",
+ "album" : "ピアノスタディ1",
+ "title" : "こもりうたをききながら",
+ "songid" : 1775,
+ "track" : 25,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/25-こもりうたをききながら.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "label" : "PONS Rumänisch - Track 27",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "title" : "PONS Rumänisch - Track 27",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 1005,
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/26-PONS Rumänisch - Track 27.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 26,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ]
+ },
+ {
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/26-Reel - Last Night's Fun.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 26,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - Last Night's Fun",
+ "songid" : 1588,
+ "title" : "Reel - Last Night's Fun",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track27 CHOPIN Nocturne n°1 op 27",
+ "songid" : 816,
+ "label" : "Track27 CHOPIN Nocturne n°1 op 27",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 26,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/26-Track27 CHOPIN Nocturne n°1 op 27.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD"
+ },
+ {
+ "albumartist" : [
+ "Various artists"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Waltz: from Gold und Silber - acc",
+ "title" : "Waltz: from Gold und Silber - acc",
+ "songid" : 1402,
+ "album" : "Violin exam pieces 2008-2011",
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/26-Waltz: from Gold und Silber - acc.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 26,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ]
+ },
+ {
+ "track" : 26,
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "artistid" : [
+ 224
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/26-ジャマイカン・ラプソディー.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "ジャマイカン・ラプソディー",
+ "lastplayed" : "",
+ "fanart" : "",
+ "songid" : 1776,
+ "title" : "ジャマイカン・ラプソディー",
+ "album" : "ピアノスタディ1"
+ },
+ {
+ "title" : "Country Chimes: No 17 from Let's Play the Violin - acc",
+ "songid" : 1403,
+ "album" : "Violin exam pieces 2008-2011",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Country Chimes: No 17 from Let's Play the Violin - acc",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/27-Country Chimes: No 17 from Let's Play the Violin - acc.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 27,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "title" : "PONS Rumänisch - Track 28",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 1006,
+ "label" : "PONS Rumänisch - Track 28",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 27,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/27-PONS Rumänisch - Track 28.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/27-Reel - La Tour à Solette.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 27,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - La Tour à Solette",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Reel - La Tour à Solette",
+ "songid" : 1589,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 224,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "track" : 27,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/27-Track28 BACH Aria, (Variations Goldberg BWV 988.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Track28 BACH Aria, (Variations Goldberg BWV 988",
+ "songid" : 817,
+ "title" : "Track28 BACH Aria, (Variations Goldberg BWV 988",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3"
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 232,
+ "album" : "ピアノスタディ1",
+ "title" : "おかあさんのおへんじ",
+ "songid" : 1777,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "おかあさんのおへんじ",
+ "fanart" : "",
+ "lastplayed" : "",
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "artistid" : [
+ 224
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 27,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/27-おかあさんのおへんじ.mp3",
+ "albumartistid" : [
+ 224
+ ]
+ },
+ {
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Largo (Theme from 'New World' Symphony) - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Largo (Theme from 'New World' Symphony) - acc",
+ "songid" : 1404,
+ "track" : 28,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/28-Largo (Theme from 'New World' Symphony) - acc.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 28,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/28-PONS Rumänisch - Track 29.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 69,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 29",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "PONS Rumänisch - Track 29",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 1007
+ },
+ {
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Lucky in Love",
+ "songid" : 1590,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - Lucky in Love",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/28-Reel - Lucky in Love.mp3",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 28,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track29 MOZART Sérénade KV525 (Petite musique de nuit) 2ème mvt Romance",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 818,
+ "title" : "Track29 MOZART Sérénade KV525 (Petite musique de nuit) 2ème mvt Romance",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/28-Track29 MOZART Sérénade KV525 (Petite musique de nuit) 2ème mvt Romance.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 28,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/28-あひるのさんぽ.mp3",
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "track" : 28,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "songid" : 1778,
+ "title" : "あひるのさんぽ",
+ "album" : "ピアノスタディ1",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "あひるのさんぽ",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 137,
+ "year" : 2008,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1405,
+ "title" : "In The Meadow. The Well-Tuned Fiddle, Book 1 - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "In The Meadow. The Well-Tuned Fiddle, Book 1 - acc",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 29,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/29-In The Meadow. The Well-Tuned Fiddle, Book 1 - acc.mp3",
+ "displayartist" : "Various",
+ "thumbnail" : ""
+ },
+ {
+ "albumartist" : [
+ "PONS"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 30",
+ "title" : "PONS Rumänisch - Track 30",
+ "songid" : 1008,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 69,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/29-PONS Rumänisch - Track 30.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 29,
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ]
+ },
+ {
+ "label" : "Reel - Meave's Return",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "title" : "Reel - Meave's Return",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1591,
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/29-Reel - Meave's Return.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 29,
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ]
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 59,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track30 SOULAGE Un cor dans la campagne",
+ "songid" : 819,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Track30 SOULAGE Un cor dans la campagne",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 29,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/29-Track30 SOULAGE Un cor dans la campagne.mp3",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : ""
+ },
+ {
+ "songid" : 1779,
+ "title" : "たのしいよる",
+ "album" : "ピアノスタディ1",
+ "label" : "たのしいよる",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/29-たのしいよる.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "artistid" : [
+ 224
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 29
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/30-Playsong: No 1 from 24 Easy Little Concert Pieces, Vol 1 - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 30,
+ "title" : "Playsong: No 1 from 24 Easy Little Concert Pieces, Vol 1 - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1406,
+ "label" : "Playsong: No 1 from 24 Easy Little Concert Pieces, Vol 1 - acc",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0
+ },
+ {
+ "albumid" : 69,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "PONS Rumänisch - Track 31",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "title" : "PONS Rumänisch - Track 31",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 1009,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 30,
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 66
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/30-PONS Rumänisch - Track 31.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "title" : "Reel - The Maids of Mitchelstown",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1592,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Maids of Mitchelstown",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 30,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/30-Reel - The Maids of Mitchelstown.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : ""
+ },
+ {
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 59,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Track31 BEETHOVEN Sonate n°2 op 14",
+ "title" : "Track31 BEETHOVEN Sonate n°2 op 14",
+ "songid" : 820,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "track" : 30,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 56
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/30-Track31 BEETHOVEN Sonate n°2 op 14.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "artistid" : [
+ 224
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 30,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/30-しろいくも.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "ピアノスタディ1",
+ "title" : "しろいくも",
+ "songid" : 1780,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "しろいくも",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/31-PONS Rumänisch - Track 32.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "track" : 31,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "PONS Rumänisch - Track 32",
+ "albumartist" : [
+ "PONS"
+ ],
+ "title" : "PONS Rumänisch - Track 32",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 1010,
+ "albumid" : 69,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/31-Reel - Martin Power's.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 31,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "songid" : 1593,
+ "title" : "Reel - Martin Power's",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Martin Power's",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/31-Tango: No 12 from Take the Stage - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 31,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Tango: No 12 from Take the Stage - acc",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Tango: No 12 from Take the Stage - acc",
+ "songid" : 1407,
+ "album" : "Violin exam pieces 2008-2011",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "albumid" : 137,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track32 BEETHOVEN Sonaite n°3 op 2",
+ "songid" : 821,
+ "label" : "Track32 BEETHOVEN Sonaite n°3 op 2",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 31,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/31-Track32 BEETHOVEN Sonaite n°3 op 2.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/31-バイエルより.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 31,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "label" : "バイエルより",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "バイエルより",
+ "songid" : 1781,
+ "album" : "ピアノスタディ1",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/32-PONS Rumänisch - Track 33.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 32,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 33",
+ "fanart" : "",
+ "lastplayed" : "",
+ "songid" : 1011,
+ "title" : "PONS Rumänisch - Track 33",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 69,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Martin Wynne's (2)",
+ "songid" : 1594,
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Martin Wynne's (2)",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 32,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/32-Reel - Martin Wynne's (2).mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : ""
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 32,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/32-Toddle-Pip: No. 18 from The O'Clock Rock - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Toddle-Pip: No. 18 from The O'Clock Rock - acc",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "songid" : 1408,
+ "title" : "Toddle-Pip: No. 18 from The O'Clock Rock - acc",
+ "album" : "Violin exam pieces 2008-2011"
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/32-Track33 DEBUSSY Clair de Lune (Suite Bergamasque).mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 32,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "label" : "Track33 DEBUSSY Clair de Lune (Suite Bergamasque)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track33 DEBUSSY Clair de Lune (Suite Bergamasque)",
+ "songid" : 822,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/32-ほたる.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 32,
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "label" : "ほたる",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "title" : "ほたる",
+ "songid" : 1782,
+ "album" : "ピアノスタディ1",
+ "albumid" : 232,
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "rating" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/33-Dance to your daddy - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 33,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "title" : "Dance to your daddy - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1409,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Dance to your daddy - acc",
+ "fanart" : "",
+ "lastplayed" : "",
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "albumid" : 137
+ },
+ {
+ "artistid" : [
+ 66
+ ],
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 33,
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/33-PONS Rumänisch - Track 34.mp3",
+ "albumartistid" : [
+ 66
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2010,
+ "rating" : 0,
+ "albumid" : 69,
+ "album" : "Power-Sprachtraining Rumänisch",
+ "title" : "PONS Rumänisch - Track 34",
+ "songid" : 1012,
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "PONS Rumänisch - Track 34",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/33-Reel - The Merry Harriers.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 33,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Merry Harriers",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "title" : "Reel - The Merry Harriers",
+ "songid" : 1595,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 33,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/33-Track34 BEETHOVEN Quintette pou rhautbois, clar sib, basson, piano op 16 2ème mvt.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track34 BEETHOVEN Quintette pou rhautbois, clar sib, basson, piano op 16 2ème mvt",
+ "songid" : 823,
+ "label" : "Track34 BEETHOVEN Quintette pou rhautbois, clar sib, basson, piano op 16 2ème mvt",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ]
+ },
+ {
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/33-おはようクレヨン.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 33,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "おはようクレヨン",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "title" : "おはようクレヨン",
+ "album" : "ピアノスタディ1",
+ "songid" : 1783,
+ "albumid" : 232,
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/34-Chase in the Dark - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 34,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Chase in the Dark - acc",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Chase in the Dark - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1410,
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5
+ },
+ {
+ "songid" : 1013,
+ "title" : "PONS Rumänisch - Track 35",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "PONS Rumänisch - Track 35",
+ "albumartist" : [
+ "PONS"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 69,
+ "year" : 2010,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/34-PONS Rumänisch - Track 35.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 34
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/34-Reel - Michael McAuley's.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 34,
+ "songid" : 1596,
+ "title" : "Reel - Michael McAuley's",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Michael McAuley's",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : []
+ },
+ {
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Track35BEETHOVEN Symphonie n°3 op 55 \"Eroica\" 2ème mvt Adagio",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "title" : "Track35BEETHOVEN Symphonie n°3 op 55 \"Eroica\" 2ème mvt Adagio",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 824,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 34,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/34-Track35BEETHOVEN Symphonie n°3 op 55 \"Eroica\" 2ème mvt Adagio.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "year" : 0,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 232,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "しっぽしっぽ",
+ "album" : "ピアノスタディ1",
+ "title" : "しっぽしっぽ",
+ "songid" : 1784,
+ "track" : 34,
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "artistid" : [
+ 224
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/34-しっぽしっぽ.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : ""
+ },
+ {
+ "track" : 35,
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "artistid" : [
+ 96
+ ],
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/35-Gypsy Dance: No 20 from Fiddle Time Runners - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 2008,
+ "rating" : 0,
+ "albumid" : 137,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "label" : "Gypsy Dance: No 20 from Fiddle Time Runners - acc",
+ "lastplayed" : "",
+ "fanart" : "",
+ "title" : "Gypsy Dance: No 20 from Fiddle Time Runners - acc",
+ "album" : "Violin exam pieces 2008-2011",
+ "songid" : 1411
+ },
+ {
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "PONS Rumänisch - Track 36",
+ "albumartist" : [
+ "PONS"
+ ],
+ "title" : "PONS Rumänisch - Track 36",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 1014,
+ "albumid" : 69,
+ "rating" : 0,
+ "year" : 2010,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 66
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/35-PONS Rumänisch - Track 36.mp3",
+ "displayartist" : "PONS",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "track" : 35,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 27
+ ],
+ "artist" : [
+ "PONS"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 66
+ ]
+ },
+ {
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 35,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/35-Reel - The Miser's Pocket.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "title" : "Reel - The Miser's Pocket",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1597,
+ "label" : "Reel - The Miser's Pocket",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Waltons"
+ ]
+ },
+ {
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 56
+ ],
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 35,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/35-Track36 BACH Solo per il cembalo (Petit livre d'Anna-Magdalena Bach).mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "title" : "Track36 BACH Solo per il cembalo (Petit livre d'Anna-Magdalena Bach)",
+ "songid" : 825,
+ "label" : "Track36 BACH Solo per il cembalo (Petit livre d'Anna-Magdalena Bach)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ]
+ },
+ {
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/35-雪とこども.mp3",
+ "albumartistid" : [
+ 224
+ ],
+ "thumbnail" : "",
+ "displayartist" : "ヤマハ音楽振興会",
+ "genreid" : [
+ 39
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 224
+ ],
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Instrumental"
+ ],
+ "track" : 35,
+ "album" : "ピアノスタディ1",
+ "title" : "雪とこども",
+ "songid" : 1785,
+ "label" : "雪とこども",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 232,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Various",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 95
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/36-Bohemia - Ploka: No 4 from More Travel Tunes - Violin - acc.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 96
+ ],
+ "artist" : [
+ "Various"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 3
+ ],
+ "track" : 36,
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "album" : "Violin exam pieces 2008-2011",
+ "title" : "Bohemia - Ploka: No 4 from More Travel Tunes - Violin - acc",
+ "songid" : 1412,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Bohemia - Ploka: No 4 from More Travel Tunes - Violin - acc",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 2008,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 137
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2010,
+ "albumid" : 69,
+ "title" : "Daten-CD",
+ "album" : "Power-Sprachtraining Rumänisch",
+ "songid" : 1015,
+ "albumartist" : [
+ "PONS"
+ ],
+ "label" : "Daten-CD",
+ "lastplayed" : "",
+ "fanart" : "",
+ "disc" : 0,
+ "artist" : [
+ "PONS"
+ ],
+ "artistid" : [
+ 66
+ ],
+ "genreid" : [
+ 27
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 36,
+ "lyrics" : "",
+ "genre" : [
+ "Sprachkurs"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "PONS",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/PONS/Power-Sprachtraining Rumänisch/36-Daten-CD.mp3",
+ "albumartistid" : [
+ 66
+ ]
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 36,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/36-Reel - The Morning Dew.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Morning Dew",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "songid" : 1598,
+ "title" : "Reel - The Morning Dew",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2"
+ },
+ {
+ "genre" : [
+ "Classical"
+ ],
+ "lyrics" : "",
+ "track" : 36,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 56
+ ],
+ "disc" : 0,
+ "artist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/LAMARQUE et GOUDARD/D'un rythme à l'autre 2ème cycle vol 3/36-Track37 BARTOK Rythme bulgare.mp3",
+ "albumartistid" : [
+ 56
+ ],
+ "thumbnail" : "",
+ "displayartist" : "LAMARQUE et GOUDARD",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 59,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 0,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Track37 BARTOK Rythme bulgare",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "LAMARQUE et GOUDARD"
+ ],
+ "title" : "Track37 BARTOK Rythme bulgare",
+ "album" : "D'un rythme à l'autre 2ème cycle vol 3",
+ "songid" : 826
+ },
+ {
+ "title" : "ピーマンマン",
+ "songid" : 1786,
+ "album" : "ピアノスタディ1",
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "ピーマンマン",
+ "albumartist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 232,
+ "rating" : 0,
+ "year" : 0,
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 224
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ヤマハ音楽振興会/ピアノスタディ1/36-ピーマンマン.mp3",
+ "displayartist" : "ヤマハ音楽振興会",
+ "thumbnail" : "",
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 39
+ ],
+ "artistid" : [
+ 224
+ ],
+ "disc" : 0,
+ "artist" : [
+ "ヤマハ音楽振興会"
+ ],
+ "genre" : [
+ "Instrumental"
+ ],
+ "lyrics" : "",
+ "track" : 36
+ },
+ {
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/37-Reel - The Newly-Mown Meadow.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 37,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Newly-Mown Meadow",
+ "title" : "Reel - The Newly-Mown Meadow",
+ "songid" : 1599,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5
+ },
+ {
+ "lyrics" : "",
+ "genre" : [
+ "Classical"
+ ],
+ "track" : 37,
+ "genreid" : [
+ 3
+ ],
+ "musicbrainztrackid" : "",
+ "artistid" : [
+ 96
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Various"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various/Violin exam pieces 2008-2011/37-Turkey in the Straw: Supersatr Violin (The Complete Method) - acc.mp3",
+ "albumartistid" : [
+ 95
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Various",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumid" : 137,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 2008,
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "label" : "Turkey in the Straw: Supersatr Violin (The Complete Method) - acc",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Various artists"
+ ],
+ "title" : "Turkey in the Straw: Supersatr Violin (The Complete Method) - acc",
+ "songid" : 1413,
+ "album" : "Violin exam pieces 2008-2011"
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/38-Reel - O'Connell's Trip to Parliament.mp3",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 38,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "title" : "Reel - O'Connell's Trip to Parliament",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1600,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - O'Connell's Trip to Parliament",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224
+ },
+ {
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - One Night in Doolin",
+ "songid" : 1601,
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - One Night in Doolin",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 39,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/39-Reel - One Night in Doolin.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : ""
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 224,
+ "title" : "Reel - Paddy Kelly's (1)",
+ "songid" : 1602,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - Paddy Kelly's (1)",
+ "lastplayed" : "",
+ "fanart" : "",
+ "artist" : [
+ "Waltons"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 40,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/40-Reel - Paddy Kelly's (1).mp3",
+ "albumartistid" : [
+ 216
+ ]
+ },
+ {
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "title" : "Reel - Paddy Kelly's (2)",
+ "songid" : 1603,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "label" : "Reel - Paddy Kelly's (2)",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 41,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/41-Reel - Paddy Kelly's (2).mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons"
+ },
+ {
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 42,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/42-Reel - Patsy Touhey's.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "songid" : 1604,
+ "title" : "Reel - Patsy Touhey's",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "label" : "Reel - Patsy Touhey's",
+ "fanart" : "",
+ "lastplayed" : "",
+ "albumartist" : [
+ "Waltons"
+ ]
+ },
+ {
+ "title" : "Reel - The Pretty Girls of Mayo",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1605,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Pretty Girls of Mayo",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/43-Reel - The Pretty Girls of Mayo.mp3",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 43,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ]
+ },
+ {
+ "albumid" : 224,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Reconciliation",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "title" : "Reel - The Reconciliation",
+ "songid" : 1606,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "track" : 44,
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/44-Reel - The Reconciliation.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "comment" : "",
+ "musicbrainzartistid" : []
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/45-Reel - Ríl John Kelly.mp3",
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 45,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "title" : "Reel - Ríl John Kelly",
+ "songid" : 1607,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Ríl John Kelly",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224
+ },
+ {
+ "track" : 46,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/46-Reel - The Roscommon Reel.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - The Roscommon Reel",
+ "lastplayed" : "",
+ "fanart" : "",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - The Roscommon Reel",
+ "songid" : 1608
+ },
+ {
+ "title" : "Reel - The Sailor's Bonnet",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1609,
+ "label" : "Reel - The Sailor's Bonnet",
+ "lastplayed" : "",
+ "fanart" : "",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "duration" : 5,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/47-Reel - The Sailor's Bonnet.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 47
+ },
+ {
+ "title" : "Reel - The Scones of Boxty",
+ "songid" : 1610,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Scones of Boxty",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "year" : 1999,
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/48-Reel - The Scones of Boxty.mp3",
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 48,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : ""
+ },
+ {
+ "track" : 49,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/49-Reel - The Skylark.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 224,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - The Skylark",
+ "fanart" : "",
+ "lastplayed" : "",
+ "title" : "Reel - The Skylark",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1611
+ },
+ {
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 50,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/50-Reel - The Star of Munster.mp3",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "title" : "Reel - The Star of Munster",
+ "songid" : 1612,
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Star of Munster"
+ },
+ {
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - The Stoney Steps",
+ "fanart" : "",
+ "lastplayed" : "",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - The Stoney Steps",
+ "songid" : 1613,
+ "musicbrainzalbumartistid" : [],
+ "year" : 1999,
+ "rating" : 0,
+ "albumid" : 224,
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/51-Reel - The Stoney Steps.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 51,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : ""
+ },
+ {
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "track" : 52,
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/52-Reel - The Tap Room.mp3",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "duration" : 5,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "albumid" : 224,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "songid" : 1614,
+ "title" : "Reel - The Tap Room",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - The Tap Room",
+ "albumartist" : [
+ "Waltons"
+ ]
+ },
+ {
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/53-Reel - The Tempest.mp3",
+ "disc" : 0,
+ "artistid" : [
+ 216
+ ],
+ "artist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "track" : 53,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "title" : "Reel - The Tempest",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "songid" : 1615,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "lastplayed" : "",
+ "fanart" : "",
+ "label" : "Reel - The Tempest",
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224
+ },
+ {
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Tommy People's Reel",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "title" : "Reel - Tommy People's Reel",
+ "songid" : 1616,
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/54-Reel - Tommy People's Reel.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "track" : 54,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ]
+ },
+ {
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "genreid" : [
+ 24
+ ],
+ "musicbrainztrackid" : "",
+ "track" : 55,
+ "genre" : [
+ "Celtic"
+ ],
+ "lyrics" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "thumbnail" : "",
+ "displayartist" : "Waltons",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/55-Reel - Toss the Features.mp3",
+ "albumartistid" : [
+ 216
+ ],
+ "musicbrainzalbumid" : "",
+ "playcount" : 0,
+ "duration" : 5,
+ "musicbrainzalbumartistid" : [],
+ "rating" : 0,
+ "year" : 1999,
+ "albumid" : 224,
+ "songid" : 1617,
+ "title" : "Reel - Toss the Features",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2",
+ "albumartist" : [
+ "Waltons"
+ ],
+ "label" : "Reel - Toss the Features",
+ "lastplayed" : "",
+ "fanart" : ""
+ },
+ {
+ "track" : 56,
+ "lyrics" : "",
+ "genre" : [
+ "Celtic"
+ ],
+ "artistid" : [
+ 216
+ ],
+ "disc" : 0,
+ "artist" : [
+ "Waltons"
+ ],
+ "musicbrainztrackid" : "",
+ "genreid" : [
+ 24
+ ],
+ "displayartist" : "Waltons",
+ "thumbnail" : "",
+ "albumartistid" : [
+ 216
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Waltons/Ireland's Best Fiddle Tunes Disk 2/56-Reel - Upstairs in a Tent.mp3",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "rating" : 0,
+ "year" : 1999,
+ "musicbrainzalbumartistid" : [],
+ "albumid" : 224,
+ "playcount" : 0,
+ "musicbrainzalbumid" : "",
+ "duration" : 5,
+ "albumartist" : [
+ "Waltons"
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "label" : "Reel - Upstairs in a Tent",
+ "songid" : 1618,
+ "title" : "Reel - Upstairs in a Tent",
+ "album" : "Ireland's Best Fiddle Tunes Disk 2"
+ },
+ {
+ "musicbrainzalbumartistid" : [],
+ "year" : 0,
+ "albumartistid" : [
+ 226,
+ 227,
+ 228
+ ],
+ "disc" : 0,
+ "musicbrainztrackid" : "",
+ "fanart" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/ThreeArtists/ThreeArtistsAlbum/01-threeartists.mp3",
+ "genre" : [],
+ "displayartist" : "First artist / Second artist / Third artist",
+ "comment" : "",
+ "musicbrainzartistid" : [],
+ "artistid" : [
+ 226,
+ 227,
+ 228
+ ],
+ "lastplayed" : "",
+ "songid" : 1804,
+ "playcount" : 0,
+ "thumbnail" : "",
+ "albumartist" : [
+ "First artist",
+ "Second artist",
+ "Third artist"
+ ],
+ "albumid" : 234,
+ "genreid" : [],
+ "track" : 1,
+ "label" : "threeartists",
+ "title" : "threeartists",
+ "rating" : 0,
+ "artist" : [
+ "First artist",
+ "Second artist",
+ "Third artist"
+ ],
+ "lyrics" : "",
+ "duration" : 5,
+ "album" : "ThreeArtistsAlbum",
+ "musicbrainzalbumid" : ""
+ },
+ {
+ "lyrics" : "",
+ "album" : "Various Artists Album",
+ "duration" : 5,
+ "artistid" : [
+ 226
+ ],
+ "year" : 0,
+ "comment" : "",
+ "musicbrainzalbumid" : "",
+ "label" : "firstsong",
+ "genre" : [],
+ "albumartistid" : [
+ 229
+ ],
+ "fanart" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Various Artists Album/01-firstartist.mp3",
+ "playcount" : 0,
+ "displayartist" : "First artist",
+ "musicbrainzartistid" : [],
+ "albumartist" : [
+ "Various artists"
+ ],
+ "rating" : 0,
+ "musicbrainztrackid" : "",
+ "title" : "firstsong",
+ "musicbrainzalbumartistid" : [],
+ "artist" : [
+ "First artist"
+ ],
+ "genreid" : [],
+ "albumid" : 235,
+ "track" : 1,
+ "disc" : 0,
+ "thumbnail" : "",
+ "songid" : 1805
+ },
+ {
+ "artistid" : [
+ 227
+ ],
+ "duration" : 5,
+ "album" : "Various Artists Album",
+ "lyrics" : "",
+ "year" : 0,
+ "label" : "secondsong",
+ "genre" : [],
+ "albumartistid" : [
+ 229
+ ],
+ "musicbrainzalbumid" : "",
+ "comment" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Various Artists Album/02-secondartist.mp3",
+ "fanart" : "",
+ "musicbrainzartistid" : [],
+ "displayartist" : "Second artist",
+ "playcount" : 0,
+ "albumartist" : [
+ "Various artists"
+ ],
+ "rating" : 0,
+ "musicbrainzalbumartistid" : [],
+ "artist" : [
+ "Second artist"
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "title" : "secondsong",
+ "songid" : 1806,
+ "track" : 2,
+ "albumid" : 235,
+ "disc" : 0,
+ "thumbnail" : ""
+ },
+ {
+ "albumartist" : [
+ "Various artists"
+ ],
+ "rating" : 0,
+ "playcount" : 0,
+ "musicbrainzartistid" : [],
+ "displayartist" : "Third artist",
+ "track" : 3,
+ "albumid" : 235,
+ "disc" : 0,
+ "thumbnail" : "",
+ "songid" : 1807,
+ "musicbrainztrackid" : "",
+ "title" : "thirdsong",
+ "genreid" : [],
+ "musicbrainzalbumartistid" : [],
+ "artist" : [
+ "Third artist"
+ ],
+ "year" : 0,
+ "lyrics" : "",
+ "album" : "Various Artists Album",
+ "artistid" : [
+ 228
+ ],
+ "duration" : 5,
+ "fanart" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Various Artists/Various Artists Album/03-thirdartist.mp3",
+ "comment" : "",
+ "musicbrainzalbumid" : "",
+ "label" : "thirdsong",
+ "genre" : [],
+ "albumartistid" : [
+ 229
+ ]
+ },
+ {
+ "duration" : 5,
+ "rating" : 0,
+ "musicbrainzartistid" : [],
+ "thumbnail" : "",
+ "artistid" : [
+ 0
+ ],
+ "artist" : [
+ ""
+ ],
+ "comment" : "",
+ "genre" : [],
+ "albumartistid" : [
+ 229
+ ],
+ "album" : "Various Artists Album No Song Artist",
+ "title" : "first song album artist no song artist",
+ "fanart" : "",
+ "lyrics" : "",
+ "year" : 0,
+ "songid" : 1808,
+ "disc" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumartist" : [
+ "Various artists"
+ ],
+ "musicbrainzalbumid" : "",
+ "label" : "first song album artist no song artist",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/unknown/Various Artists Album with Album Artist but no Artist/01-first_album_artist_no_song_artist.mp3",
+ "musicbrainztrackid" : "",
+ "lastplayed" : "",
+ "displayartist" : "",
+ "genreid" : [],
+ "playcount" : 0,
+ "track" : 1,
+ "albumid" :236
+ },
+ {
+ "duration" : 5,
+ "rating" : 0,
+ "musicbrainzartistid" : [],
+ "thumbnail" : "",
+ "artistid" : [
+ 0
+ ],
+ "artist" : [
+ ""
+ ],
+ "comment" : "",
+ "genre" : [],
+ "albumartistid" : [
+ 229
+ ],
+ "album" : "Various Artists Album No Song Artist",
+ "title" : "second song album artist no song artist",
+ "fanart" : "",
+ "lyrics" : "",
+ "year" : 0,
+ "songid" : 1809,
+ "disc" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumartist" : [
+ "Various artists"
+ ],
+ "musicbrainzalbumid" : "",
+ "label" : "second song album artist no song artist",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/unknown/Various Artists Album with Album Artist but no Artist/02-second_album_artist_no_song_artist.mp3",
+ "musicbrainztrackid" : "",
+ "lastplayed" : "",
+ "displayartist" : "",
+ "genreid" : [],
+ "playcount" : 0,
+ "track" : 2,
+ "albumid" : 236
+ },
+ {
+ "duration" : 5,
+ "rating" : 0,
+ "musicbrainzartistid" : [],
+ "thumbnail" : "",
+ "artistid" : [
+ 0
+ ],
+ "artist" : [
+ ""
+ ],
+ "comment" : "",
+ "genre" : [],
+ "albumartistid" : [
+ 229
+ ],
+ "album" : "Various Artists Album No Song Artist",
+ "title" : "third song album artist no song artist",
+ "fanart" : "",
+ "lyrics" : "",
+ "year" : 0,
+ "songid" : 1810,
+ "disc" : 0,
+ "musicbrainzalbumartistid" : [],
+ "albumartist" : [
+ "Various artists"
+ ],
+ "musicbrainzalbumid" : "",
+ "label" : "third song album artist no song artist",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/unknown/Various Artists Album with Album Artist but no Artist/03-third_album_artist_no_song_artist.mp3",
+ "musicbrainztrackid" : "",
+ "lastplayed" : "",
+ "displayartist" : "",
+ "genreid" : [],
+ "playcount" : 0,
+ "track" : 3,
+ "albumid" : 236
+ },
+ {
+ "genreid" : [],
+ "albumartistid" : [
+ 232
+ ],
+ "musicbrainztrackid" : "",
+ "duration" : 5,
+ "disc" : 1,
+ "album" : "Multi disc album",
+ "musicbrainzalbumid" : "",
+ "label" : "First disc first song",
+ "title" : "First disc first song",
+ "artistid" : [
+ 232
+ ],
+ "lastplayed" : "",
+ "displayartist" : "Multi disc artist",
+ "musicbrainzalbumartistid" : [],
+ "thumbnail" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "lyrics" : "",
+ "track" : 1,
+ "year" : 0,
+ "songid" : 1811,
+ "fanart" : "",
+ "genre" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Multi disc artist/Multi disc album/01-first_disc_first_track.mp3",
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "playcount" : 0,
+ "albumid" : 237,
+ "rating" : 0,
+ "albumartist" : [
+ "Multi disc artist"
+ ]
+ },
+ {
+ "musicbrainzalbumid" : "",
+ "label" : "First disc second song",
+ "title" : "First disc second song",
+ "album" : "Multi disc album",
+ "disc" : 1,
+ "duration" : 5,
+ "musicbrainztrackid" : "",
+ "albumartistid" : [
+ 232
+ ],
+ "genreid" : [],
+ "playcount" : 0,
+ "rating" : 0,
+ "albumartist" : [
+ "Multi disc artist"
+ ],
+ "albumid" : 237,
+ "genre" : [],
+ "fanart" : "",
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Multi disc artist/Multi disc album/02-first_disc_second_track.mp3",
+ "year" : 0,
+ "songid" : 1812,
+ "track" : 2,
+ "lastplayed" : "",
+ "artistid" : [
+ 232
+ ],
+ "thumbnail" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "lyrics" : "",
+ "displayartist" : "Multi disc artist"
+ },
+ {
+ "album" : "Multi disc album",
+ "musicbrainzalbumid" : "",
+ "title" : "Second disc first song",
+ "label" : "Second disc first song",
+ "albumartistid" : [
+ 232
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "duration" : 5,
+ "disc" : 2,
+ "genre" : [],
+ "fanart" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Multi disc artist/Multi disc album/01-second_disc_first_track.mp3",
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "playcount" : 0,
+ "albumid" : 237,
+ "albumartist" : [
+ "Multi disc artist"
+ ],
+ "rating" : 0,
+ "artistid" : [
+ 232
+ ],
+ "lastplayed" : "",
+ "displayartist" : "Multi disc artist",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "musicbrainzalbumartistid" : [],
+ "lyrics" : "",
+ "track" : 1,
+ "songid" : 1813,
+ "year" : 0
+ },
+ {
+ "albumartist" : [
+ "Multi disc artist"
+ ],
+ "rating" : 0,
+ "albumid" : 237,
+ "playcount" : 0,
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Multi disc artist/Multi disc album/02-second_disc_second_track.mp3",
+ "genre" : [],
+ "fanart" : "",
+ "year" : 0,
+ "songid" : 1814,
+ "track" : 2,
+ "musicbrainzartistid" : [],
+ "thumbnail" : "",
+ "musicbrainzalbumartistid" : [],
+ "comment" : "",
+ "lyrics" : "",
+ "displayartist" : "Multi disc artist",
+ "lastplayed" : "",
+ "artistid" : [
+ 232
+ ],
+ "label" : "Second disc second song",
+ "title" : "Second disc second song",
+ "musicbrainzalbumid" : "",
+ "album" : "Multi disc album",
+ "duration" : 5,
+ "disc" : 2,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartistid" : [
+ 232
+ ]
+ },
+ {
+ "title" : "Third disc first song",
+ "label" : "Third disc first song",
+ "musicbrainzalbumid" : "",
+ "album" : "Multi disc album",
+ "disc" : 3,
+ "duration" : 5,
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartistid" : [
+ 232
+ ],
+ "rating" : 0,
+ "albumartist" : [
+ "Multi disc artist"
+ ],
+ "albumid" : 237,
+ "playcount" : 0,
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Multi disc artist/Multi disc album/01-third_disc_first_track.mp3",
+ "genre" : [],
+ "fanart" : "",
+ "year" : 0,
+ "songid" : 1815,
+ "track" : 1,
+ "thumbnail" : "",
+ "musicbrainzalbumartistid" : [],
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "lyrics" : "",
+ "displayartist" : "Multi disc artist",
+ "lastplayed" : "",
+ "artistid" : [
+ 232
+ ]
+ },
+ {
+ "album" : "Multi disc album",
+ "musicbrainzalbumid" : "",
+ "label" : "Third disc second song",
+ "title" : "Third disc second song",
+ "musicbrainztrackid" : "",
+ "genreid" : [],
+ "albumartistid" : [
+ 232
+ ],
+ "duration" : 5,
+ "disc" : 3,
+ "fanart" : "",
+ "genre" : [],
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Multi disc artist/Multi disc album/02-third_disc_second_track.mp3",
+ "playcount" : 0,
+ "albumartist" : [
+ "Multi disc artist"
+ ],
+ "rating" : 0,
+ "albumid" : 237,
+ "lastplayed" : "",
+ "artistid" : [
+ 232
+ ],
+ "musicbrainzalbumartistid" : [],
+ "thumbnail" : "",
+ "musicbrainzartistid" : [],
+ "comment" : "",
+ "lyrics" : "",
+ "displayartist" : "Multi disc artist",
+ "year" : 0,
+ "songid" : 1816,
+ "track" : 2
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/music/Multi disc artist/Multi disc album/03-third_disc_third_track.mp3",
+ "artist" : [
+ "Multi disc artist"
+ ],
+ "fanart" : "",
+ "genre" : [],
+ "albumid" : 237,
+ "albumartist" : [
+ "Multi disc artist"
+ ],
+ "rating" : 0,
+ "playcount" : 0,
+ "displayartist" : "Multi disc artist",
+ "thumbnail" : "",
+ "musicbrainzartistid" : [],
+ "musicbrainzalbumartistid" : [],
+ "lyrics" : "",
+ "comment" : "",
+ "artistid" : [
+ 232
+ ],
+ "lastplayed" : "",
+ "track" : 3,
+ "year" : 0,
+ "songid" : 1817,
+ "album" : "Multi disc album",
+ "title" : "Third disc third song",
+ "label" : "Third disc third song",
+ "musicbrainzalbumid" : "",
+ "albumartistid" : [
+ 232
+ ],
+ "genreid" : [],
+ "musicbrainztrackid" : "",
+ "duration" : 5,
+ "disc" : 3
+ }
+ ],
+ "limits" : {
+ "end" : 1817,
+ "start" : 0,
+ "total" : 1818
+ }
+ },
+ "jsonrpc" : "2.0"
+}
diff --git a/app/src/debug/assets/Video.Details.Movie.json b/app/src/debug/assets/Video.Details.Movie.json
new file mode 100644
index 0000000..f7cabb4
--- /dev/null
+++ b/app/src/debug/assets/Video.Details.Movie.json
@@ -0,0 +1,27526 @@
+{
+ "id" : "libMovies",
+ "result" : {
+ "movies" : [
+ {
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyeBdcxjMZ8v8mgkKiaha3c0ltE5.jpg/",
+ "year" : 2013,
+ "genre" : [
+ "Documentary"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Eugenio de Haro"
+ ],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "",
+ "plot" : "This documentary takes a look at Marc Marquez’s record-breaking first season in MotoGP™, where he proved himself as the best newcomer of 2013. The rider from Cervera in Spain, is a former 125cc and Moto2TM World Champion and certainly has made his mark in the big leagues. Fighting for the title all the way with team mate Dani Pedrosa, two-time World Champion Jorge Lorenzo and his childhood hero Valentino Rossi, Marc’s not allowed himself to be overawed or edged out. In addition to an interview with Marquez himself, it also features the views of some of the key people surrounding him, as well as some insight from his direct competitors out on track they re not all fans!",
+ "rating" : 0,
+ "movieid" : 321,
+ "title" : "#Rookie93 Marc Marquez: Beyond the Smile",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Rookie (2013).mp4",
+ "lastplayed" : "",
+ "originaltitle" : "#Rookie93 Marc Marquez: Beyond the Smile",
+ "runtime" : 4920,
+ "playcount" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj5yqQJfMPOHuwl7prnhKZWJXv1t.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyeBdcxjMZ8v8mgkKiaha3c0ltE5.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj5yqQJfMPOHuwl7prnhKZWJXv1t.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "#Rookie93 Marc Marquez: Beyond the Smile",
+ "cast" : [
+ {
+ "role" : "Self",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4CgZhP2K4QQy9VIw6Ze0l5GMTi9.jpg/",
+ "name" : "Marc Marquez"
+ },
+ {
+ "order" : 2,
+ "role" : "Self",
+ "name" : "Jorgë Lorenzo"
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4fsTHXuPvXI9SXG5pgUwegsd7C4.jpg/",
+ "name" : "Valentino Rossi"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "Action Sports, MotoGP, Motorcycle, Racing"
+ },
+ {
+ "sorttitle" : "",
+ "imdbnumber" : "tt0443649",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx449jyGofRwbnkYgUnS9VLdPkmu.jpg/",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx449jyGofRwbnkYgUnS9VLdPkmu.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frnGR3EHkL4ryhQd50XBrtRrV8nq.jpg/"
+ },
+ "cast" : [
+ {
+ "name" : "Steven Strait",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5GAhJBBbZsDmxMXSOXahkJXceyt.jpg/",
+ "role" : "D'Leh",
+ "order" : 0
+ },
+ {
+ "name" : "Camilla Belle",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdbfyIG91T5ROjDKRjWN8FpMcTay.jpg/",
+ "order" : 1,
+ "role" : "Evolet"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdkSlTaKKe0uaKKAscVaSHlGq4g3.jpg/",
+ "name" : "Cliff Curtis",
+ "role" : "Tic-Tic",
+ "order" : 2
+ },
+ {
+ "name" : "Nathanael Baring",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxfXZOhnLq9u9Dev1r2akyXV9KvF.jpg/",
+ "role" : "Baku",
+ "order" : 3
+ },
+ {
+ "name" : "Mo Zinal",
+ "role" : "Ka’Ren",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnYYIFy3Rc6iEx8UdpwevSwYdwps.jpg/",
+ "name" : "Affif Ben Badra",
+ "role" : "Warlord",
+ "order" : 5
+ },
+ {
+ "name" : "Mona Hammond",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbcKUoLinghTX8OImePyNMGFUSfh.jpg/",
+ "order" : 6,
+ "role" : "Old Mother"
+ },
+ {
+ "name" : "Marco Khan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7ICgwwtohryQmWyLPsaJvrnorDi.jpg/",
+ "role" : "One-Eye",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7zUVjsbIxPkmBNf7DYXH1kR1QVy.jpg/",
+ "name" : "Reece Ritchie",
+ "order" : 8,
+ "role" : "Moha"
+ },
+ {
+ "order" : 9,
+ "role" : "Lu’Kibu",
+ "name" : "Joel Fry"
+ },
+ {
+ "name" : "Joel Virgel",
+ "role" : "Nakudu",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "Narrator (voice)",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhZTwgZnf1jyDt0vz0iHzsRsBtEY.jpg/",
+ "name" : "Omar Sharif"
+ },
+ {
+ "name" : "Kristian Beazley",
+ "order" : 12,
+ "role" : "D'Leh's Father"
+ },
+ {
+ "name" : "Junior Oliphant",
+ "role" : "Tudu",
+ "order" : 13
+ },
+ {
+ "order" : 14,
+ "role" : "Baku's Mother",
+ "name" : "Louise Tu'u"
+ },
+ {
+ "order" : 15,
+ "role" : "Young D'Leh",
+ "name" : "Jacob Renton"
+ },
+ {
+ "role" : "Young Evolet",
+ "order" : 16,
+ "name" : "Grayson Hunt Urwin"
+ },
+ {
+ "role" : "High Priest",
+ "order" : 17,
+ "name" : "Farouk Valley Omar"
+ },
+ {
+ "name" : "Boubacar Babiane",
+ "order" : 18,
+ "role" : "Quina"
+ }
+ ],
+ "studio" : [
+ "Centropolis Entertainment"
+ ],
+ "tagline" : "The legend. The battle. The first hero.",
+ "label" : "10,000 BC",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "427",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=xPTVv60hLjc",
+ "genre" : [
+ "Adventure",
+ "Action",
+ "Drama",
+ "Fantasy"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2008,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frnGR3EHkL4ryhQd50XBrtRrV8nq.jpg/",
+ "playcount" : 0,
+ "runtime" : 6540,
+ "originaltitle" : "10,000 BC",
+ "movieid" : 4,
+ "title" : "10,000 BC",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/10,000 BC (2008).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated PG-13",
+ "plot" : "A prehistoric epic that follows a young mammoth hunter's journey through uncharted territory to secure the future of his tribe.",
+ "rating" : 5.19999980926514,
+ "director" : [
+ "Roland Emmerich"
+ ],
+ "writer" : [
+ "Harald Kloser",
+ "Roland Emmerich"
+ ],
+ "country" : [
+ "United States of America"
+ ]
+ },
+ {
+ "studio" : [
+ "Paramount Pictures"
+ ],
+ "cast" : [
+ {
+ "name" : "Ben Affleck",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyXtyygmSGtrwTfEmr6g2WgHFJIZ.jpg/",
+ "role" : "Bartender",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkPNMpiZHsAzeQar4DiNsrekwHBU.jpg/",
+ "name" : "Casey Affleck",
+ "order" : 1,
+ "role" : "Tom"
+ },
+ {
+ "name" : "Dave Chappelle",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpSdXq3a0lxmwR8Rx7Kz6mXJ0JU7.jpg/",
+ "order" : 2,
+ "role" : "Disco Cabbie"
+ },
+ {
+ "name" : "Kate Hudson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftdytZnsqNwPxROx4vFrzsytqF4a.jpg/",
+ "order" : 3,
+ "role" : "Cindy"
+ },
+ {
+ "name" : "Janeane Garofalo",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjwZs05qdp8kh6IwfECxDyRrteK8.jpg/",
+ "role" : "Ellie",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Lucy",
+ "name" : "Courtney Love",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6AUeDL2aDErq4Kx33uIAP2KyHHi.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flLICNIywduxjo1KA3okgXxGqws3.jpg/",
+ "name" : "Jay Mohr",
+ "role" : "Jack",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Bridget",
+ "name" : "Nicole Ari Parker",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvvEt8sXPKm9HxxDrHyg9aIxwvEM.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7lU1kci6OZMwZk5Kxfnz0u8B5l5.jpg/",
+ "name" : "Martha Plimpton",
+ "role" : "Monica",
+ "order" : 8
+ },
+ {
+ "role" : "Val",
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxnDUz9IaLNIahbpUF46D5hGUrp9.jpg/",
+ "name" : "Christina Ricci"
+ },
+ {
+ "role" : "Kevin",
+ "order" : 10,
+ "name" : "Paul Rudd",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foUJyLVn3kCmQuFeug4SBIo7Tc02.jpg/"
+ }
+ ],
+ "tagline" : "It's 11:59 on New Years Eve... do you know where your date is?",
+ "label" : "200 Cigarettes",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt0137338",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsSUpikvhQJtKuFOPOrnZ8NAPUYz.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA9qdMQQ4vCANZfAJ7OgMoxP0ZUJ.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsSUpikvhQJtKuFOPOrnZ8NAPUYz.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 6060,
+ "originaltitle" : "200 Cigarettes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Cigarettes (2002).mp4",
+ "movieid" : 57,
+ "title" : "200 Cigarettes",
+ "lastplayed" : "",
+ "mpaa" : "Rated R",
+ "rating" : 6.30000019073486,
+ "plot" : "A collection of twentysomethings try to cope with relationships, loneliness, desire and their individual neuroses.",
+ "director" : [
+ "Risa Bramon Garcia"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Shana Larsen"
+ ],
+ "votes" : "19",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=-ieEszV3TAU",
+ "genre" : [
+ "Comedy",
+ "Drama",
+ "Romance"
+ ],
+ "top250" : 0,
+ "year" : 1999,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA9qdMQQ4vCANZfAJ7OgMoxP0ZUJ.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : ""
+ },
+ {
+ "studio" : [
+ "Studio Filmowe Kadr"
+ ],
+ "cast" : [
+ {
+ "role" : "Dominik",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqzl317BQRgu9gbZwMEdVecBTopb.jpg/",
+ "name" : "Jakub Gierszał"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9inB5HtIitt3DbYRTPpxhx2wfWY.jpg/",
+ "name" : "Roma Gąsiorowska",
+ "order" : 2,
+ "role" : "Sylwia"
+ },
+ {
+ "order" : 3,
+ "role" : "Beata",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvZnsas1ZRUmtwPcmbg4ElEtL5jb.jpg/",
+ "name" : "Agata Kulesza"
+ },
+ {
+ "name" : "Bartosz Gelner",
+ "order" : 4,
+ "role" : "Aleksander"
+ },
+ {
+ "name" : "Danuta Borsuk",
+ "role" : "Nadia",
+ "order" : 5
+ },
+ {
+ "role" : "Jacek",
+ "order" : 6,
+ "name" : "Piotr Nowak"
+ },
+ {
+ "role" : "Marcin",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu1AhOP4n3CZZPoA1hKZtfTwxon9.jpg/",
+ "name" : "Filip Bobek"
+ },
+ {
+ "order" : 8,
+ "role" : "Pan Minister",
+ "name" : "Krzysztof Dracz"
+ },
+ {
+ "name" : "Aleksandra Hamkało",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg0fJUSzDloknQ70iyJm606QQEKu.jpg/",
+ "role" : "Karolina",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "Andrzej",
+ "name" : "Krzysztof Pieczyński",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9kZ3mwDkaOqjNlF9KPkvAXfDHSJ.jpg/"
+ }
+ ],
+ "tagline" : "Where fantasy and reality meet.",
+ "label" : "@Suicide Room",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt1808454",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg5AkLWjbxDeYgzxLwlAu0S9sgXy.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg5AkLWjbxDeYgzxLwlAu0S9sgXy.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc3a06noB0shFyLmajyB62oGftiV.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 6600,
+ "originaltitle" : "Sala samobójców",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Suicida (2011).mp4",
+ "title" : "@Suicide Room",
+ "movieid" : 269,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 7.30000019073486,
+ "plot" : "Dominik is an ordinary boy. He's got loads of friends, the hottest girl in school, rich parents and money to spend on brand-name clothes. But one innocent kiss with a mate changes everything. He begins to isolate himself from the outside world, spending all his time on his computer. He meets an anonymous girl who introduces him to the \"suicide room\", a place from which there is no escape. Caught in a trap woven of his own emotions, Dominik becomes entangled in a web of intrigue and gradually loses what he cherishes most.",
+ "director" : [
+ "Jan Komasa"
+ ],
+ "country" : [
+ "Poland"
+ ],
+ "writer" : [
+ "Jan Komasa"
+ ],
+ "votes" : "27",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=ZHPFRqCcJgI",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc3a06noB0shFyLmajyB62oGftiV.jpg/",
+ "year" : 2011,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : ""
+ },
+ {
+ "sorttitle" : "",
+ "imdbnumber" : "tt0043322",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzr6NfWSiF4ICnr7DRZG1CocBoeM.jpg/",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdT4zaGYmh7zszM0W1anSzb0Ogz0.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzr6NfWSiF4ICnr7DRZG1CocBoeM.jpg/"
+ },
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Ma Bear",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6f1t3NT7k31yMlKP41HHa1WgDXm.jpg/",
+ "name" : "Bea Benaderet"
+ },
+ {
+ "name" : "Billy Bletcher",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foSVlEOCgrHdYl7OifMxDffIUhHC.jpg/",
+ "order" : 1,
+ "role" : "Pa Bear"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcV3AZiwx7FMBjApPh2oJkrqFKVY.jpg/",
+ "name" : "Stan Freberg",
+ "order" : 2,
+ "role" : "Junyer Bear"
+ }
+ ],
+ "studio" : [
+ "Warner Bros."
+ ],
+ "tagline" : "",
+ "label" : "A Bear for Punishment",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "2",
+ "trailer" : "",
+ "genre" : [
+ "Animation"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdT4zaGYmh7zszM0W1anSzb0Ogz0.jpg/",
+ "year" : 1951,
+ "playcount" : 0,
+ "runtime" : 420,
+ "originaltitle" : "A Bear for Punishment",
+ "title" : "A Bear for Punishment",
+ "movieid" : 5,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Bear for Punishment (1951).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "Junyer Bear has a number of surprises for Good Ol' Pa on Good Ol' Father's Day, whether he wants them or not.",
+ "rating" : 6.30000019073486,
+ "director" : [
+ "Chuck Jones"
+ ],
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ]
+ },
+ {
+ "votes" : "5",
+ "trailer" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsxeYP1Gld8Jw8Lcyss0FAAp2xSQ.jpg/",
+ "year" : 2015,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "A cambio de nada",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/De Nada (2016).mp4",
+ "title" : "A cambio de nada",
+ "movieid" : 71,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 6.59999990463257,
+ "plot" : "One summer, Dario flees the hellish environment of your home. Luismi, unconditional friend, a poor devil with pretensions of winning, and Antonia, an old woman who collects abandoned his motorcar furniture, become your new family. Three generations living together in a city too big to be alone.",
+ "director" : [
+ "Daniel Guzmán"
+ ],
+ "country" : [
+ "Spain"
+ ],
+ "writer" : [
+ "Daniel Guzmán"
+ ],
+ "imdbnumber" : "tt3211400",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1s9IoU9dVprwP6CCEPTYhXeRcx2.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsxeYP1Gld8Jw8Lcyss0FAAp2xSQ.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1s9IoU9dVprwP6CCEPTYhXeRcx2.jpg/"
+ },
+ "studio" : [
+ "Ulula Films"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftRNvw26QeN80JwWHoamk262hjjq.jpg/",
+ "name" : "Luis Tosar",
+ "order" : 1,
+ "role" : "Padre"
+ },
+ {
+ "name" : "Miguel Rellán",
+ "order" : 2,
+ "role" : ""
+ },
+ {
+ "name" : "Felipe Vélez",
+ "order" : 3,
+ "role" : "Caralimpia"
+ },
+ {
+ "order" : 4,
+ "role" : "Luismi",
+ "name" : "Antonio Bachiller"
+ },
+ {
+ "name" : "Miguel Herrán",
+ "role" : "Darío",
+ "order" : 5
+ },
+ {
+ "role" : "Antonia",
+ "order" : 6,
+ "name" : "Antonia Guzmán"
+ },
+ {
+ "role" : "",
+ "order" : 7,
+ "name" : "Fernando Albizu",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuJlQUHaLj7zLtAv0gMZa7SrYzMg.jpg/"
+ }
+ ],
+ "tagline" : "",
+ "label" : "A cambio de nada",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "A Christmas Visitor",
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "William Devane",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxETR7SMsY8qdIR0AsOV8FHyVLb9.jpg/",
+ "role" : "George Boyajian",
+ "order" : 0
+ },
+ {
+ "role" : "Carol Boyajian",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftkX4o5lfV5kS70S5Sy3zOsgKOpx.jpg/",
+ "name" : "Meredith Baxter"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbk3qrCTtDMGd3KXtOrUXyQ26EyA.jpg/",
+ "name" : "Dean McDermott",
+ "role" : "Matthew",
+ "order" : 2
+ },
+ {
+ "role" : "Jean Boyajian",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkCLgNpiV8UOdHiaLMGEy4XzCbv8.jpg/",
+ "name" : "Reagan Pasternak"
+ },
+ {
+ "role" : "John Boyajian",
+ "order" : 4,
+ "name" : "Aaron Ashmore",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f347721.jpg/"
+ }
+ ],
+ "studio" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAgb21STIdJcCyKI9GWQ5RpEFeKM.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3NqhhWUiB273Qdfot912JRyxMDW.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3NqhhWUiB273Qdfot912JRyxMDW.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0343531",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Christopher Leitch"
+ ],
+ "plot" : "A father struggles with the past. A daughter fights for the future. A mother searches for answers. The Boyajians have not celebrated Christmas in 11 years. They lost their faith when they lost their son to the Persian Gulf War. Now a stranger has joined them - around the same age the boy would have been.",
+ "rating" : 3.29999995231628,
+ "mpaa" : "Rated PG-13",
+ "lastplayed" : "",
+ "movieid" : 6,
+ "title" : "A Christmas Visitor",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Christmas Visitor (2002).mp4",
+ "runtime" : 6000,
+ "originaltitle" : "A Christmas Visitor",
+ "playcount" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAgb21STIdJcCyKI9GWQ5RpEFeKM.jpg/",
+ "year" : 2002,
+ "top250" : 0,
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "2"
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Fishy Story (1962).mp4",
+ "movieid" : 7,
+ "title" : "A Fishy Story",
+ "playcount" : 0,
+ "runtime" : 5940,
+ "originaltitle" : "不脫襪的人",
+ "country" : [
+ "Hong Kong"
+ ],
+ "writer" : [
+ "Anthony Chan"
+ ],
+ "director" : [
+ "Anthony Chan"
+ ],
+ "rating" : 6,
+ "plot" : "An aspiring starlet arrives in the Fragrant Harbor with dreams of becoming a star, whilst striking up a friendship with a wannabe cabbie who lives in the same apartment building.",
+ "mpaa" : "",
+ "trailer" : "",
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmDxu2H5BU9gQOL2DCEVFKztNOJ3.jpg/",
+ "year" : 1989,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Drama",
+ "Comedy"
+ ],
+ "label" : "A Fishy Story",
+ "tagline" : "",
+ "studio" : [
+ "Golden Harvest Company"
+ ],
+ "cast" : [
+ {
+ "role" : "Mr Kung",
+ "order" : 0,
+ "name" : "Kenny Bee"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqDkqRF3SwuopbT2bw6B4amEwQzO.jpg/",
+ "name" : "Maggie Cheung",
+ "role" : "Ms Huang",
+ "order" : 1
+ },
+ {
+ "name" : "Anthony Chan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsIIZmZbtEEeJsgUFB4mUvY6iMGT.jpg/",
+ "order" : 2,
+ "role" : "Paul Chow"
+ },
+ {
+ "role" : "Mrs. Ku",
+ "order" : 3,
+ "name" : "Josephine Koo",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxsfXJ0hOVkZYzQCbCsLHeDwVgKi.jpg/"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Season Ma"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvNJiEM3ay8Gn4S3T85Nkb1i9Tks.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt0096989",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvNJiEM3ay8Gn4S3T85Nkb1i9Tks.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmDxu2H5BU9gQOL2DCEVFKztNOJ3.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {},
+ "sorttitle" : "",
+ "imdbnumber" : "tt0038562",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5jAYVo3dk9xCd0IT5BWW3ZMGTL6.jpg/",
+ "name" : "Hugh Williams"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f35eNsmdKCMPYPnJ2xQHNGSd0dlv.jpg/",
+ "name" : "Joan Greenwood",
+ "order" : 2,
+ "role" : ""
+ },
+ {
+ "name" : "Basil Radford",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9STo7Tgdutplo78ZtyeINGWkXUk.jpg/",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "name" : "Naunton Wayne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiVN6oY2fQCUmGAFtBs4JF4vwYUE.jpg/",
+ "role" : "",
+ "order" : 4
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "A Girl in a Million",
+ "genre" : [],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 1946,
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "A man gets divorced from a nagging wife meets a girl in a million. Or is she?",
+ "rating" : 0,
+ "director" : [
+ "Francis Searle"
+ ],
+ "writer" : [
+ "Muriel Box",
+ "Sydney Box"
+ ],
+ "country" : [],
+ "runtime" : 5400,
+ "originaltitle" : "A Girl in a Million",
+ "playcount" : 0,
+ "movieid" : 8,
+ "title" : "A Girl in a Million",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Girl in a Million (1946).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {},
+ "imdbnumber" : "tt0290233",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [],
+ "label" : "A Light in the Darkness",
+ "genre" : [],
+ "year" : 2002,
+ "thumbnail" : "",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "Joseph just broke up with his girlfriend and is not taking it very well. He thinks she is plotting against him with their mutual psychiatrist.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [],
+ "director" : [],
+ "runtime" : 6000,
+ "originaltitle" : "A Light in the Darkness",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Light in Darkness (1917).mp4",
+ "title" : "A Light in the Darkness",
+ "movieid" : 307
+ },
+ {
+ "playcount" : 0,
+ "runtime" : 5280,
+ "originaltitle" : "A Place Called Home",
+ "movieid" : 9,
+ "title" : "A Place Called Home",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Place Called Home (2015).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "The story of Southern Belle, Tula, who is living her older years in huge, yet crumbling, country house. Wary of visitors, her routine is shaken by two con-artists, Hank Ford and his daughter Cali, who are eying up Tula as their next victim.",
+ "rating" : 1,
+ "director" : [
+ "Michael Tuchner"
+ ],
+ "writer" : [
+ "Frank Q. Dobbs"
+ ],
+ "country" : [],
+ "votes" : "2",
+ "trailer" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9UNtWWUS7CyRgr6NKnjtbZovBgK.jpg/",
+ "year" : 2004,
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjx5lTaJ5VXZHYB52gaOTAZ9STZk.jpg/",
+ "name" : "Ann-Margret",
+ "order" : 1,
+ "role" : "Tula Jeeters"
+ },
+ {
+ "order" : 2,
+ "role" : "California \"Cali\" Ford",
+ "name" : "Shailene Woodley",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjWB4lpRQRJSey3uJ8zUuimaKF5V.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fneODd3vTVEb7TXOWEZC44ZZu1yk.jpg/",
+ "name" : "Matthew Settle",
+ "role" : "Hank Ford",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Billie Jeeters",
+ "name" : "Hunter Tylo",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcyd1KXtKhWpGFKUJoNQ0J08l637.jpg/"
+ },
+ {
+ "name" : "Gary Sandy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdLrj1XXmnrktE7vnP7z6hqXYb0K.jpg/",
+ "role" : "Doctor Douglas \"Doc\" Hamilton",
+ "order" : 5
+ },
+ {
+ "role" : "Jan Kyles",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvbioq8DVk5AUj4RsckFRbtYfCoP.jpg/",
+ "name" : "Rebecca McFarland"
+ },
+ {
+ "role" : "Sherrif",
+ "order" : 7,
+ "name" : "Christopher Murray",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5yTwriS5a7Tg2xiMT8B2kMYrIkY.jpg/"
+ },
+ {
+ "name" : "Marc Nasse",
+ "role" : "Juke Box Player",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "Dave",
+ "name" : "Sean O'Bryan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdoVNkZLo1aqfRVfUymkjuTpyUYa.jpg/"
+ },
+ {
+ "order" : 10,
+ "role" : "Mirabelle",
+ "name" : "Suzanne Voss"
+ }
+ ],
+ "studio" : [
+ "Larry Levinson Productions"
+ ],
+ "tagline" : "",
+ "label" : "A Place Called Home",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0375139",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9UNtWWUS7CyRgr6NKnjtbZovBgK.jpg/"
+ }
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Lenka Fiserová",
+ "order" : 1,
+ "role" : ""
+ }
+ ],
+ "studio" : [],
+ "label" : "A Prayer for Katerina Horovitzova",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftuftGbhE3OaiwCtiU8qOdKxpT7e.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0486139",
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "plot" : "A group of wealthy American Jewish businessmen have been captured by the SS and are told that they are to be traded to the American army for several SS officers. However, these hostages are being required to pay bribes for their \"transportation costs.\" In order to ensure that the businessmen will be more cooperative in paying up, a beautiful female singer is placed in their midst as a bargaining chip. The group of hostages are then placed on a train which is supposed to take them to the ship that will deliver them to freedom, but a series of \"mishaps\" delays their escape.",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [
+ "Arnost Lustig"
+ ],
+ "country" : [],
+ "director" : [
+ "Arnost Lustig",
+ "Antonín Moskalyk"
+ ],
+ "originaltitle" : "Modlitba pro Katerinu Horovitzovou",
+ "runtime" : 4020,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "movieid" : 194,
+ "title" : "A Prayer for Katerina Horovitzova",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Modlitba (2010).mp4",
+ "genre" : [
+ "Drama"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1965,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftuftGbhE3OaiwCtiU8qOdKxpT7e.jpg/",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=rypgr2443Os",
+ "votes" : "0",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flqIQIUwOWXPSfd0lywKqiOQaGTL.jpg/",
+ "year" : 2011,
+ "genre" : [
+ "Horror"
+ ],
+ "movieid" : 12,
+ "title" : "A Way Out",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Way Out (2013).mp4",
+ "lastplayed" : "",
+ "runtime" : 4260,
+ "playcount" : 0,
+ "originaltitle" : "A Way Out",
+ "director" : [
+ "Nicholas Holland"
+ ],
+ "writer" : [
+ "Nicholas Holland"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "mpaa" : "Rated NR",
+ "plot" : "The government has quarantined a small town where either a disease similar to rabies has appeared in the local human population or where (what seems impossible) the dead are beginning to come back to life and attack the living. Having missed most of the evacuation while barricaded inside of an old house, Ben, his younger sister Erin, and their friends remain trapped within the quarantine zone. Hell-bent on getting his sister to safety at all costs, Ben must lead the group across a ravaged city filled with flesh craving zombies in search of a working radio to contact the military and ensure them a ride on the last evacuation helicopter out of the quarantine zone. But with pre-existing personal tensions in the group and an entire city of zombies driven by hunger to find and kill anyone they come across, the odds are stacked against them.",
+ "rating" : 0,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4NOfl8llbnYZDUAeGsG59PGc8on.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt2111254",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4NOfl8llbnYZDUAeGsG59PGc8on.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flqIQIUwOWXPSfd0lywKqiOQaGTL.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "A Way Out",
+ "cast" : [
+ {
+ "name" : "Chelsea Rauss",
+ "role" : "Erin",
+ "order" : 0
+ },
+ {
+ "name" : "Nicholas Holland",
+ "role" : "Ben",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Davy",
+ "name" : "Colin Wilson"
+ },
+ {
+ "role" : "Brian",
+ "order" : 3,
+ "name" : "Devin Wilson"
+ },
+ {
+ "name" : "Jeremy Darby",
+ "order" : 4,
+ "role" : "Dan"
+ },
+ {
+ "name" : "Chris Friday",
+ "role" : "Tim",
+ "order" : 5
+ },
+ {
+ "role" : "Adam",
+ "order" : 6,
+ "name" : "Tyler Priest"
+ },
+ {
+ "role" : "Drake",
+ "order" : 7,
+ "name" : "Robert Ritzenthaler"
+ },
+ {
+ "name" : "Andy Price",
+ "role" : "Military Radio Operator",
+ "order" : 8
+ },
+ {
+ "role" : "Conspiracy Theorist",
+ "order" : 9,
+ "name" : "Greg Wilson"
+ },
+ {
+ "order" : 10,
+ "role" : "CDC Correspondent",
+ "name" : "Shawn Benscoter"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "Pray they find one.",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "label" : "A Wringing Good Joke",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0243669",
+ "art" : {},
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "movieid" : 13,
+ "title" : "A Wringing Good Joke",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Wringing Good Joke (1903).mp4",
+ "lastplayed" : "",
+ "runtime" : 60,
+ "originaltitle" : "A Wringing Good Joke",
+ "playcount" : 0,
+ "director" : [
+ "James H. White"
+ ],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "Rated",
+ "plot" : "No Overview",
+ "rating" : 0,
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "",
+ "year" : 1899,
+ "genre" : []
+ },
+ {
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "narrator",
+ "order" : 0,
+ "name" : "Faye Hadley"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Abandoned?",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt3103978",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpD5c4LiUtsg5RwcrMpRK0Y9V8fn.jpg/"
+ },
+ "runtime" : 3900,
+ "originaltitle" : "¿Abandonado?",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Abandoned (2013).mp4",
+ "movieid" : 14,
+ "title" : "Abandoned?",
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "The beauty and transformation of abandoned places in Europe.",
+ "director" : [
+ "Geppe Monrós"
+ ],
+ "country" : [
+ "Spain"
+ ],
+ "writer" : [],
+ "votes" : "0",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=8AvyKdu22C4",
+ "genre" : [
+ "Documentary"
+ ],
+ "top250" : 0,
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpD5c4LiUtsg5RwcrMpRK0Y9V8fn.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38"
+ },
+ {
+ "year" : 2012,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft792ZWI4DDuosJwMiOk4BGute5u.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=E-u83T8g_Lk",
+ "votes" : "0",
+ "country" : [
+ "Japan"
+ ],
+ "writer" : [
+ "Keiichi Kobayashi"
+ ],
+ "director" : [
+ "Keiichi Kobayashi"
+ ],
+ "rating" : 0,
+ "plot" : "High school student Izumi Kawashima, whose daily routine is rating newspaper articles, finds a wallet containing a large sum of cash. Instead of returning the wallet to its owner, Izumi decides to lend a substantial portion of the money to a middle-aged male acquaintance. She eventually returns the wallet to its owner, a wealthy high-school boy named Koki, who notices the missing money, and as compensation, asks Izumi to do something for his friend - to create a newspaper that brings happiness to its reader.",
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Momoiro sora o (2011).mp4",
+ "title" : "About The Pink Sky",
+ "movieid" : 195,
+ "playcount" : 0,
+ "runtime" : 6780,
+ "originaltitle" : "Momoiro sora o",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft792ZWI4DDuosJwMiOk4BGute5u.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt1890472",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "About The Pink Sky",
+ "tagline" : "",
+ "studio" : [
+ "Michaelgion"
+ ],
+ "cast" : [
+ {
+ "name" : "Ai Ikeda",
+ "order" : 0,
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Ena Koshino"
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Tsubasa Takayama"
+ },
+ {
+ "name" : "Kyôko Narumi",
+ "order" : 4,
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm4kN36xdpdDWC4JvONNtLmYHLyt.jpg/",
+ "name" : "Reiko Fujiwara",
+ "order" : 5,
+ "role" : ""
+ }
+ ]
+ },
+ {
+ "imdbnumber" : "tt0129733",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9JKbpYPx1wjg65NvfLDRnhG43fw.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Martin E. Johnson",
+ "role" : "Himself - Narrator",
+ "order" : 1
+ },
+ {
+ "role" : "Herself",
+ "order" : 2,
+ "name" : "Osa Johnson"
+ },
+ {
+ "role" : "Himself - Eagle Scout",
+ "order" : 3,
+ "name" : "Dick Douglas"
+ },
+ {
+ "order" : 4,
+ "role" : "Himself - Eagle Scout",
+ "name" : "Doug Oliver"
+ },
+ {
+ "role" : "Himself - Eagle Scout",
+ "order" : 5,
+ "name" : "Dave Martin"
+ },
+ {
+ "name" : "Bakhari",
+ "role" : "Himself - Headman",
+ "order" : 6
+ },
+ {
+ "role" : "Himself",
+ "order" : 7,
+ "name" : "George Eastman"
+ },
+ {
+ "order" : 8,
+ "role" : "Himself",
+ "name" : "Al Kaiser"
+ },
+ {
+ "name" : "Kusuma",
+ "order" : 9,
+ "role" : "Himself - Bearer"
+ },
+ {
+ "name" : "Mohammed",
+ "role" : "Himself - Bearer",
+ "order" : 10
+ },
+ {
+ "name" : "Ossain",
+ "order" : 11,
+ "role" : "Himself - Bearer"
+ }
+ ],
+ "label" : "Across the World with Mr. and Mrs. Johnson",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "year" : 1930,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9JKbpYPx1wjg65NvfLDRnhG43fw.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "originaltitle" : "Across the World with Mr. and Mrs. Johnson",
+ "runtime" : 0,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Across the World with Mr. and Mrs. Johnson (1930).mp4",
+ "title" : "Across the World with Mr. and Mrs. Johnson",
+ "movieid" : 15,
+ "rating" : 0,
+ "plot" : "As if they were showing their film to a few friends in their home, the Johnsons describe their trip across the world, which begins in the South Pacific islands of Hawaii, Samoa, Australia, the Solomons (where they seek and find cannibals), and New Hebrides. Thence on to Africa via the Indian Ocean, Suez Canal, North Africa, and the Nile River to lion country in Tanganyika. (They are briefly joined in Khartum by George Eastman and Dr. Al Kayser.) Taking a safari in the Congo, the Johnsons see animals and pygmies, and travel back to Uganda, British East Africa, and Kenya.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "James Leo Meehan"
+ ]
+ },
+ {
+ "rating" : 7.5,
+ "plot" : "Multiple Grammy Award-winning singer Adele performs a special one-night only concert in New York at Radio City Music Hall. This extraordinary performance marks the artist's first concert in the U.S. since fall 2011 and her largest show to date in New York. Adele recently released her highly anticipated new album, 25. The album's first single, \"Hello,\" shot to the top of charts around the globe upon release on October 23. The video for \"Hello\" was also released on October 23 and amassed over 146 million views in just one week. \"Adele Live in New York City\" is executive produced by Lorne Michaels, Adele and Jonathan Dickins, and directed by Beth McCarthy-Miller.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Beth McCarthy-Miller"
+ ],
+ "runtime" : 3600,
+ "originaltitle" : "Adele Live in New York City",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/New York City (2015).mp4",
+ "title" : "Adele Live in New York City",
+ "movieid" : 204,
+ "genre" : [
+ "Music",
+ "TV Movie"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgVuQqVFkPQeFrcOR9zGbUKyn6yN.jpg/",
+ "year" : 2015,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "3",
+ "trailer" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Adele",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faHkbqkh7IIZJ79P9EOO9czxirbv.jpg/",
+ "role" : "Herself",
+ "order" : 1
+ }
+ ],
+ "label" : "Adele Live in New York City",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwlrvjI9ac01f1toWpBchdnqjQAe.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgVuQqVFkPQeFrcOR9zGbUKyn6yN.jpg/"
+ },
+ "imdbnumber" : "tt5164686",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwlrvjI9ac01f1toWpBchdnqjQAe.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Fong",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs4mAADauw7YhnB7KpeNIDf7Yyl4.jpg/",
+ "name" : "Polly Kuan"
+ },
+ {
+ "role" : "Chang Shang-Feng",
+ "order" : 2,
+ "name" : "Feng Shih"
+ },
+ {
+ "order" : 3,
+ "role" : "Baron To Ka-Kan",
+ "name" : "Cliff Ching Ching"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foAJiyuuNEp3R8gXCR7rIF7Qdn4B.jpg/",
+ "name" : "Tung Li",
+ "role" : "Brother Lee",
+ "order" : 4
+ },
+ {
+ "name" : "Tien Feng",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft2EvlAPRt9DcFdzbq8dGasbUFHs.jpg/",
+ "order" : 5,
+ "role" : "Innkeeper"
+ },
+ {
+ "role" : "Na Long",
+ "order" : 6,
+ "name" : "Kuan-Hsiung Wang"
+ }
+ ],
+ "studio" : [],
+ "label" : "Adventure of Shaolin",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd95IcOwZ5zB3IqVeLfQYOgK1HUH.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0164324",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "plot" : "Shaolin and Wu Tang join forces to combat the evil White-Haired Priest using the five elements of kung fu. From this emerges what will become the style known as Tai Chi Chuan from its founder, Chang Shen Fong. See real training, such as the hall of wooden men. Witness the united strength of the Shaolin Monks as they help Chang Shen Fong against White-Haired Priest. See the Three Snake Fists, Black Palm Poison, and other styles for the first time! Jewels from the Wu.",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [],
+ "country" : [
+ "Taiwan"
+ ],
+ "director" : [
+ "Wu Min-hsiung"
+ ],
+ "runtime" : 5640,
+ "playcount" : 0,
+ "originaltitle" : "Zhang San Feng du chuang Shao Lin",
+ "lastplayed" : "",
+ "movieid" : 243,
+ "title" : "Adventure of Shaolin",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/San chuang Shao Lin (1983).mp4",
+ "genre" : [
+ "Action"
+ ],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd95IcOwZ5zB3IqVeLfQYOgK1HUH.jpg/",
+ "year" : 1976,
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Pokhozhdeniya Oktyabriny (1924).mp4",
+ "movieid" : 225,
+ "title" : "The Adventures of an Octoberite",
+ "lastplayed" : "",
+ "runtime" : 0,
+ "originaltitle" : "Pokhozhdeniya Oktyabriny",
+ "playcount" : 0,
+ "director" : [
+ "Grigori Kozintsev",
+ "Leonid Trauberg"
+ ],
+ "country" : [
+ "Russia"
+ ],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Satire of the bourgeoisie and the West, anti-religious propaganda, agitation for a new lifestye, sees a young female revolutionary in a military helmet and miniskirt, ride a motorcycle through St. Petersburg",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "",
+ "year" : 1924,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [],
+ "label" : "The Adventures of an Octoberite",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0015240",
+ "sorttitle" : "",
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Adventures of Omanakuttan",
+ "tagline" : "",
+ "studio" : [
+ "Shows369"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "Asif Ali",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuvoOxS6xLtjKLvd8VZ55oEXkPhY.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Bhavana",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5x5KcBlgmGZrJ645Mlcl8Hr3t6b.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkZkNHsUoKonA7nQNhXQKTmRg98B.jpg/",
+ "name" : "Aju Varghese"
+ }
+ ],
+ "year" : 2015,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Thriller",
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [
+ "India"
+ ],
+ "writer" : [
+ "Sameer Abdul",
+ "Sameer Abdul"
+ ],
+ "director" : [
+ "Rohith V S"
+ ],
+ "rating" : 0,
+ "plot" : "Adventures of Omanakuttan is 2015 comedy thriller Malayalam film directed by Rohith VS and Written by Sameer Abdul.",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Oma (2015).mp4",
+ "movieid" : 212,
+ "title" : "Adventures of Omanakuttan",
+ "runtime" : 8940,
+ "originaltitle" : "Adventures of Omanakuttan",
+ "playcount" : 0
+ },
+ {
+ "runtime" : 3600,
+ "originaltitle" : "The After",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The After (2014).mp4",
+ "movieid" : 278,
+ "title" : "The After",
+ "rating" : 6.19999980926514,
+ "plot" : "Eight strangers are thrown together by mysterious forces and must help each other survive in a violent world that defies explanation.",
+ "mpaa" : "Rated",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Chris Carter"
+ ],
+ "director" : [
+ "Chris Carter"
+ ],
+ "votes" : "10",
+ "trailer" : "",
+ "genre" : [
+ "Mystery",
+ "Drama",
+ "Fantasy"
+ ],
+ "year" : 2014,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffikGiVxGOpO3iAzAVcyE5aWCtM0.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "tagline" : "",
+ "studio" : [
+ "Amazon Studios"
+ ],
+ "cast" : [
+ {
+ "role" : "D. Love",
+ "order" : 1,
+ "name" : "Aldis Hodge",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn5XzyKltq27Y555fZOEC7KZ6l60.jpg/"
+ },
+ {
+ "name" : "Andrew Howard",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqXEWZDXQRX7UsGlJzKO9dLoCLhq.jpg/",
+ "role" : "McCormick",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Tammy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff5mvkSgmvEHNfe25XLxN2sb923I.jpg/",
+ "name" : "Arielle Kebbel"
+ },
+ {
+ "name" : "Jamie Kennedy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fe4f2GSeSjrg9kJ0LQtJCnV1n6vp.jpg/",
+ "role" : "David",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Francis",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyQFQzEs8ecQldq9vQlEadnTPJBl.jpg/",
+ "name" : "Sharon Lawrence"
+ },
+ {
+ "name" : "Sam Littlefield",
+ "order" : 6,
+ "role" : "Dark Shadow"
+ },
+ {
+ "role" : "Gigi Generau",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu0RFwvaNeGUuNpJOhfy3hGgiIUu.jpg/",
+ "name" : "Louise Monot"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqzhTA3XWagiLgBpIcVSfW88YOpT.jpg/",
+ "name" : "Jaina Lee Ortiz",
+ "role" : "Marly",
+ "order" : 8
+ },
+ {
+ "name" : "Adrian Pasdar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyNqnfWmzlDC5qB5Ll6PgK2JfGIi.jpg/",
+ "role" : "Wade",
+ "order" : 9
+ },
+ {
+ "role" : "Gigi's Husband",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frJx9FAIMOtaOiqTtlaGLVTxn8Y2.jpg/",
+ "name" : "Jason Lewis"
+ }
+ ],
+ "label" : "The After",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "imdbnumber" : "tt3145422",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4yQz4DDu7L7khRZZlVXLeJRZJ2I.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffikGiVxGOpO3iAzAVcyE5aWCtM0.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4yQz4DDu7L7khRZZlVXLeJRZJ2I.jpg/"
+ }
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Aftermath: A Test of Love (1991).mp4",
+ "title" : "Aftermath: A Test of Love",
+ "movieid" : 17,
+ "lastplayed" : "",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Aftermath: A Test of Love",
+ "director" : [],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Based on a true story, an adoring wife and mother is taken hostage during a robbery and brutally murdered.",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "year" : 1991,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [],
+ "label" : "Aftermath: A Test of Love",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0101277",
+ "sorttitle" : "",
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdukXt2OCr1B1rjbJetfQ2DjVdbW.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgjHtKk1k1p25YeVWscXf6ZY9wrc.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0081991",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdukXt2OCr1B1rjbJetfQ2DjVdbW.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Aleksey Petrenko",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fudCDVKS5vikElpY7AIG0uPjFqBq.jpg/",
+ "order" : 0,
+ "role" : "Rasputin"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv5nBE5S2p8VtbOOTIlTy2xcDXLO.jpg/",
+ "name" : "Anatoli Romashin",
+ "order" : 1,
+ "role" : "Nicholas II"
+ },
+ {
+ "order" : 2,
+ "role" : "Manasevich-Manuilov",
+ "name" : "Leonid Bronevoy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl4ulzUc4gyOyQrSlVdTeh5gwNL8.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "Vyrubova",
+ "name" : "Alisa Freyndlikh",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fotq1P1wYlKvtHkd8ONXgtOLswk3.jpg/"
+ },
+ {
+ "order" : 4,
+ "role" : "Purishkevich",
+ "name" : "Yuri Katin-Yartsev",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faGhUBkXgBC5BSLPiugXNROEze03.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc898Io3ejXoUcZSzs5KCF0zq5DE.jpg/",
+ "name" : "Mikhail Svetin",
+ "role" : "Terekhov",
+ "order" : 5
+ },
+ {
+ "role" : "Aleksandra Fyodorovna",
+ "order" : 6,
+ "name" : "Velta Line"
+ }
+ ],
+ "studio" : [
+ "Mosfilm"
+ ],
+ "label" : "Agony: The Life and Death of Rasputin",
+ "genre" : [
+ "Drama"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1975,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgjHtKk1k1p25YeVWscXf6ZY9wrc.jpg/",
+ "top250" : 0,
+ "votes" : "3",
+ "trailer" : "",
+ "plot" : "Details the life of the Russian monk Rasputin. The film shows his rise to power and how it corrupted him. His sexual perversions and madness ultimatly leads to his gruesome assasination.",
+ "rating" : 6,
+ "mpaa" : "Rated",
+ "writer" : [
+ "Semyon Lungin",
+ "Ilya Nusinov"
+ ],
+ "country" : [
+ "Russia"
+ ],
+ "director" : [
+ "Elem Klimov"
+ ],
+ "playcount" : 0,
+ "runtime" : 9060,
+ "originaltitle" : "Агония",
+ "lastplayed" : "",
+ "title" : "Agony: The Life and Death of Rasputin",
+ "movieid" : 18,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Agoniya (1975).mp4"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "All About the Feathers",
+ "tagline" : "",
+ "cast" : [
+ {
+ "role" : "Jasón",
+ "order" : 0,
+ "name" : "Marvin Acosta"
+ },
+ {
+ "name" : "Allan Cascante",
+ "order" : 1,
+ "role" : "Chalo"
+ },
+ {
+ "role" : "Candy",
+ "order" : 2,
+ "name" : "Sylvia Sossa"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Erlan Vásquez"
+ }
+ ],
+ "studio" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpilwn1lLg9fnKws5FKUbAVEI126.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxuXM6B7Hx2aIh1e93GU7iX4hD2l.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpilwn1lLg9fnKws5FKUbAVEI126.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt3142224",
+ "writer" : [
+ "Neto Villalobos"
+ ],
+ "country" : [
+ "Costa Rica"
+ ],
+ "director" : [
+ "Neto Villalobos"
+ ],
+ "plot" : "A black comedy about Chalo, a lone security guard who acquires his first gamecock and discovers the bittersweet taste of friendship.",
+ "rating" : 6,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "movieid" : 223,
+ "title" : "All About the Feathers",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Plum (2013).mp4",
+ "playcount" : 0,
+ "runtime" : 5100,
+ "originaltitle" : "Por las plumas",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxuXM6B7Hx2aIh1e93GU7iX4hD2l.jpg/",
+ "year" : 2013,
+ "top250" : 0,
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "1"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Along the Way",
+ "studio" : [
+ "Dreadnought Films"
+ ],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Warren",
+ "name" : "Michael Cade",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9HUPaC63jvn5my2R08RAl8s0Oen.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Trever McCaffery",
+ "name" : "Briel DiCristofaro"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpkSk4U3P9dkyxlmlg2csR6OxmX8.jpg/",
+ "name" : "Andrew Bowen",
+ "role" : "Jocko",
+ "order" : 3
+ },
+ {
+ "name" : "John McLoughlin",
+ "role" : "Christian",
+ "order" : 4
+ },
+ {
+ "role" : "Michael McCaffery",
+ "order" : 5,
+ "name" : "Timothy Bottoms",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpTw7LySB4jJv9PfJfx3Hjj9GKQw.jpg/"
+ },
+ {
+ "role" : "J.T.",
+ "order" : 6,
+ "name" : "Jared Murphy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwaLqlHPegD7GgbnCVfLk3K4rDuA.jpg/",
+ "name" : "William Morgan Sheppard",
+ "order" : 7,
+ "role" : "Mr. Hereck"
+ },
+ {
+ "name" : "Corbin Timbrook",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbDREyewk5uckIgMjYSL0QIYgPuU.jpg/",
+ "order" : 8,
+ "role" : "Uncle Jerry"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxF6eC7iugqAZz7PHR4eELDEI5l5.jpg/",
+ "name" : "Mike Galaxy",
+ "role" : "Toby",
+ "order" : 9
+ }
+ ],
+ "tagline" : "A powerful memoir of the summer of 1996 and the events that shattered the lives of four close friends.",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqajsjsb3yHJEynVW9zg6N74v0wn.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0306947",
+ "sorttitle" : "",
+ "director" : [
+ "Andrew Bowen"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Andrew Bowen",
+ "John McLoughlin"
+ ],
+ "mpaa" : "Rated R",
+ "rating" : 0,
+ "plot" : "A funny, gripping and powerful drama about the post graduation summer of four lifelong friends and one night that changed the course of their lives... forever. Like Crash , Saint Elmo s Fire and it s inspiration Stand By Me, Along the WAY is a haunting portrait of American Youth. A profound and poignant story about friendship, the moments that shape us and an unforgettable story that deserves it place among the best and brightest that the independent film world has to offer.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Along the Way (2007).mp4",
+ "title" : "Along the Way",
+ "movieid" : 20,
+ "lastplayed" : "",
+ "originaltitle" : "Along the Way",
+ "runtime" : 5820,
+ "playcount" : 0,
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqajsjsb3yHJEynVW9zg6N74v0wn.jpg/",
+ "year" : 2007,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=c80ngtJbsZU",
+ "votes" : "0"
+ },
+ {
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0264887",
+ "art" : {},
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "An Italian in Greece",
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [
+ "Faros-Film"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "",
+ "votes" : "0",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1958,
+ "thumbnail" : "",
+ "top250" : 0,
+ "genre" : [],
+ "lastplayed" : "",
+ "title" : "An Italian in Greece",
+ "movieid" : 130,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/I Ellada se rythmo agona (1979).mp4",
+ "runtime" : 7140,
+ "originaltitle" : "Mia Italida stin Ellada",
+ "playcount" : 0,
+ "writer" : [
+ "Umberto Lenzi",
+ "Tersicore Kolosoff"
+ ],
+ "country" : [],
+ "director" : [
+ "Umberto Lenzi"
+ ],
+ "plot" : "Umberto Lenzis first film",
+ "rating" : 0,
+ "mpaa" : ""
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7pLBQRpTLri3dJffa45wu5FOa0b.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt4155534",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Animal Crackers",
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Ian McKellen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc51mP46oPgAgFf7bFWVHlScZynM.jpg/"
+ },
+ {
+ "role" : "Bullet-Man",
+ "order" : 2,
+ "name" : "Sylvester Stallone",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgnmwOa46C2TP35N7ARSzboTdx2u.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbcNHQG1jnuK2BvcBVp7nft6sAfO.jpg/",
+ "name" : "Danny DeVito",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Patrick Warburton",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcq8zZ6YfBrq2k4F4aHYLSP9QOJS.jpg/",
+ "role" : "Brock",
+ "order" : 5
+ },
+ {
+ "name" : "Raven-Symoné",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnzklI9bgqsUKVWlnQcT5lSrCyaM.jpg/",
+ "order" : 6,
+ "role" : "Brinkley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frFUZnJ4BaSaQVKW734xnUHSN9pm.jpg/",
+ "name" : "Tara Strong",
+ "role" : "Talia",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fI99JZP0jRgnLHJguuSsq4iDqll.jpg/",
+ "name" : "Emily Blunt"
+ },
+ {
+ "name" : "John Krasinski",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnOWwdZURikW22qo6OUSGFCTukgc.jpg/",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "role" : "",
+ "order" : 11,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feh53YLoB8SeTUD0prET8lCo0Cfo.jpg/",
+ "name" : "Harvey Fierstein"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feP1P9jxMBiI1a6cQHlChNdDALKY.jpg/",
+ "name" : "Kevin Grevioux",
+ "order" : 12,
+ "role" : ""
+ }
+ ],
+ "studio" : [
+ "China Film Co."
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7pLBQRpTLri3dJffa45wu5FOa0b.jpg/",
+ "year" : 2016,
+ "top250" : 0,
+ "genre" : [
+ "Comedy",
+ "Animation",
+ "Adventure"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "writer" : [
+ "Scott Christian Sava",
+ "Dean Lorey"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Tony Bancroft",
+ "Scott Christian Sava"
+ ],
+ "plot" : "A family must use a magical box of Animal Crackers to save a rundown circus from being taken over by their evil uncle Horatio P. Huntington.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "title" : "Animal Crackers",
+ "movieid" : 22,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Animal Crackers (1995).mp4",
+ "runtime" : 0,
+ "originaltitle" : "Animal Crackers",
+ "playcount" : 0
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyYudssoZOUVzAm95ovp5Oam5d6r.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0071151",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Antonia: A Portrait of the Woman",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyYudssoZOUVzAm95ovp5Oam5d6r.jpg/",
+ "year" : 1974,
+ "genre" : [
+ "Documentary"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Jill Godmilow"
+ ],
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "1974 documentary about symphony conductor Antonia Brico, including her struggle against gender bias in her profession.",
+ "rating" : 0,
+ "movieid" : 23,
+ "title" : "Antonia: A Portrait of the Woman",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Antonia: A Portrait of the Woman (1974).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 3480,
+ "originaltitle" : "Antonia: A Portrait of the Woman"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Aradhana",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnXqtnTAtvAFcxqVD2Xwu37j0dJq.jpg/",
+ "name" : "Chiranjeevi"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw4O66XDdharo1eallRiPm8jNCKH.jpg/",
+ "name" : "Suhasini Maniratnam"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4UVZylpEGHkTIIAyuNRQ3v7Sv7F.jpg/",
+ "name" : "Dr. Rajasekhar"
+ },
+ {
+ "name" : "Kongara Jaggaiah",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Radhika Sarathkumar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7NOZvWsHm4WBXThsEMhSSMb2wZh.jpg/",
+ "order" : 5,
+ "role" : ""
+ }
+ ],
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "P. Bharathiraja"
+ ],
+ "rating" : 0,
+ "plot" : "Aaradhana is story about an illiterate Puliraju (Chiranjeevi), who is a small time rowdy in a small town. He meets (Suhasini), who arrives in that town as a school teacher. Suhasini slaps and accuses him for ill-treating his mother. Puliraju, instead of taking revenge on her, gets attracted towards her and manages to join as her student. Over a period of time, Pulitsju transforms in his looks, behaviour and leaves his past life back. Over few reels, they both get attracted towards each other, but neither of them express their feelings. His mother, surprised by changes in his behaviour brings his maradalu (Radhika) from his village and tries to marry him off. At the same time, suhasini",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Aradhana (1962).mp4",
+ "movieid" : 25,
+ "title" : "Aradhana",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Aradhana",
+ "thumbnail" : "",
+ "year" : 1987,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Romance"
+ ],
+ "trailer" : "",
+ "votes" : "0"
+ },
+ {
+ "runtime" : 5040,
+ "playcount" : 0,
+ "originaltitle" : "Arrête de pleurer Pénélope",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Penelope (2012).mp4",
+ "title" : "Arrête de pleurer Pénélope",
+ "movieid" : 218,
+ "rating" : 4.69999980926514,
+ "plot" : "Chloé, Léonie and Pénélope, three friends who have not set eyes on each other for many years, are reunited in a notary’s office. It appears that Chloé’s aunt, with whom they used to spend their summer holidays, has died and bequeathed them her house in the country. The three young women agree to spend the weekend at the house, to clear it out so that they can sell it. As soon as they arrive at the house, old memories come flooding back. It is the beginning of a very long weekend...",
+ "mpaa" : "",
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "Christine Anglio",
+ "Juliette Arnaud",
+ "Corinne Puget"
+ ],
+ "director" : [
+ "Corinne Puget",
+ "Juliette Arnaud"
+ ],
+ "votes" : "3",
+ "trailer" : "",
+ "genre" : [
+ "Comedy"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyzzQYJr2Y2ABMGpiR22aXHGvYhB.jpg/",
+ "year" : 2012,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "tagline" : "",
+ "studio" : [
+ "Sunrise Films"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj1ARcGIwJ4FVmSi3iHsolxlG3uJ.jpg/",
+ "name" : "Juliette Arnaud",
+ "role" : "Chloé",
+ "order" : 0
+ },
+ {
+ "name" : "Corinne Puget",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fZ3rWFU0q3kSZCWOdhIs7TpWBvN.jpg/",
+ "role" : "Léonie",
+ "order" : 1
+ },
+ {
+ "role" : "Pénélope",
+ "order" : 2,
+ "name" : "Christine Anglio",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fviVUFxFLqEKs25xEYerDy7mEwCV.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "Lise",
+ "name" : "Maria Pacôme",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feAdwemYnOIOSIDXyTLf9lhCeH5S.jpg/"
+ },
+ {
+ "name" : "Christelle Chollet",
+ "role" : "Suzelle",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Justin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8fMRdXPGhWAh01HKJOIhWbD8lNT.jpg/",
+ "name" : "Pierre Boulanger"
+ },
+ {
+ "order" : 6,
+ "role" : "Nicolas Badaroux",
+ "name" : "Marc Duret",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyZu9GrdnBYT0nEwPNPKvbXN9DfE.jpg/"
+ },
+ {
+ "order" : 7,
+ "role" : "Jérôme",
+ "name" : "Michel Scotto di Carlo"
+ },
+ {
+ "order" : 8,
+ "role" : "Greg",
+ "name" : "Niels Dubost"
+ }
+ ],
+ "label" : "Arrête de pleurer Pénélope",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "imdbnumber" : "tt2399499",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhPLQbl7sm0bvGxFwkmIrqem3BD7.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhPLQbl7sm0bvGxFwkmIrqem3BD7.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyzzQYJr2Y2ABMGpiR22aXHGvYhB.jpg/"
+ }
+ },
+ {
+ "sorttitle" : "",
+ "imdbnumber" : "tt1486878",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgCPMaX75cZCM6PRhSFOXapkYAJ3.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgCPMaX75cZCM6PRhSFOXapkYAJ3.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhUTSQ6HIU8O0ZofegHGekA8wHrz.jpg/"
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Kotono Mitsuishi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5yISpyXWjRlbfvPebO3iLc2s3tF.jpg/",
+ "order" : 0,
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "Tsubasa Usagi"
+ },
+ {
+ "name" : "Taishi Takemoto",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Yukiharu Inoue",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "name" : "Yûya Takayama",
+ "order" : 4,
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Mariko Tsuboi"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Mari Yamaguchi"
+ },
+ {
+ "role" : "",
+ "order" : 7,
+ "name" : "Yôko Satomi"
+ },
+ {
+ "role" : "",
+ "order" : 8,
+ "name" : "Shungiku Uchida",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3VOkgfclENX135JeumAkuhsBfuv.jpg/"
+ }
+ ],
+ "studio" : [],
+ "label" : "At the Mercy of the Darkness: Ayano's Bizarre Delusions",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhUTSQ6HIU8O0ZofegHGekA8wHrz.jpg/",
+ "year" : 2009,
+ "top250" : 0,
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Yami no manimani: Hitozuma - Ayano no futei na môsô",
+ "lastplayed" : "",
+ "movieid" : 187,
+ "title" : "At the Mercy of the Darkness: Ayano's Bizarre Delusions",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Manima (1979).mp4",
+ "plot" : "Ayano is trapped in a loveless marriage with a guy who redefines the word jerk. She works at a company selling English learning materials and is suffering from increasingly disturbing hallucinations.",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [
+ "Shungiku Uchida",
+ "Naoyuki Tomomatsu"
+ ],
+ "country" : [
+ "Japan"
+ ],
+ "director" : [
+ "Naoyuki Tomomatsu"
+ ]
+ },
+ {
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "",
+ "year" : 2011,
+ "originaltitle" : "Au Pair",
+ "runtime" : 3600,
+ "playcount" : 0,
+ "movieid" : 27,
+ "title" : "Au Pair",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Au Pair (2010).mp4",
+ "lastplayed" : "",
+ "mpaa" : "",
+ "plot" : "Au Pair follows three young Filipino women, Roselie, Mate and Theresa, who work in Denmark in order to earn money for their families. Life is a continuous struggle with uncertain employment contracts, visas that are about to expire, homesickness and prejudice towards foreigners.",
+ "rating" : 0,
+ "director" : [
+ "Nicole N. Horanyi"
+ ],
+ "writer" : [],
+ "country" : [],
+ "sorttitle" : "",
+ "imdbnumber" : "tt1946142",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {},
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Au Pair",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt2370378",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1UVJ1CJQjMmNa2kUfJiRxWB11vj.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Baby Blues",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Natalia",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foecdHGUQbTvXUcoHfWOvekEqr09.jpg/",
+ "name" : "Magdalena Berus"
+ },
+ {
+ "role" : "Kuba",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffzZoEs8WidXnCWhiWcyUFY9zuLp.jpg/",
+ "name" : "Nikodem Rozbicki"
+ },
+ {
+ "name" : "Klaudia Bulka",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8HBzQiX6mYDYMTU0dOQCpmkCn12.jpg/",
+ "order" : 2,
+ "role" : "Martyna"
+ },
+ {
+ "role" : "Ernest",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcwgNnEvEJ90gjVHSSTcocNzWD64.jpg/",
+ "name" : "Michal Trzeciakowski"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "",
+ "votes" : "2",
+ "top250" : 0,
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1UVJ1CJQjMmNa2kUfJiRxWB11vj.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Thriller"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Baby Blues (2003).mp4",
+ "movieid" : 29,
+ "title" : "Baby Blues",
+ "lastplayed" : "",
+ "runtime" : 6000,
+ "playcount" : 0,
+ "originaltitle" : "Bejbi blues",
+ "director" : [
+ "Katarzyna Roslaniec"
+ ],
+ "country" : [
+ "Poland"
+ ],
+ "writer" : [
+ "Katarzyna Roslaniec"
+ ],
+ "mpaa" : "",
+ "rating" : 5.80000019073486,
+ "plot" : "Natalia is a 17-year-old mom living with her mother and son, Antos. She wanted to have a baby because it was a “cool” thing to do, and because she feels she has someone to love; someone who can love her in return. Everything changes when Natalia’s mother decides to move out, giving Natalia a chance to lead a “normal life.”"
+ },
+ {
+ "tagline" : "",
+ "studio" : [
+ "New Line Cinema"
+ ],
+ "cast" : [
+ {
+ "name" : "Damon Wayans",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frQ1KV896Hm0jzLTOdksbHoXh67l.jpg/",
+ "order" : 0,
+ "role" : "Pierre Delacroix"
+ },
+ {
+ "name" : "Savion Glover",
+ "order" : 1,
+ "role" : "Manray / Mantan"
+ },
+ {
+ "order" : 2,
+ "role" : "Womack / Sleep'n Eat",
+ "name" : "Tommy Davidson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyXCC9g25AwlCpSWPY1plqjcvQD5.jpg/"
+ },
+ {
+ "name" : "Jada Pinkett Smith",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9F9om3LeN7xM1yPcUn9e2qSpkDh.jpg/",
+ "role" : "Sloan Hopkins",
+ "order" : 3
+ },
+ {
+ "role" : "thomas Dunwitty",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi39bAISjAUWYlXZZA0wmjYWnZGf.jpg/",
+ "name" : "Michael Rapaport"
+ },
+ {
+ "order" : 5,
+ "role" : "Mau Mau: Big Blak Afrika (Julius Hopkins)",
+ "name" : "Mos Def",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx51WKi3gxwobt9Sov5HeS5kKHUe.jpg/"
+ },
+ {
+ "name" : "Cheryl Lynn Bowers",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2febN9PgyHjFCDtxkh70YROJanppo.jpg/",
+ "order" : 6,
+ "role" : "Mona"
+ }
+ ],
+ "label" : "Bamboozled",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "imdbnumber" : "tt0215545",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuSPOydK9mDMjcHJxW3MQZ9ALurx.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4wOcbed6aekhDG8dg8COWz68pVS.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuSPOydK9mDMjcHJxW3MQZ9ALurx.jpg/"
+ },
+ "runtime" : 8100,
+ "playcount" : 0,
+ "originaltitle" : "Bamboozled",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Bamboozle (2009).mp4",
+ "title" : "Bamboozled",
+ "movieid" : 31,
+ "rating" : 6,
+ "plot" : "TV producer Pierre Delacroix (Damon Wayans) becomes frustrated when network brass reject his sitcom idea. Hoping to get fired, Delacroix pitches the worst idea he can think of: a minstrel show. The network not only airs it, but it incredibly becomes a smash hit. Michael Rapaport co-stars in this searing satire.",
+ "mpaa" : "Rated R",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "director" : [
+ "Spike Lee"
+ ],
+ "votes" : "5",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=aPBmOEpviOg",
+ "genre" : [
+ "Comedy",
+ "Drama"
+ ],
+ "year" : 2000,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4wOcbed6aekhDG8dg8COWz68pVS.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0
+ },
+ {
+ "director" : [],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Comedy from and starring Rupert Friend about two con-artists, a Confederate newspaper mogul and a ten year old Mexican boy.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Barton & Charlie & Checco & Bill (2016).mp4",
+ "title" : "Barton & Charlie & Checco & Bill",
+ "movieid" : 32,
+ "lastplayed" : "",
+ "originaltitle" : "Barton & Charlie & Checco & Bill",
+ "runtime" : 0,
+ "playcount" : 0,
+ "top250" : 0,
+ "thumbnail" : "",
+ "year" : 2016,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Barton & Charlie & Checco & Bill",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt4186214",
+ "sorttitle" : ""
+ },
+ {
+ "genre" : [
+ "Drama",
+ "Horror"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4SUoy9s4f2RZ09IiaDLi1EHNbDV.jpg/",
+ "year" : 2012,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "30",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=TO3_WO2YfGo",
+ "rating" : 5.90000009536743,
+ "plot" : "In rural Connecticut, baseball players Ben and Mickey are trying to survive a zombie plague. They are forced to form a battery: a catcher and a pitcher who work together to outwit the batter, the one who hits the ball. And the batter in this case just happens to be a zombie. Tough Ben and gentle Mickey frequently disagree on the best way to go about the situation. Then they suddenly hear a human voice through their walkie-talkies. Is salvation nearby, like Mickey thinks, or is Ben’s suspicion justified?",
+ "mpaa" : "Rated",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Jeremy Gardner"
+ ],
+ "director" : [
+ "Jeremy Gardner"
+ ],
+ "runtime" : 6060,
+ "playcount" : 0,
+ "originaltitle" : "The Battery",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Batter (2013).mp4",
+ "movieid" : 33,
+ "title" : "The Battery",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4SUoy9s4f2RZ09IiaDLi1EHNbDV.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f17lPU2ykoUcxbg4UvQM00eqPtLo.jpg/"
+ },
+ "imdbnumber" : "tt2272350",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f17lPU2ykoUcxbg4UvQM00eqPtLo.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "In a land ravaged by the undead, Ben and Mickey must learn to survive... each other.",
+ "studio" : [
+ "O. Hannah Films"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Ben",
+ "name" : "Jeremy Gardner"
+ },
+ {
+ "name" : "Adam Cronheim",
+ "role" : "Mickey",
+ "order" : 1
+ },
+ {
+ "name" : "Niels Bolle",
+ "order" : 2,
+ "role" : "Jerry"
+ },
+ {
+ "name" : "Alana O'Brien",
+ "order" : 3,
+ "role" : "Annie"
+ },
+ {
+ "name" : "Jamie Pantanella",
+ "order" : 4,
+ "role" : "Egghead"
+ },
+ {
+ "name" : "Larry Fessenden",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fry1FD2hv1mop8QzPCVHzpDeCX1z.jpg/",
+ "role" : "Frank",
+ "order" : 5
+ },
+ {
+ "name" : "Kelly McQuade",
+ "order" : 6,
+ "role" : "Laura"
+ }
+ ],
+ "label" : "The Battery"
+ },
+ {
+ "playcount" : 0,
+ "runtime" : 2100,
+ "originaltitle" : "Battle of the Colossal Women",
+ "lastplayed" : "",
+ "movieid" : 34,
+ "title" : "Battle of the Colossal Women",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Battle of the Colossal Women (2003).mp4",
+ "plot" : "Suzi's a nerdy scientist with a crush on Todd. But Todd's dating the dominating Liluth and doesn't even know Suzi is alive. So Suzi begins experimenting with a formula that will make her sexy and seductive. It works...too well! Suddenly 30 ft tall, she discovers new strength she never imagined possible. Liluth, jealous that this loser has such power, swallows down the rest of the formula. Soon she is huge and grabs up Todd to find Suzi. She does and they battle. But then they find themselves attracted to each other. And that's when the fun really begins!",
+ "rating" : 0,
+ "mpaa" : "Rated NC-17",
+ "writer" : [
+ "Chris Irvine"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Marc Elsworth"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Science Fiction"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 2003,
+ "top250" : 0,
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Rachel Krupsky",
+ "role" : "Suzi",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Liluth",
+ "name" : "Iris"
+ },
+ {
+ "order" : 3,
+ "role" : "Todd",
+ "name" : "Robert Briggs"
+ }
+ ],
+ "studio" : [
+ "Sub Rosa Studios"
+ ],
+ "label" : "Battle of the Colossal Women",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0425767",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {}
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj5t6X74dRo0KvZXj6kshL00UAPy.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8LYYyF5pdNQYiVaf7jCQCvdZQ9n.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2224069",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8LYYyF5pdNQYiVaf7jCQCvdZQ9n.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Being Free",
+ "genre" : [],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2011,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj5t6X74dRo0KvZXj6kshL00UAPy.jpg/",
+ "votes" : "1",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=xjm6MrdBGZI",
+ "mpaa" : "",
+ "plot" : "Nottingham film maker Nico Turner presents to you his full length free to view mountain bike movie.",
+ "rating" : 9,
+ "director" : [
+ "Nico Turner"
+ ],
+ "writer" : [],
+ "country" : [],
+ "runtime" : 2640,
+ "originaltitle" : "Being Free",
+ "playcount" : 0,
+ "title" : "Being Free",
+ "movieid" : 28,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/B.F.F (2011).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "director" : [
+ "Michael Kreindl"
+ ],
+ "writer" : [
+ "Mathias Klaschka"
+ ],
+ "country" : [
+ "Germany"
+ ],
+ "mpaa" : "",
+ "plot" : "",
+ "rating" : 0,
+ "movieid" : 36,
+ "title" : "Bella und der Feigenbaum",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Bella und der Feigenbaum (2013).mp4",
+ "lastplayed" : "",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Bella und der Feigenbaum",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fylHcC93L8rsUUKLAqFMCoFWUsan.jpg/",
+ "year" : 2013,
+ "genre" : [
+ "Comedy",
+ "Romance"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Bella und der Feigenbaum",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Bella / Amalia",
+ "name" : "Christine Neubauer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2mj6aEIfqP8rPUJIbXDjUVS0YIw.jpg/"
+ },
+ {
+ "order" : 1,
+ "role" : "Dr. Jonas Berger / Felipe",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flsw8F9zJSr1kfCaiIdQBKabUPI6.jpg/",
+ "name" : "Oliver Stokowski"
+ },
+ {
+ "name" : "Lisa Brühlmann",
+ "role" : "Jasmin Kramer / Carmen",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Lukas Finke",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fldN2SYbwXJ1rmMmv5ZyY39c0mBI.jpg/",
+ "name" : "Marcus Mittermeier"
+ },
+ {
+ "role" : "Ramon Delgado",
+ "order" : 4,
+ "name" : "Max Tidof"
+ },
+ {
+ "role" : "Corinna Weber",
+ "order" : 5,
+ "name" : "Philippine Pachl"
+ },
+ {
+ "name" : "André Frid",
+ "role" : "Timo Finke",
+ "order" : 6
+ },
+ {
+ "name" : "Oscar Weidner",
+ "order" : 7,
+ "role" : "Tommi Finke"
+ }
+ ],
+ "studio" : [
+ "ARD Degeto Film"
+ ],
+ "tagline" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9vbpqdEYeuxE6gUJ61aNWAdZZdn.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fylHcC93L8rsUUKLAqFMCoFWUsan.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9vbpqdEYeuxE6gUJ61aNWAdZZdn.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt2002613"
+ },
+ {
+ "imdbnumber" : "tt0449909",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9u4FHUKupwW4RPdfymzFlexgfUj.jpg/"
+ },
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "Between Two Worlds",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "year" : 1966,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9u4FHUKupwW4RPdfymzFlexgfUj.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "originaltitle" : "Devolak Athara",
+ "runtime" : 7320,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Between Two Worlds (2002).mp4",
+ "title" : "Between Two Worlds",
+ "movieid" : 38,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "The son of a newly rich industrialist becomes embroiled in a murder cover-up.",
+ "director" : [
+ "Lester James Peries"
+ ],
+ "country" : [],
+ "writer" : []
+ },
+ {
+ "label" : "Bibici Story",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt1667824",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5AGNX7BHLzIyFGwEY4NW1xk8qiE.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/BiBiCi Story (1969).mp4",
+ "movieid" : 39,
+ "title" : "Bibici Story",
+ "lastplayed" : "",
+ "runtime" : 480,
+ "originaltitle" : "Bibici Story",
+ "playcount" : 0,
+ "director" : [
+ "Carlos Durán"
+ ],
+ "country" : [
+ "Spain"
+ ],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "The intrusion into the private life of a human being, of the distinct tendencies that exist in the society we live in, until they fall into chaos. –Carlos Durán",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5AGNX7BHLzIyFGwEY4NW1xk8qiE.jpg/",
+ "year" : 1969,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : []
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1RZufzkfSJI9thnwewCgo9FogfD.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0027357",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f43zPs2ahMjyqmPwxXHExhCqblHM.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1RZufzkfSJI9thnwewCgo9FogfD.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Big Brown Eyes",
+ "tagline" : "",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjOHO67Xqoh4wZYUI4pZVG6korjc.jpg/",
+ "name" : "Cary Grant",
+ "role" : "Det. Sgt. Danny Barr",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Eve Fallon",
+ "name" : "Joan Bennett",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm0PjOKHvN00VVBzQpsAIYzoWvjx.jpg/"
+ },
+ {
+ "name" : "Walter Pidgeon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyef8i0fG7xDgWG0v9CJihHFMzw8.jpg/",
+ "role" : "Richard Morey",
+ "order" : 2
+ },
+ {
+ "order" : 4,
+ "role" : "Russ Cortig",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgh6Gli1hfPXKEJuh4tTXBGXdyuT.jpg/",
+ "name" : "Lloyd Nolan"
+ },
+ {
+ "order" : 5,
+ "role" : "Carey Butler",
+ "name" : "Alan Baxter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjAOOlDsyI3eZTu19oeW2at36JM9.jpg/"
+ },
+ {
+ "order" : 6,
+ "role" : "Mrs. Cole",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flZriP8MbpLCZNRu9XGil51qCIT1.jpg/",
+ "name" : "Marjorie Gateson"
+ },
+ {
+ "order" : 7,
+ "role" : "Jack Sully",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7waP4U3fOYpqUr8jJd4qAvgWWqK.jpg/",
+ "name" : "Joe Sawyer"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foBUProXvlf58Y3Cp9qEFWFW6rib.jpg/",
+ "name" : "Isabel Jewell",
+ "role" : "Bessie Blair",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "Benny Battle",
+ "name" : "Douglas Fowley",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmoXauEE9cDCaHGNkbgIMVqWZiY3.jpg/"
+ },
+ {
+ "name" : "Henry Brandon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxjkd8VhfGkYidjMiqJ4tjihLHsH.jpg/",
+ "order" : 10,
+ "role" : "Don Butler"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8mLgclzsR9m7TOPDH2qgRAbsapi.jpg/",
+ "name" : "Edwin Maxwell",
+ "order" : 11,
+ "role" : "Newspaper Editor"
+ },
+ {
+ "role" : "Joe",
+ "order" : 12,
+ "name" : "Eddie Conrad"
+ },
+ {
+ "name" : "Doris Canfield",
+ "order" : 13,
+ "role" : "Myrtle"
+ },
+ {
+ "role" : "Prosecuting Attorney",
+ "order" : 14,
+ "name" : "Charles C. Wilson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fawAONzbcbB4Pw8JSIRYdVfKYG12.jpg/"
+ },
+ {
+ "role" : "Defense Attorney",
+ "order" : 15,
+ "name" : "John Picorri"
+ },
+ {
+ "role" : "Judge",
+ "order" : 16,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqRG1Aqwd9Cqm35PWmEqU9EZcSAW.jpg/",
+ "name" : "Guy Usher"
+ }
+ ],
+ "studio" : [
+ "Paramount Pictures"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "trailer" : "",
+ "votes" : "4",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1936,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f43zPs2ahMjyqmPwxXHExhCqblHM.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Comedy",
+ "Mystery"
+ ],
+ "lastplayed" : "",
+ "movieid" : 40,
+ "title" : "Big Brown Eyes",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Big Brown Eyes (1984).mp4",
+ "playcount" : 0,
+ "runtime" : 4620,
+ "originaltitle" : "Big Brown Eyes",
+ "writer" : [
+ "Bert Hanlon",
+ "Raoul Walsh"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Raoul Walsh"
+ ],
+ "plot" : "Sassy manicurist Eve Fallon is recruited as an even more brassy reporter and she helps police detective boyfriend Danny Barr break a jewel theft ring and solve the murder of a baby.",
+ "rating" : 5,
+ "mpaa" : "Rated"
+ },
+ {
+ "genre" : [
+ "Comedy"
+ ],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fifB0Cdwr3Ips5GK4TGCTIohuWsU.jpg/",
+ "year" : 1995,
+ "top250" : 0,
+ "votes" : "3",
+ "trailer" : "",
+ "plot" : "Judy is having trouble drumming up business for her vegetarian restaurant, and the landlord gives her four days to pay off the mortgage. Judy calls up her friend Marilyn Chambers for help, and together they transform the restaurant into the Bikini Bistro, replete with scantily clad waitresses. Soon business is booming and the women are falling in lust, but the bartender is skimming the till and the landlord's deadline is looming. Can the restaurant be saved?",
+ "rating" : 5.5,
+ "mpaa" : "Rated R",
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "runtime" : 5100,
+ "playcount" : 0,
+ "originaltitle" : "Bikini Bistro",
+ "lastplayed" : "",
+ "movieid" : 41,
+ "title" : "Bikini Bistro",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Bikini Bistro (1995).mp4",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fifB0Cdwr3Ips5GK4TGCTIohuWsU.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f87geuSrlrAUzxycpbRfrpPlJPm8.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0112503",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f87geuSrlrAUzxycpbRfrpPlJPm8.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "label" : "Bikini Bistro"
+ },
+ {
+ "label" : "Black Coffee",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Morgan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fb2zBQ6Xcm0vJC5dJDeIw8qzc93.jpg/",
+ "name" : "Gabrielle Dennis"
+ },
+ {
+ "role" : "Julian",
+ "order" : 1,
+ "name" : "Christian Keyes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu9gNuzkoRko8nKhxnd0YmbBeZAu.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Mita",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f797m0IngFFBZM9EGNltSlpTNm3y.jpg/",
+ "name" : "Erica Hubbard"
+ },
+ {
+ "name" : "Darrin Dewitt Henson",
+ "role" : "Robert",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Nicole",
+ "name" : "Brely Evans"
+ },
+ {
+ "order" : 5,
+ "role" : "Nate",
+ "name" : "Josh Ventura"
+ },
+ {
+ "role" : "Duke",
+ "order" : 6,
+ "name" : "Richard Gallion"
+ },
+ {
+ "role" : "Hill",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpmSGmxGNfb3DhxSsTb2deyNG5yE.jpg/",
+ "name" : "Lamman Rucker"
+ },
+ {
+ "role" : "Lia",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8IcZd2yUPm9LtKlt5tAkqlSnJSF.jpg/",
+ "name" : "Tiffany Hines"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffkucJKYZ3Va0dLzJGRiYWOxGQPU.jpg/",
+ "imdbnumber" : "tt2994646",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsYqbI2mymfD3CQC4qO32IdlTZ1W.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffkucJKYZ3Va0dLzJGRiYWOxGQPU.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Coffee (2014).mp4",
+ "title" : "Black Coffee",
+ "movieid" : 58,
+ "lastplayed" : "",
+ "runtime" : 0,
+ "originaltitle" : "Black Coffee",
+ "playcount" : 0,
+ "director" : [
+ "Mark Harris"
+ ],
+ "country" : [],
+ "writer" : [
+ "Mark Harris"
+ ],
+ "mpaa" : "Rated PG",
+ "rating" : 6.69999980926514,
+ "plot" : "Robert picked the wrong time to meet his soul mate! After being fired from his own father's company, he feels like his luck has run out - until Morgan enters into his life.",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=qxbdALNNc7k",
+ "votes" : "3",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsYqbI2mymfD3CQC4qO32IdlTZ1W.jpg/",
+ "year" : 2014,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy",
+ "Romance"
+ ]
+ },
+ {
+ "imdbnumber" : "tt0029919",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg5w0q0Zlm4csbuwTbHI6UR7D02I.jpg/"
+ },
+ "studio" : [
+ "Associated British Picture Corporation (ABPC)"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhGum9pfA0NOSD1CYXyG4TYc3upQ.jpg/",
+ "name" : "Raymond Massey",
+ "order" : 1,
+ "role" : "Peter Charrington"
+ },
+ {
+ "name" : "Joan Marion",
+ "order" : 2,
+ "role" : "Mary Charrington"
+ },
+ {
+ "name" : "Elliott Mason",
+ "role" : "Jemima",
+ "order" : 3
+ },
+ {
+ "name" : "Diana Beaumont",
+ "role" : "Gwen",
+ "order" : 4
+ },
+ {
+ "name" : "Walter Hudd",
+ "order" : 5,
+ "role" : "Lawrence Crawford"
+ },
+ {
+ "name" : "Henry Oscar",
+ "order" : 6,
+ "role" : "Inspector Tanner"
+ },
+ {
+ "name" : "Dan Tobin",
+ "order" : 7,
+ "role" : "Reporter Roberts"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Black Limelight",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "1",
+ "trailer" : "",
+ "genre" : [
+ "Mystery",
+ "Crime",
+ "Drama"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg5w0q0Zlm4csbuwTbHI6UR7D02I.jpg/",
+ "year" : 1938,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "runtime" : 3780,
+ "originaltitle" : "Black Limelight",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Limelight (1937).mp4",
+ "movieid" : 180,
+ "title" : "Black Limelight",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "rating" : 5.5,
+ "plot" : "This gripping, atmospheric crime thriller from Austrian-born director Paul Stein stars Oscar nominee Raymond Massey as a man at the centre of a multiple murder investigation – a case that sparks a sensationalist press frenzy when it becomes clear that the killer only strikes when there is a full moon.",
+ "director" : [
+ "Paul L. Stein"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "Dudley Leslie",
+ "Walter Summers"
+ ]
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "Black Shadows",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmzpLhTFjlxopJYGT3blqpdnxsHB.jpg/"
+ },
+ "imdbnumber" : "tt0041184",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Venice Film Festival 1949",
+ "director" : [
+ "André Cauvin"
+ ],
+ "country" : [],
+ "writer" : [],
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "L'Équateur aux cent visages",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Black Shadow (2006).mp4",
+ "title" : "Black Shadows",
+ "movieid" : 43,
+ "lastplayed" : "",
+ "genre" : [],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmzpLhTFjlxopJYGT3blqpdnxsHB.jpg/",
+ "year" : 1949,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Concha Velasco",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fimV1wKXxGbtsu5JVlpe8wpB2tH0.jpg/",
+ "role" : "Blanca",
+ "order" : 1
+ },
+ {
+ "role" : "Tía de Blanca",
+ "order" : 2,
+ "name" : "Isabel Garcés"
+ },
+ {
+ "order" : 3,
+ "role" : "José",
+ "name" : "Javier Escrivá"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgfHOx7QEG5oJhMBYqYT4UWZx2Pi.jpg/",
+ "name" : "Francisco Rabal",
+ "order" : 4,
+ "role" : "Antonio"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1rGrdQDUjmZe6n9gJhSF8kLMVLQ.jpg/",
+ "name" : "José Calvo",
+ "order" : 5,
+ "role" : "Cuñado de Antonio"
+ },
+ {
+ "order" : 6,
+ "role" : "Hermano de Antonio",
+ "name" : "Charo Soriano\\t"
+ },
+ {
+ "name" : "Claudia Gravy",
+ "role" : "Amante de José",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Loreto Antonia Samba"
+ },
+ {
+ "name" : "Yolanda",
+ "role" : "Niña",
+ "order" : 9
+ },
+ {
+ "name" : "Emilio Fornet",
+ "role" : "Alejandro",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "Monja",
+ "name" : "María Álvarez"
+ },
+ {
+ "name" : "Alfonso Castizo",
+ "order" : 12,
+ "role" : "Camarero"
+ },
+ {
+ "order" : 13,
+ "role" : "Padre de Blanca",
+ "name" : "Javier de Rivera"
+ },
+ {
+ "name" : "José Luis Rubio",
+ "role" : "Ruso",
+ "order" : 14
+ },
+ {
+ "name" : "Paula Gardoqui",
+ "role" : "Monja",
+ "order" : 15
+ }
+ ],
+ "label" : "Blanca's Weddings",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2gpwPVirztDX2bPTDLgZCMeDJPe.jpg/"
+ },
+ "imdbnumber" : "tt0072719",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "rating" : 0,
+ "plot" : "A divorced woman is abandoned by her betrothed on the eve of her second marriage, and resigns herself to a humdrum life with her first husband.",
+ "mpaa" : "",
+ "country" : [
+ "Spain"
+ ],
+ "writer" : [],
+ "director" : [
+ "Francisco Regueiro"
+ ],
+ "runtime" : 5340,
+ "originaltitle" : "Las bodas de Blanca",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Las bodas de Blanca (1975).mp4",
+ "movieid" : 162,
+ "title" : "Blanca's Weddings",
+ "genre" : [
+ "Drama"
+ ],
+ "year" : 1975,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2gpwPVirztDX2bPTDLgZCMeDJPe.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Katya",
+ "name" : "Renée Fokker"
+ },
+ {
+ "name" : "Peer Mascini",
+ "order" : 1,
+ "role" : "Pom"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzLOPcZ3LARYsuVO0W2amG8NGHTR.jpg/",
+ "name" : "Roeland Fernhout",
+ "role" : "Barman",
+ "order" : 2
+ },
+ {
+ "name" : "Wouter Brave",
+ "role" : "Tango Dancer",
+ "order" : 3
+ },
+ {
+ "name" : "Jan Jaspers",
+ "role" : "Exploitant Botsauto's",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Annabel, baby",
+ "name" : "Boris Bergshoeff"
+ },
+ {
+ "name" : "Lizet Hupkes",
+ "role" : "Annabel (voice)",
+ "order" : 6
+ }
+ ],
+ "studio" : [],
+ "label" : "Blind Date",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0115702",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feOJDmEB19kZT5qK80UTaFOzGPNV.jpg/"
+ },
+ "originaltitle" : "Blind Date",
+ "runtime" : 5400,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "title" : "Blind Date",
+ "movieid" : 44,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Blind Date (1996).mp4",
+ "plot" : "A bartender watches with amusement as two strangers meet and duel verbally in his bar. Katya, a former dancer, is trying to forget the death of her young daughter. Pom, a comedian known for his verbal thrust and parry, tries to charm, shock and disgust his date in turn.",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [
+ "Tom Erisman",
+ "Renée Fokker",
+ "Theo van Gogh",
+ "Kim van Kooten",
+ "Peer Mascini"
+ ],
+ "country" : [],
+ "director" : [
+ "Theo van Gogh"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feOJDmEB19kZT5qK80UTaFOzGPNV.jpg/",
+ "year" : 1996,
+ "top250" : 0
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Joe Estevez",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6Ffb7SrCuRRK6iq9OhvLzB3OG7x.jpg/",
+ "order" : 1,
+ "role" : "Captain Burton"
+ },
+ {
+ "name" : "Richard Catt",
+ "role" : "Clint Hardin",
+ "order" : 2
+ },
+ {
+ "name" : "Melissa Deleon",
+ "role" : "Detective Jenny Webber",
+ "order" : 3
+ },
+ {
+ "name" : "Monique Detraz",
+ "role" : "Sandra",
+ "order" : 4
+ },
+ {
+ "role" : "Bill Marshall",
+ "order" : 5,
+ "name" : "Todd A. Everett"
+ },
+ {
+ "name" : "Larry Flynn",
+ "role" : "Sheriff Bigelow",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Detective Neil Farrow",
+ "name" : "David Harrod"
+ },
+ {
+ "role" : "Hitman in photographs",
+ "order" : 8,
+ "name" : "Benton Jennings",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqxENPActJaj25frfJ75Q5wVl2gJ.jpg/"
+ },
+ {
+ "name" : "Desire LaFore",
+ "role" : "Alexandra",
+ "order" : 9
+ },
+ {
+ "role" : "Whitney Bell",
+ "order" : 10,
+ "name" : "Dean Nolen"
+ },
+ {
+ "name" : "Rocky Patterson",
+ "order" : 11,
+ "role" : "Milo Truscott"
+ }
+ ],
+ "studio" : [
+ "Action International Pictures (AIP)"
+ ],
+ "tagline" : "In the Name of Vengeance... Justice Will Be Done.",
+ "label" : "Blood on the Badge",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuKSw5hxTBTwDw9kAr8hHpVpRe3l.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feqBFuDACN2saZtyjqJ485EcVPwv.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0103839",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feqBFuDACN2saZtyjqJ485EcVPwv.jpg/",
+ "mpaa" : "Rated",
+ "plot" : "A cop goes to a small Texas town to find out who murdered his former partner there.",
+ "rating" : 0,
+ "director" : [
+ "Bret McCormick"
+ ],
+ "writer" : [
+ "Bret McCormick",
+ "John Cianetti"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Blood on the Badge",
+ "movieid" : 30,
+ "title" : "Blood on the Badge",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Bad Blood (1992).mp4",
+ "lastplayed" : "",
+ "genre" : [
+ "Thriller",
+ "Action"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1992,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuKSw5hxTBTwDw9kAr8hHpVpRe3l.jpg/",
+ "votes" : "0",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=FnT4sdfsYkM"
+ },
+ {
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "Blue Hole",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt2319781",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {},
+ "originaltitle" : "Blue Hole",
+ "runtime" : 0,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Blue (2012).mp4",
+ "movieid" : 46,
+ "title" : "Blue Hole",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "A madman claims that an eerie pond, near a cabin in the woods, can bring back the dead. Inspired by a true story and a real place in New Jersey.",
+ "director" : [],
+ "country" : [],
+ "writer" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "thumbnail" : "",
+ "year" : 2012,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : ""
+ },
+ {
+ "imdbnumber" : "tt2282719",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftu4QkvKY02ljZKRhBbqGDwjRILL.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftu4QkvKY02ljZKRhBbqGDwjRILL.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhplLwH52LnqB22uLrzVtQhUd5M6.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6tgy3NOeP2Cd1NiW9xHETQSbfvB.jpg/",
+ "name" : "Sara Paxton",
+ "role" : "Susan Wright",
+ "order" : 0
+ },
+ {
+ "name" : "Justin Bruening",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgfhPzf7zkyF7oxA2vDEt9bLxYBd.jpg/",
+ "role" : "Jeff Wright",
+ "order" : 1
+ },
+ {
+ "name" : "Lisa Edelstein",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpKwsvcm1Etgue4zZyBiNEh1Ngc3.jpg/",
+ "order" : 2,
+ "role" : "Kelly Siegler"
+ },
+ {
+ "order" : 3,
+ "role" : "Ron Wright",
+ "name" : "Michael Gross",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnYCWEUdFbMo2JJo2Hd9KHNcP2GS.jpg/"
+ },
+ {
+ "order" : 4,
+ "role" : "Mrs. Wright",
+ "name" : "Annie Corley",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fypA6im4I1S5SzzNAJOdRmZq01YX.jpg/"
+ }
+ ],
+ "label" : "Blue-Eyed Butcher",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "4",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=-iTUCGlkxL4",
+ "genre" : [
+ "Drama",
+ "Crime",
+ "Thriller"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhplLwH52LnqB22uLrzVtQhUd5M6.jpg/",
+ "year" : 2012,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "runtime" : 5100,
+ "originaltitle" : "Blue-Eyed Butcher",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Butcher (2012).mp4",
+ "title" : "Blue-Eyed Butcher",
+ "movieid" : 282,
+ "rating" : 4.5,
+ "plot" : "Lifetime biopic based on the story of Susan Wright. Susan appeared to be the model wife and mother, living the fairytale life, literally married to Mr. Wright. In a shocking turn of events, the media dubs Susan Wright the \"Blue-Eyed Butcher\" when her loving husband is discovered buried in the backyard, with close to 200 stab wounds.",
+ "mpaa" : "Rated R",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Michael J. Murray",
+ "Jamie Pachino"
+ ],
+ "director" : [
+ "Stephen Kay"
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Samlaren (1989).mp4",
+ "title" : "The Bone Collector",
+ "movieid" : 242,
+ "lastplayed" : "",
+ "runtime" : 7080,
+ "playcount" : 0,
+ "originaltitle" : "The Bone Collector",
+ "director" : [
+ "Phillip Noyce"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Jeremy Iacone"
+ ],
+ "mpaa" : "Rated R",
+ "rating" : 6.40000009536743,
+ "plot" : "Rookie cop Amelia Donaghy reluctantly teams with Lincoln Rhyme -- formerly the department's top homicide detective but now paralyzed as a result of a spinal injury -- to catch a grisly serial killer dubbed The Bone Collector. The murderer's special signature is to leave tantalizing clues based on the grim remains of his crimes.",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=w4z4Xsp-bos",
+ "votes" : "319",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdCTuPRukbDs3mOSx9SD0PCMRd2g.jpg/",
+ "year" : 1999,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Drama",
+ "Mystery",
+ "Thriller",
+ "Crime"
+ ],
+ "label" : "The Bone Collector",
+ "studio" : [
+ "Universal Pictures"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft9arcZbg1nLt8GZt2SkWm227YoK.jpg/",
+ "name" : "Denzel Washington",
+ "order" : 0,
+ "role" : "Lincoln Rhyme"
+ },
+ {
+ "order" : 1,
+ "role" : "Amelia Donaghy",
+ "name" : "Angelina Jolie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f69LcCbHUpeh6WsESY8wcEiiZFjk.jpg/"
+ },
+ {
+ "role" : "Thelma",
+ "order" : 2,
+ "name" : "Queen Latifah",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fht52no1SMDhYBwRAmWL9a5YCss1.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbvmf7TIjCyRPrBNrmZ5qyePTL5y.jpg/",
+ "name" : "Michael Rooker",
+ "order" : 3,
+ "role" : "Captain Howard Cheney"
+ },
+ {
+ "name" : "Michael McGlone",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuoA2xmyTf4bQLaD9B5WWJzWwbr3.jpg/",
+ "order" : 4,
+ "role" : "Detective Kenny Solomon"
+ },
+ {
+ "name" : "Luis Guzmán",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fe6mIeGBDkNFZwFDoskcetgkU5oH.jpg/",
+ "order" : 5,
+ "role" : "Eddie Ortiz (as Luis Guzman)"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2XnpH5LOE7Ln0JMhFTT73QscLQh.jpg/",
+ "name" : "Leland Orser",
+ "role" : "Richard Thompson",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4srJbpblPshcmQPI5auoAR8c1bi.jpg/",
+ "name" : "John Benjamin Hickey",
+ "order" : 7,
+ "role" : "Dr. Barry Lehman"
+ },
+ {
+ "role" : "Steve, Amelia's Boyfriend",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f353743.jpg/",
+ "name" : "Bobby Cannavale"
+ },
+ {
+ "name" : "Ed O'Neill",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpIaygzkgrZ9FfJRxmtwPBMcWmIz.jpg/",
+ "order" : 9,
+ "role" : "Detective Paulie Sellitto"
+ },
+ {
+ "name" : "Richard Zeman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9SvDhBnPHpXbXNfG8jnnLQ7vNNx.jpg/",
+ "order" : 10,
+ "role" : "Lieutenant Carl Hanson"
+ },
+ {
+ "order" : 11,
+ "role" : "Lindsay Rubin",
+ "name" : "Olivia Birkelund"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff0aPYfFmNSOuvS9zi6KgK1SfyEu.jpg/",
+ "name" : "Gary Swanson",
+ "role" : "Alan Rubin",
+ "order" : 12
+ },
+ {
+ "role" : "Train Engineer (as Jim Bulleit)",
+ "order" : 13,
+ "name" : "James Bulleit"
+ },
+ {
+ "name" : "Frank Fontaine",
+ "order" : 14,
+ "role" : "Grandfather"
+ },
+ {
+ "order" : 15,
+ "role" : "Granddaughter",
+ "name" : "Zena Grey",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwzRRQ8vifE4OFQTS6Hh3S6ZXcT9.jpg/"
+ },
+ {
+ "order" : 16,
+ "role" : "Taxi Inspector",
+ "name" : "Desmond Campbell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjQLTPVX66N61Ng6PEW3Z5SE3Tx5.jpg/"
+ },
+ {
+ "order" : 17,
+ "role" : "Gas Worker",
+ "name" : "Steve Adams",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvAytek79Ixe7bLstmsFPbaAiRzC.jpg/"
+ }
+ ],
+ "tagline" : "Serial killer vs. forensic genius",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhLxwlRHk1vYvfyftlpOSsHBxL88.jpg/",
+ "imdbnumber" : "tt0145681",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhLxwlRHk1vYvfyftlpOSsHBxL88.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdCTuPRukbDs3mOSx9SD0PCMRd2g.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "label" : "Bounty Hunters",
+ "tagline" : "She's coming to get you.",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcw6kDjtycK3Kh6Sr8EAOCoArka0.jpg/",
+ "name" : "Trish Stratus",
+ "order" : 0,
+ "role" : "Jules"
+ },
+ {
+ "name" : "Frank J. Zupancic",
+ "order" : 1,
+ "role" : "Ridley"
+ },
+ {
+ "role" : "Ruby",
+ "order" : 2,
+ "name" : "Andrea James Lui"
+ }
+ ],
+ "studio" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiQ4oAeOw2FqIrn7j8fm5OGiAYKv.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1596565",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhb8kzLOCHICgLNKWiBlaXFsPGZ5.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiQ4oAeOw2FqIrn7j8fm5OGiAYKv.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "lastplayed" : "",
+ "title" : "Bounty Hunters",
+ "movieid" : 47,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Bounty Hunters (2013).mp4",
+ "runtime" : 4800,
+ "playcount" : 0,
+ "originaltitle" : "Bail Enforcers",
+ "writer" : [
+ "Reese Eveneshen"
+ ],
+ "country" : [
+ "Canada"
+ ],
+ "director" : [
+ "Patrick McBrearty"
+ ],
+ "plot" : "A group of down-on-their-luck bounty hunters hit the jackpot one night when they pick up an informant with a hundred thousand dollar bounty on his head. But their world is turned upside down when a mob boss offers them one million dollars in exchange for the informant. When they refuse, the mafia unleashes a trio of assassins on them who use all of their power to bring the bounty hunters down, and to get their man - dead or alive.",
+ "rating" : 0.800000011920929,
+ "mpaa" : "Rated R",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=f28pd8hXC8Y",
+ "votes" : "3",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhb8kzLOCHICgLNKWiBlaXFsPGZ5.jpg/",
+ "year" : 2011,
+ "top250" : 0,
+ "genre" : [
+ "Action",
+ "Comedy",
+ "Thriller",
+ "Romance"
+ ]
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Broken Saints",
+ "studio" : [
+ "20th Century Fox Television"
+ ],
+ "cast" : [],
+ "tagline" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqIfKefUBQcoXHovNCoZHGbLQFf2.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0451002",
+ "sorttitle" : "",
+ "director" : [
+ "Brooke Burgess"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "mpaa" : "Rated NR",
+ "rating" : 0.5,
+ "plot" : "In the quiet corners of the globe, four strangers – a cynical American programmer, an aging Japanese priest, a troubled Arabic mercenary and a mysterious Fijian girl – receive a series of chilling apocalyptic visions. Desperate to understand their frightening visions of the future, these four troubled souls are simultaneously drawn to a dark city in the West where their fates – and the fate of the world – are revealed to be linked together and somehow part of a global conspiracy. Amidst an epic struggle of man, machine and otherworldly fear, these reluctant heroes must be willing to sacrifice everything…in order to know the truth and save us all!",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Broken Saints (2003).mp4",
+ "movieid" : 48,
+ "title" : "Broken Saints",
+ "lastplayed" : "",
+ "runtime" : 37560,
+ "originaltitle" : "Broken Saints",
+ "playcount" : 0,
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqIfKefUBQcoXHovNCoZHGbLQFf2.jpg/",
+ "year" : 2006,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Animation",
+ "Romance",
+ "Mystery",
+ "Science Fiction",
+ "Horror"
+ ],
+ "trailer" : "",
+ "votes" : "1"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Dr. Hal Raglan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwe10IusqRV1NHRtA68ftyck2N33.jpg/",
+ "name" : "Oliver Reed"
+ },
+ {
+ "order" : 1,
+ "role" : "Nola Carveth",
+ "name" : "Samantha Eggar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuPcE3Vra0l4E5f8GNKUjCX88w3c.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Frank Carveth",
+ "name" : "Art Hindle",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcyse2WKDJ5GXCGWGtw4CHsamv8i.jpg/"
+ },
+ {
+ "name" : "Henry Beckman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4jAiIWcrpni24jnG6I2mUr0GXYn.jpg/",
+ "order" : 3,
+ "role" : "Barton Kelly"
+ },
+ {
+ "name" : "Nuala Fitzgerald",
+ "order" : 4,
+ "role" : "Juliana Kelly"
+ },
+ {
+ "name" : "Cindy Hinds",
+ "role" : "Candice Carveth",
+ "order" : 5
+ },
+ {
+ "role" : "Ruth Mayer",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsBt0r86BsJE3rzxPIIqByfdC8gM.jpg/",
+ "name" : "Susan Hogan"
+ },
+ {
+ "order" : 7,
+ "role" : "Mike Trellan",
+ "name" : "Gary McKeehan"
+ },
+ {
+ "name" : "Robert A. Silverman",
+ "order" : 8,
+ "role" : "Jan Hartog"
+ },
+ {
+ "role" : "Chris",
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiaHrV64dbBAHek0CmoMGQ2fq5Md.jpg/",
+ "name" : "Nicholas Campbell"
+ },
+ {
+ "order" : 10,
+ "role" : "Creature",
+ "name" : "Felix Silla",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fblKYI3w0lf124hvCaHiVcjhQpZ5.jpg/"
+ }
+ ],
+ "studio" : [
+ "Canadian Film Development Corporation (CFDC)"
+ ],
+ "tagline" : "The Ultimate Experience Of Inner Terror",
+ "label" : "The Brood",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuEIIJqU1JL5I8oo1QHnU5O69hTH.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft8pFmS8tvLT6khNpp7gGC7li7Jt.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0078908",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuEIIJqU1JL5I8oo1QHnU5O69hTH.jpg/",
+ "mpaa" : "Rated R",
+ "plot" : "A man tries to uncover an unconventional psychologist's therapy techniques on his institutionalized wife, while a series of brutal attacks committed by a brood of mutant children coincides with the husband's investigation.",
+ "rating" : 5.80000019073486,
+ "director" : [
+ "David Cronenberg"
+ ],
+ "writer" : [
+ "David Cronenberg"
+ ],
+ "country" : [
+ "Canada"
+ ],
+ "originaltitle" : "The Brood",
+ "runtime" : 5520,
+ "playcount" : 0,
+ "title" : "The Brood",
+ "movieid" : 280,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Brood (1979).mp4",
+ "lastplayed" : "",
+ "genre" : [
+ "Horror",
+ "Thriller",
+ "Science Fiction"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1979,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft8pFmS8tvLT6khNpp7gGC7li7Jt.jpg/",
+ "votes" : "32",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=0tGwzi-mLfU"
+ },
+ {
+ "director" : [
+ "Lee Hirsch"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Cynthia Lowen",
+ "Lee Hirsch"
+ ],
+ "mpaa" : "Rated PG-13",
+ "rating" : 7.30000019073486,
+ "plot" : "This year, over 5 million American kids will be bullied at school, online, on the bus, at home, through their cell phones and on the streets of their towns, making it the most common form of violence young people in this country experience. The Bully Project is the first feature documentary film to show how we've all been affected by bullying, whether we've been victims, perpetrators or stood silent witness. The world we inhabit as adults begins on the playground. The Bully Project opens on the first day of school. For the more than 5 million kids who'll be bullied this year in the United States, it's a day filled with more anxiety and foreboding than excitement. As the sun rises and school busses across the country overflow with backpacks, brass instruments and the rambunctious sounds of raging hormones, this is a ride into the unknown.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Bully (2011).mp4",
+ "title" : "Bully",
+ "movieid" : 281,
+ "lastplayed" : "",
+ "originaltitle" : "Bully",
+ "runtime" : 5520,
+ "playcount" : 0,
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8277dTlfJUIJnIU9S91jlksUiTm.jpg/",
+ "year" : 2011,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Drama",
+ "Documentary"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=eUy2ZWoStr0",
+ "votes" : "20",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Bully",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "David Long",
+ "order" : 0,
+ "role" : "Himself"
+ }
+ ],
+ "tagline" : "It's time to take a stand.",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8277dTlfJUIJnIU9S91jlksUiTm.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4K9kuTSkRm6WsVBpzKK8vRCTtN5.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4K9kuTSkRm6WsVBpzKK8vRCTtN5.jpg/",
+ "imdbnumber" : "tt1682181",
+ "sorttitle" : ""
+ },
+ {
+ "year" : 2005,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9qlntXWaNnZRoHKDAzgy6ahhIQL.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [
+ "Canada"
+ ],
+ "writer" : [],
+ "director" : [],
+ "rating" : 0,
+ "plot" : "An irreverent and hilarious spin on opera, domestic drama and the hallowed institutions of love and marriage, Burnt Toast is an hour-long television opera comprised of a series of eight comic operas each depicting a different stage of romantic love. The relationships depicted run the gamut: from the passionate to the fantasized, the bored and of course the dead relationship, each as recognizable as the last.",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Burnt (2005).mp4",
+ "title" : "Burnt Toast",
+ "movieid" : 49,
+ "runtime" : 3060,
+ "playcount" : 0,
+ "originaltitle" : "Burnt Toast",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9qlntXWaNnZRoHKDAzgy6ahhIQL.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAciVxWLVNJJ79mdi40GHklxWWRP.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAciVxWLVNJJ79mdi40GHklxWWRP.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0457559",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Burnt Toast",
+ "tagline" : "",
+ "studio" : [
+ "Rhombus Media"
+ ],
+ "cast" : [
+ {
+ "name" : "Dan Redican",
+ "order" : 0,
+ "role" : "Lab Technician"
+ },
+ {
+ "order" : 1,
+ "role" : "Angel",
+ "name" : "Jean Stilwell"
+ },
+ {
+ "role" : "Devlin",
+ "order" : 2,
+ "name" : "Shannon Mercer"
+ },
+ {
+ "order" : 3,
+ "role" : "Scott",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjXrZtABw90lazqI8Cwoeo07CcGk.jpg/",
+ "name" : "Paul Gross"
+ },
+ {
+ "order" : 4,
+ "role" : "Leanne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmB2cdvNMQLfDDXXNllmd4JNfkvP.jpg/",
+ "name" : "Jessica Holmes"
+ },
+ {
+ "role" : "Tim",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxgZAC5vgVUhFLoOr2n685Vo3LvZ.jpg/",
+ "name" : "Scott Thompson"
+ },
+ {
+ "role" : "Lou",
+ "order" : 6,
+ "name" : "Philip Akin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8x3hkESG8Fyn3r3LcYMdz7QWowG.jpg/"
+ },
+ {
+ "role" : "Julie",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmuKNUntn3epBOG2S3cJdL46bIJX.jpg/",
+ "name" : "Leah Pinsent"
+ },
+ {
+ "role" : "Dave",
+ "order" : 8,
+ "name" : "Colm Feore",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fack88BRQ7mApRMOdaiOqEUh2FDu.jpg/"
+ },
+ {
+ "role" : "Man",
+ "order" : 9,
+ "name" : "Bob Martin"
+ },
+ {
+ "name" : "Liane Balaban",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgoDROZFIF45ARz4dOzzAruIGaE3.jpg/",
+ "role" : "Woman",
+ "order" : 10
+ },
+ {
+ "role" : "Woman on Bench",
+ "order" : 11,
+ "name" : "Diane Fabian"
+ },
+ {
+ "name" : "Mark Breslin",
+ "order" : 12,
+ "role" : "Minister"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuhzKm7LHJzB7G56i7sbkCWRpWVm.jpg/",
+ "name" : "David Alpay",
+ "role" : "Bill",
+ "order" : 13
+ },
+ {
+ "order" : 14,
+ "role" : "Tanya",
+ "name" : "Sarah Manninen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwke8KfQ4NzXDoWSludw62jWDuf6.jpg/"
+ },
+ {
+ "name" : "Kristin Lehman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAp4B4W3eR8WWaFmMn9sSrigBkYQ.jpg/",
+ "role" : "Debra",
+ "order" : 15
+ },
+ {
+ "role" : "Richie",
+ "order" : 16,
+ "name" : "Paul O'Sullivan"
+ },
+ {
+ "name" : "Colin Mochrie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frZHDXYdKus8eXkWj8gNUFq4DApN.jpg/",
+ "role" : "Dougald",
+ "order" : 17
+ },
+ {
+ "role" : "Ursula",
+ "order" : 18,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f18fUaelNCneMMhTChIPRKxwW6ve.jpg/",
+ "name" : "Debra McGrath"
+ },
+ {
+ "order" : 19,
+ "role" : "Anna Maria",
+ "name" : "Cathy Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frX8NJmj2bfiVbGjqMpqhi6ixMwz.jpg/"
+ },
+ {
+ "order" : 20,
+ "role" : "Judge",
+ "name" : "Joel Katz"
+ },
+ {
+ "order" : 21,
+ "role" : "Prosecution",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwIw9x9BAGzeGe9SudxOUdagfNMD.jpg/",
+ "name" : "Maurice Dean Wint"
+ },
+ {
+ "name" : "Martin Houtman",
+ "order" : 22,
+ "role" : "Defence"
+ },
+ {
+ "name" : "Zorana Sadiq",
+ "role" : "Forewoman",
+ "order" : 23
+ },
+ {
+ "order" : 24,
+ "role" : "Trevor",
+ "name" : "Mark McKinney",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4MxVVIo04AKT9D3YHQiGue0gZnh.jpg/"
+ },
+ {
+ "name" : "Barbara Hannigan",
+ "role" : "Constance",
+ "order" : 25
+ },
+ {
+ "order" : 26,
+ "role" : "Charles",
+ "name" : "Seán Cullen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcTHHpH334EdagV8Ni3x3fIzHuW4.jpg/"
+ }
+ ]
+ },
+ {
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=EzzHcrlWpig",
+ "votes" : "9",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2014,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5Qu6aZYCOy3iqIeZVecLjrkFDBU.jpg/",
+ "genre" : [
+ "Crime",
+ "Drama",
+ "Thriller"
+ ],
+ "title" : "By the Gun",
+ "movieid" : 108,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/God Only Knows (2013).mp4",
+ "lastplayed" : "",
+ "originaltitle" : "By the Gun",
+ "runtime" : 6300,
+ "playcount" : 0,
+ "director" : [
+ "James Mottern"
+ ],
+ "writer" : [
+ "Emilio Mauro"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "mpaa" : "Rated R",
+ "plot" : "A rising Boston gangster (Ben Barnes) endangers those around him when he starts to make moves without the knowledge of his boss (Harvey Keitel).",
+ "rating" : 4.19999980926514,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnrpjATknGrD15qg8r7qGiBTBk6K.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt2543702",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5Qu6aZYCOy3iqIeZVecLjrkFDBU.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnrpjATknGrD15qg8r7qGiBTBk6K.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "By the Gun",
+ "cast" : [
+ {
+ "role" : "Ali Matazano",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv2HC3ok4JZoha6A0KtHzbiswj49.jpg/",
+ "name" : "Leighton Meester"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuaqyZo945YT0TScQgiaui5v0iTn.jpg/",
+ "name" : "Ben Barnes",
+ "role" : "Nick Tortano",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Jerry",
+ "name" : "Toby Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7Flo5oYhQmcX5vc0TfAA6FB4ncS.jpg/"
+ },
+ {
+ "order" : 4,
+ "role" : "Salvatore Vitaglia",
+ "name" : "Harvey Keitel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foITNtWSDwA2hbuSuLdKXJZkXOSj.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fe0vpQOl6WgBlJqXzWpYbS5twB6B.jpg/",
+ "name" : "Kenny Wormald",
+ "role" : "Vito Tortano",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f365533.jpg/",
+ "name" : "Paul Ben-Victor",
+ "role" : "Vincent Tortano",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Tony Matazano",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4E22BWQJfR48SKx0qTcDSOyDGSw.jpg/",
+ "name" : "Ritchie Coster"
+ },
+ {
+ "name" : "Slaine",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwq0FQBzfiFfEXfjaGm3FE43IuTJ.jpg/",
+ "order" : 8,
+ "role" : "George Mullins"
+ },
+ {
+ "order" : 9,
+ "role" : "Joe",
+ "name" : "Jay Giannone",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5T3PAzHKZudfot8FNY9hXqAjYgb.jpg/"
+ },
+ {
+ "role" : "Angelo",
+ "order" : 10,
+ "name" : "Armen Garo"
+ },
+ {
+ "role" : "Big Victor",
+ "order" : 11,
+ "name" : "Michael Yebba"
+ }
+ ],
+ "studio" : [
+ "Artina Films"
+ ],
+ "tagline" : "Nick wanted to be a made man until he found a reason to get out.",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Caldura Mare",
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "art" : {},
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2488188",
+ "writer" : [],
+ "country" : [
+ "Romania"
+ ],
+ "director" : [],
+ "plot" : "",
+ "rating" : 0,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "movieid" : 50,
+ "title" : "Caldura Mare",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Caldura Mare (2012).mp4",
+ "runtime" : 600,
+ "originaltitle" : "Caldura Mare",
+ "playcount" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "",
+ "year" : 2012,
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "The Caller",
+ "tagline" : "Some calls are best left unanswered",
+ "studio" : [
+ "Head Gear Films"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Rose Lazar",
+ "name" : "Stephen Moyer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjrneo5RWXrrS2t18wEJMqP08sYX.jpg/"
+ },
+ {
+ "name" : "Rachelle Lefevre",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg6enujzJqgF3prYKp2vfvbrqhZ7.jpg/",
+ "role" : "Mary Kee",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fe6mIeGBDkNFZwFDoskcetgkU5oH.jpg/",
+ "name" : "Luis Guzmán",
+ "order" : 2,
+ "role" : "Rose Lazar"
+ },
+ {
+ "role" : "Steven",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj0V7YV4KIJ3hZPcnCozjB4D1dbN.jpg/",
+ "name" : "Ed Quinn"
+ },
+ {
+ "name" : "Lorna Raver",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiXlz30cBxvyn66fPTFOgbrrlsqT.jpg/",
+ "order" : 4,
+ "role" : "Rose Lazar"
+ },
+ {
+ "name" : "Lydia Echevarria",
+ "order" : 5,
+ "role" : "Old Woman"
+ },
+ {
+ "role" : "Young Woman",
+ "order" : 6,
+ "name" : "Aris Mejias"
+ },
+ {
+ "order" : 7,
+ "role" : "Concetta Guidi",
+ "name" : "Gladys Rodriguez"
+ },
+ {
+ "order" : 8,
+ "role" : "Attorney Davis",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyVzlhRLDGNb55DcTJjta2L6B908.jpg/",
+ "name" : "Alfredo De Quesada"
+ },
+ {
+ "name" : "Brian Tester",
+ "order" : 9,
+ "role" : "Attorney Kirby"
+ },
+ {
+ "role" : "Dr. Hain",
+ "order" : 10,
+ "name" : "Grace Connelly"
+ },
+ {
+ "name" : "Marisé Alvarez",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3iRR1C4Fa5nsf7hnJhHGPlE0PU1.jpg/",
+ "order" : 11,
+ "role" : "Nurse"
+ }
+ ],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhvkET56CZUa7zSAcYSu3EAcH8y7.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftlhbXjcSCpNqLQTTtFSXLbV5yQg.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhvkET56CZUa7zSAcYSu3EAcH8y7.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt1525890",
+ "sorttitle" : "",
+ "country" : [
+ "Puerto Rico"
+ ],
+ "writer" : [
+ "Sergio Casci"
+ ],
+ "director" : [
+ "Matthew Parkhill"
+ ],
+ "rating" : 4.90000009536743,
+ "plot" : "Troubled divorcee Mary Kee is tormented by a series of sinister phone calls from a mysterious woman. When the stranger reveals she's calling from the past, Mary tries to break off contact. But the caller doesn't like being ignored, and looks for revenge in a unique and terrifying way...",
+ "mpaa" : "Rated R",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Caller (2015).mp4",
+ "title" : "The Caller",
+ "movieid" : 283,
+ "playcount" : 0,
+ "runtime" : 5520,
+ "originaltitle" : "The Caller",
+ "year" : 2011,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftlhbXjcSCpNqLQTTtFSXLbV5yQg.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Horror",
+ "Thriller",
+ "Mystery"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=GBO-H9EZW5c",
+ "votes" : "19"
+ },
+ {
+ "playcount" : 0,
+ "runtime" : 5640,
+ "originaltitle" : "Camille",
+ "movieid" : 51,
+ "title" : "Camille",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Camille (2002).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "A twisted honeymoon adventure about a young couple on their way to Niagara Falls.",
+ "rating" : 5.69999980926514,
+ "director" : [
+ "Gregory Mackenzie"
+ ],
+ "writer" : [
+ "Nick Pustay"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "votes" : "15",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=TQSlPA9ZR74",
+ "genre" : [
+ "Comedy",
+ "Drama",
+ "Romance"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9xI73b0I1R5AcvhR125JJu653As.jpg/",
+ "year" : 2008,
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f83YFewW40Irf6hk6MP5vJa8yKiP.jpg/",
+ "name" : "Sienna Miller",
+ "role" : "Camille Foster",
+ "order" : 0
+ },
+ {
+ "name" : "James Franco",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm9he3UnbmAAxkV1XH2EmzkNfkaS.jpg/",
+ "order" : 1,
+ "role" : "Silias"
+ },
+ {
+ "role" : "Cowboy Bob",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwCvrY9PUKtN6NwkmLHWLJivCCov.jpg/",
+ "name" : "David Carradine"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faKUJwCKhl4qCi7j7M7TRpqWLmmO.jpg/",
+ "name" : "Scott Glenn",
+ "role" : "Sheriff Foster",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Sheriff Steiner",
+ "name" : "Ed Lauter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcr9WYGps3NZXkSFKrpB9BKnz0yo.jpg/"
+ },
+ {
+ "role" : "Deputy Ruddy",
+ "order" : 5,
+ "name" : "Mark Wilson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9yWghG3FfsrxYeW2fHuy9Rc5CWe.jpg/"
+ },
+ {
+ "name" : "Steve Markoff",
+ "role" : "Niagara Falls Tour Guide",
+ "order" : 6
+ },
+ {
+ "name" : "Mimi Kuzyk",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7OYNPeE8DK7hi1IUXBoqyJvLYMc.jpg/",
+ "order" : 7,
+ "role" : "Ms. Samuels"
+ },
+ {
+ "name" : "James B. Douglas",
+ "order" : 8,
+ "role" : "Preacher"
+ }
+ ],
+ "studio" : [
+ "A-Mark Entertainment"
+ ],
+ "tagline" : "A romantic comedy about a marriage that truly is forever.",
+ "label" : "Camille",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0462219",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fia1bNI2VBgKyvGK84TchP6f22AG.jpg/",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fia1bNI2VBgKyvGK84TchP6f22AG.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9xI73b0I1R5AcvhR125JJu653As.jpg/"
+ }
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzpKBvSoqpBD0SePJIaGYIo56JAV.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0035709",
+ "sorttitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Campo de' fiori",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Aldo Fabrizi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fklWr6bFEp7hjNGziDMTCIFez3Jh.jpg/",
+ "role" : "Peppino Corradini",
+ "order" : 0
+ },
+ {
+ "name" : "Anna Magnani",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fouUMbgwl1TaoXx67bwDCWt2gq2d.jpg/",
+ "role" : "Elide",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Aurelio",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1z36SusLqI3djo3Q0Ai7FIyUz2m.jpg/",
+ "name" : "Peppino De Filippo"
+ },
+ {
+ "role" : "Elsa Bianchini",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1Wh2iwtM4cnZcvWx1WERc5plA8M.jpg/",
+ "name" : "Caterina Boratto"
+ },
+ {
+ "order" : 4,
+ "role" : "Olga",
+ "name" : "Olga Solbelli",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAitgs3GSD5r4yKBR1zl6mpqehmk.jpg/"
+ },
+ {
+ "role" : "Rosa, domestica di Olga",
+ "order" : 5,
+ "name" : "Rina Franchetti"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fJjUgH6kyEyZ4kgfusXENCkhlk8.jpg/",
+ "name" : "Saro Urzì",
+ "role" : "Amico di Elide e Olga",
+ "order" : 6
+ }
+ ],
+ "tagline" : "",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzpKBvSoqpBD0SePJIaGYIo56JAV.jpg/",
+ "year" : 1943,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Mario Bonnard"
+ ],
+ "country" : [
+ "Italy"
+ ],
+ "writer" : [
+ "Marino Girolami"
+ ],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Campo de' fiori (2014).mp4",
+ "title" : "Campo de' fiori",
+ "movieid" : 52,
+ "lastplayed" : "",
+ "originaltitle" : "Campo de' fiori",
+ "runtime" : 0,
+ "playcount" : 0
+ },
+ {
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt0132031",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Champagner und Kamillentee",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Andrea Sawatzki",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsUZCPk5KSl3W9pdLFgO3D9NSF06.jpg/",
+ "order" : 1,
+ "role" : "Iris Dohmann"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcKAsLkt3HkFOB4VfOzwQS6cr1Nn.jpg/",
+ "name" : "Oliver Stritzel",
+ "role" : "Dr. Rüdiger Dohmann",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft7aVmFNyrmZI7f1hAZkoDV4zgvU.jpg/",
+ "name" : "Herbert Herrmann",
+ "role" : "Martin Gräf",
+ "order" : 3
+ },
+ {
+ "name" : "Claudine Wilde",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgrCHczITFGe1YPvjansDLrVgsxm.jpg/",
+ "order" : 4,
+ "role" : "Clarissa Maiwald"
+ },
+ {
+ "role" : "Elisabeth",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f99ZOwlyiL77D15t0a4D25QK6mxE.jpg/",
+ "name" : "Nadja Tiller"
+ },
+ {
+ "name" : "Peter Fitz",
+ "order" : 6,
+ "role" : "Jürgen Flohse"
+ },
+ {
+ "role" : "Dr.Weiss",
+ "order" : 7,
+ "name" : "Hans-Jürgen Schatz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdE1EGNmmnjK6dmkA6NlHb2fgYqC.jpg/",
+ "name" : "Tana Schanzara",
+ "role" : "Frau Niedermayer",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "Carola",
+ "name" : "Petra Zieser",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpS2cEduXaUWqzUX7okBhyCmcEgM.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqdQKilTiLQ1As1K8nWSm2HjvdLQ.jpg/",
+ "name" : "Maren Schumacher",
+ "order" : 10,
+ "role" : "Maria"
+ }
+ ],
+ "year" : 1997,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [],
+ "director" : [
+ "Marijan David Vajda"
+ ],
+ "rating" : 0,
+ "plot" : "",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Champagne (1997).mp4",
+ "title" : "Champagner und Kamillentee",
+ "movieid" : 54,
+ "runtime" : 0,
+ "originaltitle" : "Champagner und Kamillentee",
+ "playcount" : 0
+ },
+ {
+ "director" : [
+ "Nick Broomfield",
+ "Sandi Sissel"
+ ],
+ "writer" : [],
+ "country" : [
+ "United Kingdom"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Documentary on the \"Chicken Ranch,\" a legal Nevada brothel.",
+ "rating" : 6,
+ "movieid" : 55,
+ "title" : "Chicken Ranch",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Chicken Ranch (1983).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 4440,
+ "originaltitle" : "Chicken Ranch",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1983,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff0LBlgtBvS2KlYzSE1ARyiF2bHC.jpg/",
+ "genre" : [
+ "Documentary"
+ ],
+ "trailer" : "",
+ "votes" : "1",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Chicken Ranch",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "'The best little brothel in Nevada'",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff0LBlgtBvS2KlYzSE1ARyiF2bHC.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0162243"
+ },
+ {
+ "label" : "The Chip",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Marion",
+ "name" : "Isild Le Besco",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpYSUYgNXKWINdPTlrlJUJlU7H1k.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7ATecIMp8xaPFotelxbS9HvsmPp.jpg/",
+ "name" : "Olivier Marchal",
+ "role" : "Marc",
+ "order" : 1
+ },
+ {
+ "role" : "Le garçon",
+ "order" : 2,
+ "name" : "Jowan Le Besco"
+ },
+ {
+ "role" : "La mère",
+ "order" : 3,
+ "name" : "Catherine Belkhodja"
+ }
+ ],
+ "studio" : [
+ "Moby Dick Films"
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu9KmGkXZBifkoVztPtIETQLoXVk.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0211580",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftHAtiv0MSzStdLydm6dMOt3pyPe.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu9KmGkXZBifkoVztPtIETQLoXVk.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "movieid" : 159,
+ "title" : "The Chip",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/La puce (1999).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 2400,
+ "originaltitle" : "La puce",
+ "director" : [
+ "Emmanuelle Bercot"
+ ],
+ "writer" : [
+ "Emmanuelle Bercot",
+ "Michelle Meyer"
+ ],
+ "country" : [
+ "France"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Marion is a 14 year old girl, on holidays at the sea. She is in conflict with her mother and family. She meets a man there, to whom she feels close. Back in Paris, she goes to see him again. For the first time, she is going to make love.",
+ "rating" : 0,
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1999,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftHAtiv0MSzStdLydm6dMOt3pyPe.jpg/",
+ "genre" : [
+ "Drama",
+ "Romance"
+ ]
+ },
+ {
+ "genre" : [
+ "Documentary"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbdFWIhP1hA9R08n1regiRZFRYL3.jpg/",
+ "year" : 2011,
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "Just off the southern coast of mainland Greece lies the oldest submerged city in the world. It thrived for 2,000 years during the time that saw the birth of western civilisation.\\r An international team of experts is using cutting-edge technology to prise age-old secrets from the complex of streets and stone buildings that lie less than five metres below the surface of the ocean. State-of-the-art CGI helps to raise the city from the seabed, revealing for the first time in 3,500 years how Pavlopetri would once have looked and operated.",
+ "rating" : 0,
+ "director" : [
+ "Paul Olding"
+ ],
+ "writer" : [],
+ "country" : [],
+ "runtime" : 3000,
+ "playcount" : 0,
+ "originaltitle" : "City Beneath the Waves - Pavlopetri",
+ "title" : "City Beneath the Waves - Pavlopetri",
+ "movieid" : 37,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Beneath the Waves (2011).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbdFWIhP1hA9R08n1regiRZFRYL3.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2433086",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [],
+ "studio" : [
+ "BBC"
+ ],
+ "tagline" : "Just off the southern coast of mainland Greece lies the oldest submerged city in the world. It thrived for 2,000 years during the time that saw the birth of western civilisation.",
+ "label" : "City Beneath the Waves - Pavlopetri"
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "The Cloth Peddler",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {},
+ "sorttitle" : "",
+ "imdbnumber" : "tt0499428",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "mpaa" : "",
+ "plot" : "Directed by Boris Svetlov.",
+ "rating" : 0,
+ "director" : [
+ "Boris Svetlov"
+ ],
+ "writer" : [],
+ "country" : [],
+ "runtime" : 0,
+ "originaltitle" : "Arshin mal-alan",
+ "playcount" : 0,
+ "title" : "The Cloth Peddler",
+ "movieid" : 26,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Arshin mal-alan (1960).mp4",
+ "lastplayed" : "",
+ "genre" : [],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 1914,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "director" : [
+ "Ivan Andrew Payawal"
+ ],
+ "country" : [
+ "Philippines"
+ ],
+ "writer" : [
+ "Ivan Andrew Payawal"
+ ],
+ "mpaa" : "",
+ "rating" : 0.5,
+ "plot" : "A thirty two year old faded actress who loses everything in her life and decides to commit suicide. However, on the day she decides to kill herself, she receives a package containing four letters and ashes in a vase: a dead man’s ashes in search of a home.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Comeback (1989).mp4",
+ "movieid" : 284,
+ "title" : "The Comeback",
+ "lastplayed" : "",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "The Comeback",
+ "top250" : 0,
+ "year" : 2015,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjZXJBruEo1dnC7RhuSRAK7RTlzu.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "1",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The Comeback",
+ "studio" : [
+ "Cinema One Originals"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu9ld13mBfBnDXPW2UL2IG0gn26K.jpg/",
+ "name" : "Kaye Abad",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Valeen Montenegro",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl9qgEfTOrfUbHNFqYxuYcGFonP7.jpg/",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Patrick Garcia",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmgUkRvw8zlzgMzBlpvtEffvo6U1.jpg/"
+ },
+ {
+ "name" : "Matt Evans",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffTqVINgffv5vTmu7nRF8R10JcYv.jpg/",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "order" : 5,
+ "name" : "Adrienne Vergara"
+ },
+ {
+ "name" : "Julia Enriquez",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Bea Galvez",
+ "order" : 7,
+ "role" : ""
+ },
+ {
+ "name" : "Kate Alconga",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "name" : "Sheena Ramos",
+ "role" : "",
+ "order" : 9
+ }
+ ],
+ "tagline" : "Make a scene!",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjZXJBruEo1dnC7RhuSRAK7RTlzu.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "",
+ "sorttitle" : ""
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Christopher Walken",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fysO1GwRzLT9OVAB9Y2SKHxomqDr.jpg/",
+ "role" : "Whitley Strieber",
+ "order" : 0
+ },
+ {
+ "role" : "Anne Strieber",
+ "order" : 1,
+ "name" : "Lindsay Crouse",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmAZTWVbtfmC0R4R6TZ3rjhJSW0b.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Dr. Janet Duffy",
+ "name" : "Frances Sternhagen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuFPwqtJObVUyRymTZbgBDWlFxtw.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "Alex",
+ "name" : "Andreas Katsulas",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz1bbvx6O7VWGrtxCFugo5aCyqMS.jpg/"
+ },
+ {
+ "role" : "Sarah",
+ "order" : 4,
+ "name" : "Terri Hanauer"
+ },
+ {
+ "role" : "Andrew Strieber",
+ "order" : 5,
+ "name" : "Joel Carlson"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc0EIs8wCQehz0bRvao7Qxfot1h3.jpg/",
+ "name" : "John Dennis Johnston",
+ "order" : 6,
+ "role" : "Fireman"
+ },
+ {
+ "role" : "Mrs. Greenberg",
+ "order" : 7,
+ "name" : "Dee Dee Rescher"
+ },
+ {
+ "name" : "Aileen Fitzpatrick",
+ "order" : 8,
+ "role" : "Mother"
+ },
+ {
+ "name" : "R.J. Miller",
+ "role" : "Father",
+ "order" : 9
+ },
+ {
+ "name" : "Holly Fields",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdp6FDOG4f6tg0NlTmNs0X8IjVAR.jpg/",
+ "role" : "Praying Mantis Girl",
+ "order" : 10
+ }
+ ],
+ "studio" : [
+ "Allied Vision"
+ ],
+ "tagline" : "The true story of one man's terrifying journey into the unknown.",
+ "label" : "Communion",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5hFzHIxlJPYijH9w9V1dvQPQcHm.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw8vYt11yKM8FTFJ1NlM1HSCcpmJ.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0097100",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw8vYt11yKM8FTFJ1NlM1HSCcpmJ.jpg/",
+ "mpaa" : "Rated R",
+ "plot" : "A novelist's wife and son see him changed by an apparent encounter with aliens in the mountains.",
+ "rating" : 4.69999980926514,
+ "director" : [
+ "Philippe Mora"
+ ],
+ "writer" : [
+ "Whitley Strieber"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "runtime" : 6180,
+ "originaltitle" : "Communion",
+ "playcount" : 0,
+ "movieid" : 59,
+ "title" : "Communion",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Communion (2009).mp4",
+ "lastplayed" : "",
+ "genre" : [
+ "Drama",
+ "Horror",
+ "Science Fiction",
+ "Thriller"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5hFzHIxlJPYijH9w9V1dvQPQcHm.jpg/",
+ "year" : 1989,
+ "votes" : "16",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=t6dHtLMXdAc"
+ },
+ {
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1923,
+ "thumbnail" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "plot" : "Unable to pay train fare for a pet, a girl disguises her dog as a baby. It is later mistaken for a kidnapped baby.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "title" : "Condemned",
+ "movieid" : 60,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Condemned (1923).mp4",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Condemned",
+ "art" : {},
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0013945",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Condemned",
+ "tagline" : "",
+ "cast" : [],
+ "studio" : []
+ },
+ {
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhMOdYPLsU4L5NUCoNIj8Y9kW8OP.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnnKX3ahYoT7P3au92dNgLf4pKwA.jpg/"
+ },
+ "imdbnumber" : "tt1821641",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhMOdYPLsU4L5NUCoNIj8Y9kW8OP.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "Robin Wright at the Congress",
+ "studio" : [
+ "Pandora Filmproduktion"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "herself",
+ "name" : "Robin Wright",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcke0NNZP4lHRtOethRy2XGSOp3E.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frX4LRmkYshMRfQ6lVbeZVAfqVKI.jpg/",
+ "name" : "Paul Giamatti",
+ "order" : 1,
+ "role" : "Dr Barker"
+ },
+ {
+ "name" : "Harvey Keitel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foITNtWSDwA2hbuSuLdKXJZkXOSj.jpg/",
+ "role" : "Al",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Aaron Wright",
+ "name" : "Kodi Smit-McPhee",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvJLSwYtJH8NHEUDh508XxewnrjD.jpg/"
+ },
+ {
+ "role" : "Jeff Green",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjc1eGtCShQ2ZkzqWApiWbA1lbTF.jpg/",
+ "name" : "Danny Huston"
+ },
+ {
+ "order" : 6,
+ "role" : "Sarah Wright",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk3TMcxxdkNq5PNWA6ruahlGmmZY.jpg/",
+ "name" : "Sami Gayle"
+ },
+ {
+ "name" : "Michael Stahl-David",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f176871.jpg/",
+ "order" : 8,
+ "role" : "Steve"
+ },
+ {
+ "name" : "Jon Hamm",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7sjEnFaFNOzPeu5GhCeNJWhnOLt.jpg/",
+ "order" : 10,
+ "role" : "Dylan Truliner (voice)"
+ },
+ {
+ "role" : "Man in Zeppelin",
+ "order" : 11,
+ "name" : "Jörg Vincent Malotki",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fufEb96rjRGV1xfqX7OmO6O79BoA.jpg/"
+ }
+ ],
+ "label" : "The Congress",
+ "genre" : [
+ "Drama",
+ "Science Fiction",
+ "Animation"
+ ],
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnnKX3ahYoT7P3au92dNgLf4pKwA.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "63",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=IMWmbjSmBSA",
+ "rating" : 6.09999990463257,
+ "plot" : "An aging, out-of-work actress accepts one last job, though the consequences of her decision affect her in ways she didn't consider.",
+ "mpaa" : "Rated NR",
+ "country" : [
+ "Belgium"
+ ],
+ "writer" : [
+ "Ari Folman"
+ ],
+ "director" : [
+ "Ari Folman"
+ ],
+ "playcount" : 0,
+ "runtime" : 7320,
+ "originaltitle" : "The Congress",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/El congreso (2000).mp4",
+ "title" : "The Congress",
+ "movieid" : 86
+ },
+ {
+ "runtime" : 300,
+ "playcount" : 0,
+ "originaltitle" : "Connect",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Connect (2010).mp4",
+ "title" : "Connect",
+ "movieid" : 61,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Fed up with the hostility of the city and its people, a young woman's view of the world changes when she makes a surprise connection with a stranger on a bus.",
+ "director" : [
+ "Samuel Abrahams"
+ ],
+ "country" : [],
+ "writer" : [
+ "Samuel Abrahams"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyJ3Ggas37g48oGSLb3XrsaHYZcl.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2VMfA1D1bGuopULewgFwV1wt37k.jpg/",
+ "name" : "Tuppence Middleton",
+ "order" : 0,
+ "role" : "Woman"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Connect",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt1692305",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyJ3Ggas37g48oGSLb3XrsaHYZcl.jpg/"
+ }
+ },
+ {
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgiJc2ARzQmQuDy9CbHtMOb8A93d.jpg/",
+ "year" : 2011,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "",
+ "plot" : "",
+ "rating" : 0,
+ "title" : "Copy & Paste",
+ "movieid" : 62,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Copy Paste (2010).mp4",
+ "lastplayed" : "",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Copy & Paste",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgiJc2ARzQmQuDy9CbHtMOb8A93d.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Copy & Paste",
+ "cast" : [
+ {
+ "role" : "Michael Elsener",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fohNU90C1MpX1xRUcIIOZEB1536L.jpg/",
+ "name" : "Michael Elsener"
+ }
+ ],
+ "studio" : [],
+ "tagline" : ""
+ },
+ {
+ "sorttitle" : "",
+ "imdbnumber" : "tt0380281",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdVQ9ogcTjUY7cAzx7DHwFtPnx3K.jpg/"
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "role" : "Hortensia",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiDi5ZskzSXdptMUgGmNzQ57xStf.jpg/",
+ "name" : "Ana Belén"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2famJKpgzBvEr9d6WIuT1MjADzDZT.jpg/",
+ "name" : "Eduard Fernández",
+ "order" : 1,
+ "role" : "Jorge"
+ },
+ {
+ "name" : "María Pujalte",
+ "role" : "Ángeles",
+ "order" : 2
+ }
+ ],
+ "studio" : [],
+ "label" : "Cosas que hacen que la vida valga la pena",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "votes" : "1",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=VsXP_Jdi5H8",
+ "genre" : [
+ "Drama",
+ "Comedy",
+ "Romance",
+ "Foreign"
+ ],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2004,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdVQ9ogcTjUY7cAzx7DHwFtPnx3K.jpg/",
+ "top250" : 0,
+ "runtime" : 5400,
+ "originaltitle" : "Cosas que hacen que la vida valga la pena",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "movieid" : 63,
+ "title" : "Cosas que hacen que la vida valga la pena",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Cosas que hacen que la vida valga la pena (2004).mp4",
+ "plot" : "Hortensia is a mature officer of the INEM office. She has been abandoned by her husband so she doesn't believe in love anymore. One day Eduardo Fernandez goes to the employment office because after overcoming a deep depression, he has decided that his life has to get better.",
+ "rating" : 7,
+ "mpaa" : "",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Manuel Gómez Pereira"
+ ]
+ },
+ {
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt1463773",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5qGfbbwYct0s9itVYJ7Nf9F8dDx.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "Crashing the Con",
+ "tagline" : "",
+ "studio" : [
+ "Nice Try Productions"
+ ],
+ "cast" : [
+ {
+ "name" : "Jason Stout",
+ "order" : 0,
+ "role" : "Jason Stout"
+ },
+ {
+ "order" : 1,
+ "role" : "Douglas Thigpen",
+ "name" : "Douglas Thigpen"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=3154",
+ "votes" : "2",
+ "year" : 2009,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5qGfbbwYct0s9itVYJ7Nf9F8dDx.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Documentary"
+ ],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Crashing the Con (2009).mp4",
+ "movieid" : 64,
+ "title" : "Crashing the Con",
+ "runtime" : 7080,
+ "playcount" : 0,
+ "originaltitle" : "Crashing the Con",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "director" : [
+ "Douglas Thigpen"
+ ],
+ "rating" : 5.30000019073486,
+ "plot" : "Crashing the Con is a documentary on San Diego Comic-Con 2008, and more importantly, a profile on the various types of people whom attend and exhibit at it every year. Told through a series of humorous stories and interviews, we explore what makes these individuals tick and why they travel from around the globe to attend this convention every year.",
+ "mpaa" : "Rated"
+ },
+ {
+ "genre" : [
+ "Comedy",
+ "Science Fiction"
+ ],
+ "top250" : 0,
+ "year" : 1967,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbDCVJeYlcQ3PYvdjOkAMChE1s3x.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "1",
+ "trailer" : "",
+ "mpaa" : "Rated",
+ "rating" : 6,
+ "plot" : "In this underground film from rebel New York filmmaker Mike Kuchar, an unhappy housewife seeks solace in the arms of a stranger. Adele (Floraine Connors) loathes her husband and fantasizes about starring in a movie called \"The Craven Sluck.\" Bumping into a dashing suitor while out walking her dog, Adele thinks she may have finally found a way out. After all, Morton (George Kuchar) himself is stuck in a bum marriage with the irritating Florence (Bob Cowan). As it turns out, though, it's a flying saucer rather than a new boyfriend that will provide Adele with her escape route.",
+ "director" : [
+ "Mike Kuchar"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Mike Kuchar"
+ ],
+ "runtime" : 1200,
+ "originaltitle" : "The Craven Sluck",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Crave (2007).mp4",
+ "title" : "The Craven Sluck",
+ "movieid" : 286,
+ "lastplayed" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbDCVJeYlcQ3PYvdjOkAMChE1s3x.jpg/"
+ },
+ "imdbnumber" : "tt0206664",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Floraine Connors",
+ "role" : "Adele",
+ "order" : 0
+ },
+ {
+ "name" : "George Kuchar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fMEHzOVoUcfUG7S7T6fwVy7Xhei.jpg/",
+ "role" : "Morton",
+ "order" : 1
+ },
+ {
+ "name" : "Bob Cowan",
+ "order" : 2,
+ "role" : "Florence"
+ }
+ ],
+ "tagline" : "",
+ "label" : "The Craven Sluck"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The Crazy Stranger",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbuU0mFOX7PvSr50F6H8SrN71W08.jpg/",
+ "name" : "Romain Duris",
+ "role" : "Stéphane",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Sabrina",
+ "name" : "Rona Hartner"
+ },
+ {
+ "order" : 2,
+ "role" : "Izidor",
+ "name" : "Izidor Serban"
+ },
+ {
+ "name" : "Ovidiu Balan",
+ "role" : "Sami",
+ "order" : 3
+ },
+ {
+ "role" : "Angela",
+ "order" : 4,
+ "name" : "Angela Serban"
+ },
+ {
+ "role" : "Aurica",
+ "order" : 5,
+ "name" : "Aurica Ursan"
+ },
+ {
+ "name" : "Vasile Serban",
+ "order" : 6,
+ "role" : "Vasile"
+ },
+ {
+ "order" : 7,
+ "role" : "Iaon",
+ "name" : "Ioan Serban"
+ },
+ {
+ "name" : "Gheorge Gherebenec",
+ "order" : 8,
+ "role" : "Gheorge"
+ },
+ {
+ "name" : "Dan Aştileanu",
+ "role" : "Dumitru",
+ "order" : 9
+ }
+ ],
+ "studio" : [
+ "Le Studio Canal+"
+ ],
+ "tagline" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqtRB1sMp2jBwPXEVZfmyjkXjvOe.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3Ekh02aZ50C6m5wuwNNXzFg2iQg.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3Ekh02aZ50C6m5wuwNNXzFg2iQg.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0122082",
+ "director" : [
+ "Tony Gatlif"
+ ],
+ "writer" : [
+ "Tony Gatlif"
+ ],
+ "country" : [
+ "France"
+ ],
+ "mpaa" : "",
+ "plot" : "A man is looking for a singer he had heard on cassette. He finds much more.",
+ "rating" : 6.59999990463257,
+ "movieid" : 103,
+ "title" : "The Crazy Stranger",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Gadjo (2014).mp4",
+ "lastplayed" : "",
+ "runtime" : 6120,
+ "originaltitle" : "Gadjo Dilo",
+ "playcount" : 0,
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1998,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqtRB1sMp2jBwPXEVZfmyjkXjvOe.jpg/",
+ "genre" : [
+ "Drama",
+ "Music",
+ "Romance"
+ ],
+ "trailer" : "",
+ "votes" : "6"
+ },
+ {
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "William Beaudine"
+ ],
+ "plot" : "A police reporter (Stuart Erwin) solves a robbery/murder stemming from a banker hypnotized by a doctor (Jean Hersholt).",
+ "rating" : 4,
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "title" : "The Crime of the Century",
+ "movieid" : 287,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Crime of the Century (1933).mp4",
+ "runtime" : 4380,
+ "originaltitle" : "The Crime of the Century",
+ "playcount" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fslxbK5ee89VjSHA9Ao7MNgNEO8o.jpg/",
+ "year" : 1933,
+ "top250" : 0,
+ "genre" : [
+ "Mystery",
+ "Crime"
+ ],
+ "trailer" : "",
+ "votes" : "1",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "The Crime of the Century",
+ "tagline" : "He couldn't stop himself from committing -- The Crime of the Century",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Dr. Emil Brandt",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f47EWS9uYU5vx10cnyjtqVVDytnI.jpg/",
+ "name" : "Jean Hersholt"
+ },
+ {
+ "order" : 1,
+ "role" : "Frieda Brandt",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flAP1CdKQX0vQ7cGc70bkzQKECRs.jpg/",
+ "name" : "Wynne Gibson"
+ },
+ {
+ "order" : 2,
+ "role" : "Dan McKee",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flJ05qDJypQEJe6bvW6V2g8lM6Kq.jpg/",
+ "name" : "Stuart Erwin"
+ },
+ {
+ "name" : "Frances Dee",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqXYfQyUa83g4tkdFMIU3VLBsDao.jpg/",
+ "order" : 3,
+ "role" : "Doris Brandt"
+ },
+ {
+ "name" : "Gordon Westcott",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwtPQielKOhH9XBx6LE5DImqdiOV.jpg/",
+ "role" : "Gilbert Reid",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Police Capt. Timothy Riley",
+ "name" : "Robert Elliott"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2NNjWKbeIdibyXcPrzRn5JKCVlF.jpg/",
+ "name" : "David Landau",
+ "order" : 6,
+ "role" : "Police Lt. Frank Martin"
+ },
+ {
+ "role" : "Jim Brandt",
+ "order" : 7,
+ "name" : "William Janney"
+ },
+ {
+ "name" : "Bodil Rosing",
+ "role" : "Hilda - the Maid",
+ "order" : 8
+ },
+ {
+ "name" : "Torben Meyer",
+ "order" : 9,
+ "role" : "Eric - the Butler"
+ },
+ {
+ "order" : 10,
+ "role" : "Philip Ames",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvPlot960fIaZ10TEnr3phhacp7T.jpg/",
+ "name" : "Samuel S. Hinds"
+ },
+ {
+ "order" : 11,
+ "role" : "Bridge Player (uncredited)",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foBUProXvlf58Y3Cp9qEFWFW6rib.jpg/",
+ "name" : "Isabel Jewell"
+ }
+ ],
+ "studio" : [
+ "Paramount Pictures"
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fslxbK5ee89VjSHA9Ao7MNgNEO8o.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0023918"
+ },
+ {
+ "imdbnumber" : "tt2304569",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2XLZIArUQaGEs35Jp63iUsJEP0N.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAkFoWfBgJ3otfJ9mMTLeZ3JRBLM.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2XLZIArUQaGEs35Jp63iUsJEP0N.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 0,
+ "name" : "Plutarco Haza",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9GUSzxBmGpganZRHZZz5f244XDq.jpg/"
+ },
+ {
+ "name" : "Maria de la Fuente",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7vxkBm25k7tYAZrc2a1aGwTv3u4.jpg/",
+ "role" : "",
+ "order" : 1
+ }
+ ],
+ "label" : "Crimenes de lujuria",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Drama",
+ "Thriller",
+ "Romance"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAkFoWfBgJ3otfJ9mMTLeZ3JRBLM.jpg/",
+ "year" : 2011,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "originaltitle" : "Crimenes de lujuria",
+ "runtime" : 5340,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Crimenes de Lujuria (2011).mp4",
+ "movieid" : 65,
+ "title" : "Crimenes de lujuria",
+ "rating" : 0,
+ "plot" : "",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Walter Doehner"
+ ]
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffLVH69fdX23rdJrdu4wniZfv4Qk.jpg/",
+ "year" : 2014,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Thriller",
+ "Action",
+ "Science Fiction"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=M7ZUxJD0Lbg",
+ "votes" : "8",
+ "country" : [
+ "New Zealand"
+ ],
+ "writer" : [
+ "David Gould"
+ ],
+ "director" : [
+ "David Gould"
+ ],
+ "rating" : 5.59999990463257,
+ "plot" : "When a young female scientist discovers that the pharmaceutical company she works for had developed a cure for cancer years earlier, she attempts to release it to the world. Knowing that they make more money from chemotherapy drugs than the cure, the company does everything it can to stop her.",
+ "mpaa" : "Rated R",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Cure (2015).mp4",
+ "title" : "The Cure",
+ "movieid" : 288,
+ "runtime" : 5340,
+ "originaltitle" : "The Cure",
+ "playcount" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffLVH69fdX23rdJrdu4wniZfv4Qk.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fylLdD5dj4JGr0qgVrb444pCka7G.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fylLdD5dj4JGr0qgVrb444pCka7G.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt2175947",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "The Cure",
+ "tagline" : "The cure for cancer must never be revealed",
+ "studio" : [
+ "David Gould Studios"
+ ],
+ "cast" : [
+ {
+ "name" : "Antonia Prebble",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl84t0UCfIM2zXBi3i7VEVu9tkEu.jpg/",
+ "order" : 1,
+ "role" : "Beth"
+ },
+ {
+ "role" : "Ryan",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2KjIMXOQU7uFnFSxeCHEFWuo81C.jpg/",
+ "name" : "Daniel Lissing"
+ },
+ {
+ "name" : "Stephen Lovatt",
+ "order" : 3,
+ "role" : "Ted"
+ },
+ {
+ "name" : "John Bach",
+ "role" : "Lionel",
+ "order" : 4
+ },
+ {
+ "name" : "John Landreth",
+ "role" : "Wentworth",
+ "order" : 5
+ }
+ ]
+ },
+ {
+ "playcount" : 0,
+ "runtime" : 720,
+ "originaltitle" : "The Current Situation",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Current (2015).mp4",
+ "movieid" : 289,
+ "title" : "The Current Situation",
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Two simultaneous events—the cutting down of a palm tree and the sound of a demonstration against austerity outside the Portuguese Parliament—become related, in unison, reflecting the present situation. While the trees are being cut due to the red weevil plague, that is affecting specific types of palm trees brought from African ex-colonies, the demonstrations against austerity are identified as the roots of economic crisis.",
+ "director" : [
+ "Pedro Barateiro"
+ ],
+ "country" : [
+ "Portugal"
+ ],
+ "writer" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "History",
+ "Documentary"
+ ],
+ "top250" : 0,
+ "year" : 2015,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1R2Jwa0dQAbVUtAWuJn31qylANT.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "The Current Situation",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1R2Jwa0dQAbVUtAWuJn31qylANT.jpg/"
+ }
+ },
+ {
+ "imdbnumber" : "tt0095643",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgqBk9ZRLsW87KyZgVTOBZnENyAy.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flEEmV66UhxP34yUHWPMXs08lbaV.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgqBk9ZRLsW87KyZgVTOBZnENyAy.jpg/"
+ },
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Hanbei Kawai",
+ "order" : 0,
+ "role" : "Akagi"
+ },
+ {
+ "name" : "Hiroko Ida",
+ "order" : 1,
+ "role" : "Jiromaru"
+ },
+ {
+ "role" : "Princess Saki",
+ "order" : 2,
+ "name" : "Eri Morishita"
+ },
+ {
+ "name" : "Makoto Yokoyama",
+ "role" : "Shiranui",
+ "order" : 3
+ },
+ {
+ "name" : "Fuyukichi Maki",
+ "order" : 4,
+ "role" : "Kajiwara"
+ },
+ {
+ "name" : "Shôhei Yamamoto",
+ "order" : 5,
+ "role" : "Raimei Dark Bishop"
+ },
+ {
+ "role" : "Shoki",
+ "order" : 6,
+ "name" : "Mizuho Yoshida"
+ }
+ ],
+ "tagline" : "The Hour of Final Conflict Has Arrived...",
+ "label" : "Cyber Ninja",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "2",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=ByH8BGI6hQA",
+ "genre" : [
+ "Action",
+ "Science Fiction",
+ "Foreign"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flEEmV66UhxP34yUHWPMXs08lbaV.jpg/",
+ "year" : 1988,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "runtime" : 4320,
+ "playcount" : 0,
+ "originaltitle" : "Mirai Ninja",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Mirai Ninja (1988).mp4",
+ "movieid" : 192,
+ "title" : "Cyber Ninja",
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 5.5,
+ "plot" : "A man's body and soul are stolen and used as part of a demon castle. What's left becomes Cyber Ninja. He teams up with the chi students whose cyber-earmuffs show matching red symbols. They fill their swords with ammunition, grab some neo-retro-cyber-antique guns and attack the demon robot expendable ninja squad. Each fight is won by whichever side uses more gratuitous special effects. They slay the Tron-like hover droids, who are destroyed in their shame. There's a showdown with a white-armored guy with dreadlocks, who is later reincarnated by the eclipse and a lot of multicolored lightning. After killing the make-up wearing effeminate spider person, the chi school fires a giant gun at the demon castle spider cyber robot. It blows up.",
+ "director" : [
+ "Keita Amemiya"
+ ],
+ "country" : [
+ "Japan"
+ ],
+ "writer" : [
+ "Keita Amemiya",
+ "Satoshi Kitahara",
+ "Hajime Tanaka"
+ ]
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Sean",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flEzPy6XYlQWUU0BJuhQoOXbIF7L.jpg/",
+ "name" : "Emile Hirsch"
+ },
+ {
+ "role" : "Anne",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5fEOhNYux8ihz9XTyto9qgc3eAh.jpg/",
+ "name" : "Rachael Taylor"
+ },
+ {
+ "role" : "Natalie",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn3UV7ulkrqbY6BJ0RjrNbEam2cy.jpg/",
+ "name" : "Olivia Thirlby"
+ },
+ {
+ "role" : "Skyler",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkn3AcrSxa0ApgQVcjQ8m6YsWVq.jpg/",
+ "name" : "Joel Kinnaman"
+ },
+ {
+ "role" : "Ben",
+ "order" : 4,
+ "name" : "Max Minghella",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl3Nln69A24hs5qB9BLNsCs8da3V.jpg/"
+ },
+ {
+ "name" : "Veronika Ozerova",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnSuAHtGh3u1wMS65QLYd0KnmLAu.jpg/",
+ "order" : 5,
+ "role" : "Vika"
+ },
+ {
+ "order" : 6,
+ "role" : "Sergei",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ficfjC4D6saHKCMXhoEUoK3mngzL.jpg/",
+ "name" : "Dato Bakhtadze"
+ },
+ {
+ "order" : 7,
+ "role" : "Matvei (as Gosha Kutsenko)",
+ "name" : "Yuriy Kutsenko",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzRM4ekQodkCFPvbk9GenbedywIi.jpg/"
+ },
+ {
+ "name" : "Nikolay Efremov",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzCIHfiy7ngtneFZzVNmIhd6lRUA.jpg/",
+ "role" : "Sasha",
+ "order" : 8
+ },
+ {
+ "role" : "Boris",
+ "order" : 9,
+ "name" : "Georgiy Gromov"
+ },
+ {
+ "order" : 10,
+ "role" : "Yuri (as Arthur Smoljaninov)",
+ "name" : "Artur Smolyaninov",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foVfRnT94aUJwrk1a9qnVJmkHaMb.jpg/"
+ },
+ {
+ "name" : "Anna Roudakova",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiUdjsTZDXx0fwrqi2PByTqe4gzm.jpg/",
+ "order" : 11,
+ "role" : "Tess"
+ },
+ {
+ "order" : 12,
+ "role" : "Anton Batkin (as Petr Fedorov)",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxEw1ISLh4ZUZqXypN8YoeDvqiUD.jpg/",
+ "name" : "Pyotr Fyodorov"
+ },
+ {
+ "order" : 13,
+ "role" : "Bartender No. 1",
+ "name" : "Ivan Gromov"
+ },
+ {
+ "name" : "Aleksandr Chernykh",
+ "role" : "Bartender No. 2 (as Alexsandr Chernyh)",
+ "order" : 14
+ }
+ ],
+ "studio" : [
+ "Summit Entertainment"
+ ],
+ "tagline" : "Survive The Holidays",
+ "label" : "The Darkest Hour",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj1XyMamFu0xrAZSA3vXBKbLDVeM.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvRfn8Zxm4Xfssb7TFiSMDfpJEn.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1093357",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj1XyMamFu0xrAZSA3vXBKbLDVeM.jpg/",
+ "mpaa" : "Rated PG-13",
+ "plot" : "The story tells of a group of young people who fight to survive in Russia after an alien invasion.",
+ "rating" : 4.69999980926514,
+ "director" : [
+ "Chris Gorak"
+ ],
+ "writer" : [
+ "John Spaihts",
+ "M.T. Ahern"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "runtime" : 5340,
+ "playcount" : 0,
+ "originaltitle" : "The Darkest Hour",
+ "title" : "The Darkest Hour",
+ "movieid" : 66,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Darkest Hour (1907).mp4",
+ "lastplayed" : "",
+ "genre" : [
+ "Horror",
+ "Action",
+ "Thriller",
+ "Science Fiction"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvRfn8Zxm4Xfssb7TFiSMDfpJEn.jpg/",
+ "year" : 2011,
+ "votes" : "251",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=aI7AKqOZYV0"
+ },
+ {
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt0151244",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Das Konzert",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Marie",
+ "order" : 1,
+ "name" : "Käthe Haack"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz8fMRjarFtxAeLsI9rurs3v1R9D.jpg/",
+ "name" : "Gustav Fröhlich",
+ "order" : 2,
+ "role" : "Dr.Jura"
+ },
+ {
+ "order" : 3,
+ "role" : "Eva Gerndl",
+ "name" : "Mady Rahl",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2tFdTQxVyQoZZ5t5SxpkZeETQhl.jpg/"
+ },
+ {
+ "role" : "Prf.Heink",
+ "order" : 4,
+ "name" : "Harry Liedtke"
+ },
+ {
+ "role" : "Pollinger",
+ "order" : 5,
+ "name" : "Fritz Kampers"
+ },
+ {
+ "name" : "Liesl Karlstadt",
+ "role" : "Mrs. Pollinger",
+ "order" : 6
+ },
+ {
+ "role" : "Miss Kamm",
+ "order" : 7,
+ "name" : "Marina Ried"
+ },
+ {
+ "order" : 8,
+ "role" : "Frau Flderer",
+ "name" : "Änne Bruck"
+ }
+ ],
+ "thumbnail" : "",
+ "year" : 1944,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [],
+ "director" : [
+ "Paul Verhoeven"
+ ],
+ "rating" : 0,
+ "plot" : "",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Das Konzert (1975).mp4",
+ "title" : "Das Konzert",
+ "movieid" : 67,
+ "originaltitle" : "Das Konzert",
+ "runtime" : 0,
+ "playcount" : 0
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 2004,
+ "top250" : 0,
+ "genre" : [],
+ "lastplayed" : "",
+ "movieid" : 119,
+ "title" : "Davina - High Energy Five",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/High Energy (1995).mp4",
+ "runtime" : 3600,
+ "originaltitle" : "Davina - High Energy Five",
+ "playcount" : 0,
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "plot" : "\"Welcome to my new High Energy Five fitness DVD. If you have seen any of my previous DVDs you will know that I love working out and these new routines have heaps of variety and lots of genius tunes to ensure that you are going to love doing them...honestly! High Energy Five is all about losing weight and burning fat. My personal trainers Jackie and Mark Wren have devised five intensive sections, each of them around 20 minutes long. For maximum effect I would recommend that you do two sections back to back three times a week and you have the option to follow the easier or more advanced versions of the exercises depending on your own level of fitness.",
+ "rating" : 0,
+ "mpaa" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "",
+ "art" : {},
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Davina - High Energy Five",
+ "tagline" : "High Energy Five is all about losing weight and burning fat.",
+ "cast" : [
+ {
+ "name" : "Davina McCall",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f30gP4xCTOiTBEvmiNI8kpGZNsPR.jpg/",
+ "role" : "",
+ "order" : 1
+ }
+ ],
+ "studio" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0121186",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnXdZ6K41jjO58dG4Tdlq9qoNMQ8.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Day of the Dead",
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Alma Usher",
+ "order" : 2,
+ "role" : "Narrator (Original version)"
+ },
+ {
+ "role" : "Narrator (Final version)",
+ "order" : 3,
+ "name" : "Edgar Kaufmann Jr."
+ }
+ ],
+ "studio" : [
+ "Office of Charles & Ray Eames"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "",
+ "votes" : "0",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1957,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnXdZ6K41jjO58dG4Tdlq9qoNMQ8.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Documentary"
+ ],
+ "lastplayed" : "",
+ "movieid" : 69,
+ "title" : "Day of the Dead",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Day of the Dead (1957).mp4",
+ "originaltitle" : "Day of the Dead",
+ "runtime" : 900,
+ "playcount" : 0,
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Charles Eames",
+ "Ray Eames"
+ ],
+ "plot" : "A portrayal of the Mexican Day of the Dead consisting of still shots and narration. Deals with the special objects and events surrounding the annual Mexican celebration of “All Souls Day”. It is not only a rich flood of folk art, but a view of the way that the Mexicans have come to terms with death. Searched out with the help of Alexander Girard and a moving guitar score by Laurindo Almeida.",
+ "rating" : 0,
+ "mpaa" : "Rated"
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkNjTWvfJuUTH3ox99UV0voZT0g3.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpOXeTtoZhGuIatTnZlJt9Itiq0f.jpg/"
+ },
+ "tag" : [],
+ "setid" : 2,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpOXeTtoZhGuIatTnZlJt9Itiq0f.jpg/",
+ "imdbnumber" : "tt1267379",
+ "sorttitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Dead Space: Downfall",
+ "studio" : [
+ "Film Roman Productions"
+ ],
+ "cast" : [
+ {
+ "name" : "Bruce Boxleitner",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8CWvXiTru0EPH0M9ecLQ84E0YWA.jpg/",
+ "role" : "Colin Barrow (voice)",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fldIqkVNQoig6tFdF6b1ql1iylAD.jpg/",
+ "name" : "Kelly Hu",
+ "role" : "Shen (voice)",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Leggio / Dobbs / Jackson (voice)",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbms3A7TA0QItjtUlB28qv4MFFAH.jpg/",
+ "name" : "Jeff Bennett"
+ },
+ {
+ "order" : 3,
+ "role" : "Captain Mathius / Farum (voice)",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi9frXvIJsGtoFikBEFVqE7uN8Bq.jpg/",
+ "name" : "Jim Cummings"
+ },
+ {
+ "order" : 4,
+ "role" : "Heather / Donna Fawkes (voice)",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f15L2a29fOLHUbaYCgDMKxclYiso.jpg/",
+ "name" : "Grey Griffin"
+ },
+ {
+ "name" : "Nika Futterman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxHBt7N6YVvfgQJuWAJ74xLKF9Dr.jpg/",
+ "order" : 5,
+ "role" : "Alissa Vincent (voice)"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzanuPXm0BYAsARbsrDMjLmct7Fq.jpg/",
+ "name" : "Maurice LaMarche",
+ "role" : "White / Bavaro (voice)",
+ "order" : 6
+ },
+ {
+ "role" : "Hansen / Glenn (voice)",
+ "order" : 7,
+ "name" : "Phil Morris",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk4qdKVAiWQ9lhttUviatyRBFWdO.jpg/"
+ },
+ {
+ "name" : "Bob Neill",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhKtsoy8Cal5iZE0vISSmNbitclr.jpg/",
+ "order" : 8,
+ "role" : "Cartusian (voice)"
+ },
+ {
+ "name" : "Jim Piddock",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvdsY1X3LBvXzX84kl9sxCNaTxjw.jpg/",
+ "order" : 9,
+ "role" : "Chic (voice)"
+ },
+ {
+ "order" : 10,
+ "role" : "Samuel Irons / Pendleton / Miner (voice)",
+ "name" : "Kevin Michael Richardson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9dMOW2CFRrlDkNzeXVGMJfASupM.jpg/"
+ },
+ {
+ "name" : "Lia Sargent",
+ "role" : "Jen Barrow (voice)",
+ "order" : 11
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbOh02DE1J1UjXHo8vkoQtXt1tOA.jpg/",
+ "name" : "Hal Sparks",
+ "order" : 12,
+ "role" : "Ramirez (voice)"
+ },
+ {
+ "name" : "Keith Szarabajka",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frNeAyOrLNiP1YeCWXpBLTa7pLxZ.jpg/",
+ "order" : 13,
+ "role" : "Dr. Kyne (voice)"
+ }
+ ],
+ "tagline" : "",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkNjTWvfJuUTH3ox99UV0voZT0g3.jpg/",
+ "year" : 2008,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "Dead Space Collection",
+ "genre" : [
+ "Animation",
+ "Horror",
+ "Science Fiction",
+ "Thriller"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=M3MFqd2cGRw",
+ "votes" : "46",
+ "director" : [
+ "Chuck Patton"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Justin Gray",
+ "Jimmy Palmiotti"
+ ],
+ "mpaa" : "Rated NR",
+ "rating" : 5.90000009536743,
+ "plot" : "On a deep space mining mission to a remote planet, an ancient religious relic - thought to be proof of the existence of God - is unearthed and brought aboard. When the unholy artifact unleashes a long-dormant alien race, its glimpse of Heaven transforms the ship into a living Hell. A prequel to the events of the 2008 video game Dead Space.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Dead Space: Downfall (2008).mp4",
+ "title" : "Dead Space: Downfall",
+ "movieid" : 72,
+ "lastplayed" : "",
+ "runtime" : 4440,
+ "playcount" : 0,
+ "originaltitle" : "Dead Space: Downfall"
+ },
+ {
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Nora",
+ "order" : 0,
+ "name" : "Jasi Cotton Lanier"
+ },
+ {
+ "order" : 1,
+ "role" : "Donna",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv8fY3PvSXmRrCdlCqWRBBcm1ZoL.jpg/",
+ "name" : "Tina Krause"
+ },
+ {
+ "name" : "Erin Brown",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftiuUZEFhAdYtUQwpPfmXX5FjXQR.jpg/",
+ "order" : 2,
+ "role" : "Nancy"
+ },
+ {
+ "name" : "Joseph Anthony",
+ "order" : 3,
+ "role" : "Nikko"
+ },
+ {
+ "name" : "Michael Landers",
+ "order" : 4,
+ "role" : "Evan"
+ },
+ {
+ "name" : "Donnie Suave",
+ "role" : "Jerome",
+ "order" : 5
+ },
+ {
+ "name" : "Kyle Lee Laferrière",
+ "role" : "Jack",
+ "order" : 6
+ }
+ ],
+ "tagline" : "",
+ "label" : "Dead Students Society",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt0168634",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fowBZSPc49iHToBFF5bqCtZXreje.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 5400,
+ "originaltitle" : "Dead Students Society",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Dead Students Society (1998).mp4",
+ "movieid" : 73,
+ "title" : "Dead Students Society",
+ "lastplayed" : "",
+ "mpaa" : "Rated NR",
+ "rating" : 0,
+ "plot" : "Nikko and Nora aren't your average siblings. She's a sultry serial killer, and he's her voyeuristic accomplice. She poses as a literature professor who tempts students into her lair, where she teases them with erotic poetry before …",
+ "director" : [
+ "Pete Jacelone"
+ ],
+ "country" : [],
+ "writer" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Horror"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fowBZSPc49iHToBFF5bqCtZXreje.jpg/",
+ "year" : 1998,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38"
+ },
+ {
+ "label" : "Dead Times",
+ "tagline" : "",
+ "studio" : [
+ "Como Films"
+ ],
+ "cast" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt0294959",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgclPrshXz3nKQeR3wSOF0G7ECgs.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Les temps morts (1965).mp4",
+ "title" : "Dead Times",
+ "movieid" : 173,
+ "originaltitle" : "Les Temps Morts",
+ "runtime" : 600,
+ "playcount" : 0,
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "René Laloux",
+ "Roland Topor"
+ ],
+ "director" : [
+ "René Laloux"
+ ],
+ "rating" : 7,
+ "plot" : "What is man ? Man makes war, man kills man, man hunts, man is executed. A montage mixing original drawings by Topor, original shots and stock shots that ironically analyze what man is. Early Rene Laloux film",
+ "mpaa" : "",
+ "trailer" : "",
+ "votes" : "1",
+ "year" : 1965,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgclPrshXz3nKQeR3wSOF0G7ECgs.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Animation",
+ "Drama"
+ ]
+ },
+ {
+ "tagline" : "",
+ "studio" : [
+ "Mute Record"
+ ],
+ "cast" : [
+ {
+ "name" : "David Gahan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fNxcG9qZ90dBgrMQOiz8mpr38ar.jpg/",
+ "role" : "Lui même",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcHaaTBCQUhBdZYqeyZf8xDNcFJr.jpg/",
+ "name" : "Martin Gore",
+ "role" : "Lui même",
+ "order" : 2
+ },
+ {
+ "role" : "Lui même",
+ "order" : 3,
+ "name" : "Andrew Fletcher",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAq8MsDsHe3E5fYqwoX0J9sLsDlk.jpg/"
+ },
+ {
+ "role" : "Lui même",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpru1fRjgIgzGO4DMQzfCCIedPCA.jpg/",
+ "name" : "Alan Wilder"
+ },
+ {
+ "order" : 5,
+ "role" : "Lui Même",
+ "name" : "Daniel Miller",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz7OifXyuuDoZUNsDt2iigq5NDr9.jpg/"
+ },
+ {
+ "name" : "Brian Griffin",
+ "order" : 6,
+ "role" : "Lui même"
+ }
+ ],
+ "label" : "Depeche Mode 84: You Can Get Away with Anything If You Give It a Good Tune",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2nx8LfgtmW0kryuWvLJ89aww7Y1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flHwAy2QQ7cgZTLqY9871IgjkIGR.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2nx8LfgtmW0kryuWvLJ89aww7Y1.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Depeche Mode 84: You Can Get Away with Anything If You Give It a Good Tune",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/If You Go Away (2014).mp4",
+ "title" : "Depeche Mode 84: You Can Get Away with Anything If You Give It a Good Tune",
+ "movieid" : 133,
+ "rating" : 7,
+ "plot" : "Depeche Mode 84: You Can Get Away with Anything If You Give It a Good Tune",
+ "mpaa" : "",
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [],
+ "director" : [],
+ "votes" : "1",
+ "trailer" : "",
+ "genre" : [
+ "Documentary",
+ "Music"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flHwAy2QQ7cgZTLqY9871IgjkIGR.jpg/",
+ "year" : 2006,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0
+ },
+ {
+ "genre" : [
+ "Drama"
+ ],
+ "thumbnail" : "",
+ "year" : 1952,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "Desires (German: Das Letzte Rezept) is a 1952 German drama film directed by Rolf Hansen. It was entered into the 1952 Cannes Film Festival.",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [
+ "Hans Joachim Beyer",
+ "Juliane Kay",
+ "Tibor Yost"
+ ],
+ "director" : [
+ "Rolf Hansen"
+ ],
+ "playcount" : 0,
+ "runtime" : 5820,
+ "originaltitle" : "Das letzte Rezept",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Das Rezept (1914).mp4",
+ "title" : "Desires",
+ "movieid" : 68,
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {},
+ "imdbnumber" : "tt0043737",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Heidemarie Hatheyer",
+ "order" : 1,
+ "role" : "Anna Falkner"
+ },
+ {
+ "order" : 2,
+ "role" : "Hans Falkner",
+ "name" : "O.W. Fischer"
+ },
+ {
+ "order" : 3,
+ "role" : "Bozena Boroszi",
+ "name" : "Sybil Werden"
+ },
+ {
+ "order" : 4,
+ "role" : "Dr. med. Steininger",
+ "name" : "René Deltgen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdRkOrdUu02keKLP66HHxcGx8tLn.jpg/"
+ },
+ {
+ "role" : "Sanitätsrat Dr. Falkner",
+ "order" : 5,
+ "name" : "Carl Wery"
+ },
+ {
+ "name" : "Hilde Körber",
+ "role" : "Fanny",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8Fa1un7RBdsBhsU9y188WasSSgF.jpg/",
+ "name" : "Iván Petrovich",
+ "order" : 8,
+ "role" : "Direktor Wallberg"
+ }
+ ],
+ "label" : "Desires"
+ },
+ {
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "",
+ "director" : [
+ "Eugen York"
+ ],
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [],
+ "runtime" : 0,
+ "originaltitle" : "Die letzte Nacht",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Die letzte Nacht (1949).mp4",
+ "title" : "Die letzte Nacht",
+ "movieid" : 75,
+ "lastplayed" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "year" : 1949,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "votes" : "0",
+ "trailer" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Sybille Schmitz",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbG92xYzrSLw2Ps91Q2Rv6lbekbP.jpg/",
+ "role" : "Renée Meurier",
+ "order" : 1
+ },
+ {
+ "role" : "Lisa Plessow",
+ "order" : 2,
+ "name" : "Margarete Haagen"
+ },
+ {
+ "order" : 3,
+ "role" : "André Meurier",
+ "name" : "Carl-Heinz Schroth"
+ },
+ {
+ "order" : 4,
+ "role" : "Major Brink, I.A.",
+ "name" : "Peter Mosbacher"
+ },
+ {
+ "role" : "Hauptmann Klapproth, NSFO-Offizier",
+ "order" : 5,
+ "name" : "Joseph Offenbach"
+ },
+ {
+ "name" : "Josef Sieber",
+ "order" : 6,
+ "role" : "Hauptfeldwebel Mahnke"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgFAWF9LnnA5e21iwHyTrTdiaoH5.jpg/",
+ "name" : "Franz Schafheitlin",
+ "order" : 7,
+ "role" : "Kriegsgerichtsrat Börner"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Die letzte Nacht",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {},
+ "imdbnumber" : "tt0308502",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : ""
+ },
+ {
+ "votes" : "2",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=R0UuzBbXxwM",
+ "genre" : [
+ "Drama"
+ ],
+ "year" : 1941,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7hReTCHRicG0BYs5Po53EPoPiXa.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "runtime" : 7920,
+ "playcount" : 0,
+ "originaltitle" : "Dive Bomber",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Dive Bomber (1941).mp4",
+ "movieid" : 77,
+ "title" : "Dive Bomber",
+ "rating" : 5.30000019073486,
+ "plot" : "A military surgeon teams with a ranking navy flyer to develop a high-altitude suit which will protect pilots from blacking out when they go into a steep dive.",
+ "mpaa" : "Rated",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Frank Wead",
+ "Robert Buckner"
+ ],
+ "director" : [
+ "Michael Curtiz"
+ ],
+ "imdbnumber" : "tt0033537",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8tUg85LdLredcQx2lJXilqjILax.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7hReTCHRicG0BYs5Po53EPoPiXa.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8tUg85LdLredcQx2lJXilqjILax.jpg/"
+ },
+ "tagline" : "WINGS TO THE WIND...EYES TO THE SKIES!",
+ "studio" : [
+ "Warner Bros Pictures"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Doug Lee",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2fd8ZORZMGFJQqMcnoNgSnTOpPS.jpg/",
+ "name" : "Errol Flynn"
+ },
+ {
+ "order" : 1,
+ "role" : "Joe Blake",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3TQjxCbV4xaILVSd0biqfKXt50u.jpg/",
+ "name" : "Fred MacMurray"
+ },
+ {
+ "name" : "Ralph Bellamy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffjRvQxfzPw77TUMDaJHnPKirpG0.jpg/",
+ "role" : "Lance Rogers",
+ "order" : 2
+ },
+ {
+ "role" : "Linda Fisher",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fngXgviVg4Ysz1soyTYEUrBqC7Ki.jpg/",
+ "name" : "Alexis Smith"
+ },
+ {
+ "role" : "Art Lyons",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faCVVQrACinfyBlkYYJefXhaxGtH.jpg/",
+ "name" : "Robert Armstrong"
+ },
+ {
+ "order" : 5,
+ "role" : "Tom Griffin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAsEzaekmIVVYbr2oMUIk1tXVSDw.jpg/",
+ "name" : "Regis Toomey"
+ },
+ {
+ "name" : "Allen Jenkins",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft2ZumhV1ztWifv0uJHLfSztdUsM.jpg/",
+ "role" : "Lucky James",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2DUxCx7wppc8Jzom6M6M1kERLDJ.jpg/",
+ "name" : "Craig Stevens",
+ "role" : "John Thomas Anthony",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhyE7XgQvBSuc8SmWf39qdAYnSbR.jpg/",
+ "name" : "Herbert Anderson",
+ "role" : "Chubby",
+ "order" : 8
+ },
+ {
+ "role" : "Senior Surgeon at San Diego",
+ "order" : 9,
+ "name" : "Moroni Olsen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f20iaFC3qnVA9t77SFYnjVuJas1P.jpg/"
+ },
+ {
+ "role" : "Mrs. James",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjitGwFo2nqwIlkDymlo3VcDAHSY.jpg/",
+ "name" : "Dennie Moore"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi3IvlNbAp6w3IB7Ur8QpRsG8MLz.jpg/",
+ "name" : "Louis Jean Heydt",
+ "role" : "Swede Larson",
+ "order" : 11
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fateUJjdImIzu6ro1IsKIAav8vG1.jpg/",
+ "name" : "Cliff Nazarro",
+ "role" : "Corps Man",
+ "order" : 12
+ }
+ ],
+ "label" : "Dive Bomber",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Eric Balfour",
+ "Laura Henry",
+ "Jon Mann-Krieger",
+ "Brandon Nicholas",
+ "Petro Papahadjopoulos"
+ ],
+ "plot" : "Five directors tackle five short stories playfully tied together in one dark, twisted, humorous film about what goes on behind the door of room 316.",
+ "rating" : 2,
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "movieid" : 78,
+ "title" : "Do Not Disturb",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Do Not Disturb (2009).mp4",
+ "runtime" : 0,
+ "originaltitle" : "Do Not Disturb",
+ "playcount" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxlYO9FsEYxISt9i0hAOw4umdkuA.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Comedy",
+ "Horror"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=35OrIgcSwjM",
+ "votes" : "1",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Do Not Disturb",
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Diva Zappa",
+ "role" : "Maid",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvmV5kRoSu4g73ymbt6SSRSIkfKu.jpg/",
+ "name" : "Eric Balfour",
+ "role" : "Frank (segment \"Rocketman\")",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr5SNJzEedtdPH2gJKpDosKJ6ZgM.jpg/",
+ "name" : "Troy Garity",
+ "role" : "Mobster",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffgHxIMRfMPKsjG75clNqP1XJybo.jpg/",
+ "name" : "Lindsay Pulsipher",
+ "order" : 3,
+ "role" : "Brenda"
+ },
+ {
+ "name" : "Mali Elfman",
+ "order" : 4,
+ "role" : "Woman"
+ },
+ {
+ "order" : 5,
+ "role" : "Bart Denison",
+ "name" : "Harris Goldberg"
+ },
+ {
+ "role" : "Sherry",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuLfBSkjAXsksPegKvPUPWei5T7K.jpg/",
+ "name" : "Maureen Flannigan"
+ }
+ ],
+ "studio" : [
+ "Mali Elfman Productions"
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxlYO9FsEYxISt9i0hAOw4umdkuA.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1558249"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "The Doors - Live in Europe 1968",
+ "tagline" : "Music",
+ "studio" : [
+ "A*Vision Entertainment"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Himself (vocals)",
+ "name" : "Jim Morrison",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxVz0ZG84skFdFQHr60W4bDGvCx4.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faluzjx8JHzcGVl7ksOH9SEagCwj.jpg/",
+ "name" : "Ray Manzarek",
+ "role" : "Himself (keyboards)",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1P1QwjAjplyDmCF9IzdNlyh9BOh.jpg/",
+ "name" : "Robby Krieger",
+ "order" : 2,
+ "role" : "Himself (guitar)"
+ },
+ {
+ "role" : "Himself (drums)",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvypDmoXCrQFkO2QZ9IqX0ySNdA9.jpg/",
+ "name" : "John Densmore"
+ }
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxksJqvVZE5uPkQOcNTXunb34xM5.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f80oTKcbBJvZ8HBWV4TUGAzVPKcr.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f80oTKcbBJvZ8HBWV4TUGAzVPKcr.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0167904",
+ "sorttitle" : "",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Stephanie Bennett",
+ "Danny Sugerman"
+ ],
+ "director" : [
+ "Paul Justman",
+ "Ray Manzarek"
+ ],
+ "rating" : 4,
+ "plot" : "Filmed during their 1968 European tour, The Doors are captured in performances in London, Stockholm, Frankfurt, and Amsterdam. Paul Kantner and Grace Slick of Jefferson Airplane, who shared the bill with The Doors on this tour, narrate this compilation.",
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Doors: Live in Europe 1968 (1991).mp4",
+ "movieid" : 292,
+ "title" : "The Doors - Live in Europe 1968",
+ "runtime" : 3480,
+ "originaltitle" : "The Doors - Live in Europe 1968",
+ "playcount" : 0,
+ "year" : 1991,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxksJqvVZE5uPkQOcNTXunb34xM5.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "1"
+ },
+ {
+ "title" : "DotCom",
+ "movieid" : 79,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Dot.Com (2000).mp4",
+ "lastplayed" : "",
+ "runtime" : 6180,
+ "playcount" : 0,
+ "originaltitle" : "Dot.com",
+ "director" : [
+ "Luís Galvão Teles"
+ ],
+ "writer" : [
+ "Gonçalo Galvão Teles",
+ "Suzanne Nagle"
+ ],
+ "country" : [
+ "Portugal"
+ ],
+ "mpaa" : "",
+ "plot" : "A small village in Portugal, Águas-Altas, is being sued by a Spanish multinational corporation because the village hosts a website that uses the same name as an international brand of mineral water. A judicial battle for website begins, that quickly turned in to a media circus. Thus the residents of this small village, who are not even sure what the internet is, are forced defend their website and their villages honour.",
+ "rating" : 6,
+ "trailer" : "",
+ "votes" : "2",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2007,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f55ZisT0IgcZ1k0l6M2ZHBgx354a.jpg/",
+ "genre" : [
+ "Comedy"
+ ],
+ "label" : "DotCom",
+ "cast" : [
+ {
+ "role" : "Pedro",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo1Nj2lItf4oKfT9tgTokRsaXBfl.jpg/",
+ "name" : "João Tempera"
+ },
+ {
+ "order" : 1,
+ "role" : "Elena",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbpQqVFpJcWxE9snVfjA3c96pZkz.jpg/",
+ "name" : "María Adánez"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkGM9n9mbpz3LN6Ypbo6ud0MzfLU.jpg/",
+ "name" : "Marco Delgado",
+ "order" : 2,
+ "role" : "Victor"
+ },
+ {
+ "order" : 3,
+ "role" : "Ana",
+ "name" : "Isabel Abreu",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwfii4mD8nPKTpukaax0KtRHJtWr.jpg/"
+ },
+ {
+ "role" : "Luisa",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpTUipOaqYnEBt1s0V2ijH14NtWJ.jpg/",
+ "name" : "Margarida Carpinteiro"
+ },
+ {
+ "order" : 5,
+ "role" : "Clara",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8EzQoQ6UoUzxYMYymV9IzcvNTk1.jpg/",
+ "name" : "Lia Gama"
+ },
+ {
+ "order" : 6,
+ "role" : "Mário",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f24GiSPMvSEntwS44Sqpyxv6IzoP.jpg/",
+ "name" : "José Eduardo"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzFLuOMdoN6zo3UXrU5IfboTab9y.jpg/",
+ "name" : "Maria José",
+ "order" : 7,
+ "role" : "Maria Madalena"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmHNgHHJ8wPDUwCf6R23CXi2fRwK.jpg/",
+ "name" : "Pedro Alpiarça",
+ "order" : 8,
+ "role" : "Inácio"
+ }
+ ],
+ "studio" : [
+ "VideoFilmes"
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0793413",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f55ZisT0IgcZ1k0l6M2ZHBgx354a.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : []
+ },
+ {
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuH4kyCJ7GZLrGDWElSMerkcaeMF.jpg/",
+ "year" : 2014,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Documentary"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Gábor Hörcher"
+ ],
+ "country" : [
+ "Hungary"
+ ],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "A close-up portrait of a rebellious racecar-driving teen coping with the twists and turns of life in rural Hungary.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Drifter (2014).mp4",
+ "movieid" : 80,
+ "title" : "Drifter",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 4320,
+ "originaltitle" : "Drifter",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuH4kyCJ7GZLrGDWElSMerkcaeMF.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt4277250",
+ "sorttitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Drifter",
+ "studio" : [
+ "Kraats Film"
+ ],
+ "cast" : [],
+ "tagline" : ""
+ },
+ {
+ "studio" : [
+ "EK-Stase"
+ ],
+ "cast" : [
+ {
+ "role" : "Yoriko",
+ "order" : 1,
+ "name" : "Aki Morita"
+ },
+ {
+ "role" : "",
+ "order" : 2,
+ "name" : "Tomomi Mabuchi"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Keigo Tani"
+ },
+ {
+ "name" : "Tatsuya Ueda",
+ "order" : 4,
+ "role" : ""
+ },
+ {
+ "name" : "Norma Aratani",
+ "order" : 5,
+ "role" : ""
+ }
+ ],
+ "tagline" : "",
+ "label" : "Dual City",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt4510858",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9ykD1iUBg0vtypg49mRmAOvoOb6.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 6000,
+ "originaltitle" : "Duaru shiti",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Duaru shiti (2015).mp4",
+ "movieid" : 81,
+ "title" : "Dual City",
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "2034,Japan is divided into north and south parts.In the south,people live a peaceful life,while conflicts are going on in the north. For Yoriko,a nurse in the north,her sole consolation is to visit where she can access her late daughter’s lifetime information.One day,Yoriko is abducted,but she learns that dead individual’s total memories are preserved as in the south,and that her daughter is still alive in that form.Yoriko heads south to see her daughter.She is helped by a hacker group intending to expose the injustice of the state.",
+ "director" : [
+ "Yokna Hasegawa"
+ ],
+ "country" : [
+ "Japan"
+ ],
+ "writer" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Science Fiction"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9ykD1iUBg0vtypg49mRmAOvoOb6.jpg/",
+ "year" : 2015,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : ""
+ },
+ {
+ "imdbnumber" : "tt0879870",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2fwHVLvh6kdwCujsMwtNmwRJAf1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs57E4AfPIU1fxwpGGRahk6A0DUl.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2fwHVLvh6kdwCujsMwtNmwRJAf1.jpg/"
+ },
+ "tagline" : "Let Yourself GO",
+ "studio" : [
+ "Columbia Pictures"
+ ],
+ "cast" : [
+ {
+ "role" : "Elizabeth Gilbert",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyzaIyUEKHSnEYDwltXs8gpF4SVC.jpg/",
+ "name" : "Julia Roberts"
+ },
+ {
+ "role" : "David",
+ "order" : 1,
+ "name" : "James Franco",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm9he3UnbmAAxkV1XH2EmzkNfkaS.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flLaEcs1N5zuq597M4L7Fec9QnBf.jpg/",
+ "name" : "Javier Bardem",
+ "order" : 2,
+ "role" : "Felipe"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkUcnYaHOjYS2nYz8Zs68KXPXYIx.jpg/",
+ "name" : "Billy Crudup",
+ "order" : 3,
+ "role" : "Steven"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiz61iPIgNUp0yk48bRNjEJ5GHO4.jpg/",
+ "name" : "Richard Jenkins",
+ "order" : 4,
+ "role" : "Richard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbqdE1CNQ7LokkzMZgKJlgDE5n6U.jpg/",
+ "name" : "Viola Davis",
+ "role" : "Delia",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Nyomo",
+ "name" : "I. Gusti Ayu Puspawati"
+ },
+ {
+ "order" : 7,
+ "role" : "Ketut Liyer",
+ "name" : "Hadi Subiyanto"
+ },
+ {
+ "role" : "Andre",
+ "order" : 8,
+ "name" : "A. Jay Radcliff"
+ },
+ {
+ "name" : "Mike O'Malley",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9VwiKnQySJN7buvCg53v4NB5Tj7.jpg/",
+ "role" : "Andy Shiraz",
+ "order" : 9
+ },
+ {
+ "role" : "Bookstore Girl",
+ "order" : 10,
+ "name" : "Ashlie Atkinson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fh0ykP84QXTDLxfzizdQaFXZzzY8.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbuXwQSX1Lo802E9CNlfdf8mHPJ8.jpg/",
+ "name" : "Lisa Roberts Gillan",
+ "order" : 12,
+ "role" : "Woman in Play"
+ },
+ {
+ "order" : 13,
+ "role" : "Play Walk-Out",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsXZOZiVoAm4kKR437AoLECfxBNi.jpg/",
+ "name" : "Ryan O'Nan"
+ },
+ {
+ "order" : 14,
+ "role" : "The Guru",
+ "name" : "Gita Reddy"
+ },
+ {
+ "name" : "Jen Kwok",
+ "role" : "NYU Student Girlfriend",
+ "order" : 17
+ },
+ {
+ "role" : "Laundromat Gal",
+ "order" : 18,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8iMNTgVVR0gx8sWshW0TRXGM3Z6.jpg/",
+ "name" : "Mary Testa"
+ }
+ ],
+ "label" : "Eat Pray Love",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "256",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=g8csr68LjUM",
+ "genre" : [
+ "Drama"
+ ],
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs57E4AfPIU1fxwpGGRahk6A0DUl.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "runtime" : 7980,
+ "playcount" : 0,
+ "originaltitle" : "Eat Pray Love",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Be(come) (2010).mp4",
+ "title" : "Eat Pray Love",
+ "movieid" : 35,
+ "rating" : 5.59999990463257,
+ "plot" : "Liz Gilbert had everything a modern woman is supposed to dream of having - a husband, a house, a successful career - yet like so many others, she found herself lost, confused, and searching for what she really wanted in life. Newly divorced and at a crossroads, Gilbert steps out of her comfort zone, risking everything to change her life, embarking on a journey around the world that becomes a quest for self-discovery. In her travels, she discovers the true pleasure of nourishment by eating in Italy; the power of prayer in India, and, finally and unexpectedly, the inner peace and balance of true love in Bali. Based upon the bestselling memoir by Elizabeth Gilbert.",
+ "mpaa" : "Rated PG-13",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Jennifer Salt",
+ "Ryan Murphy"
+ ],
+ "director" : [
+ "Ryan Murphy"
+ ]
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftK0mW4kTad5Utn53nsFtEzKUUk1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt2318440",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fydO0FDkMJAN8ZNJOIjO8K0qR5rl.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftK0mW4kTad5Utn53nsFtEzKUUk1.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "Echo Planet",
+ "tagline" : "",
+ "studio" : [
+ "Kantana Animation Studios"
+ ],
+ "cast" : [
+ {
+ "name" : "Nuengthida Sophon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faalPG5yaDMxl0ClOdl0sKzrdSyH.jpg/",
+ "order" : 0,
+ "role" : "Norva"
+ },
+ {
+ "order" : 1,
+ "role" : "Sam",
+ "name" : "Noppan Chantasorn"
+ },
+ {
+ "name" : "Athipich Chutiwatkajornchai",
+ "order" : 2,
+ "role" : "Jorpe"
+ },
+ {
+ "name" : "Kongdej Jaturanrasamee",
+ "role" : "President of the Capital State",
+ "order" : 3
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "trailer" : "",
+ "votes" : "4",
+ "year" : 2012,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fydO0FDkMJAN8ZNJOIjO8K0qR5rl.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Animation"
+ ],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Echo (2012).mp4",
+ "movieid" : 82,
+ "title" : "Echo Planet",
+ "runtime" : 4860,
+ "playcount" : 0,
+ "originaltitle" : "เอคโค่ จิ๋วก้องโลก",
+ "country" : [
+ "Thailand"
+ ],
+ "writer" : [
+ "Kongdej Jaturanrasamee",
+ "Charoonporn Parapakpralai",
+ "Warunyu Udomkanjananon"
+ ],
+ "director" : [
+ "Kompim Kemgumnird"
+ ],
+ "rating" : 6,
+ "plot" : "Story of the adventures of three young men from two of the world's metropolis, New State Trinity Capital and Karen village in Northern Thailand. To help save the world from disaster recovery due to global warming.",
+ "mpaa" : ""
+ },
+ {
+ "genre" : [],
+ "year" : 1991,
+ "thumbnail" : "",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "Todd Sheets tries his hand at a Poe adaptation. Things go as well as you'd expect.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [
+ "Todd Sheets"
+ ],
+ "director" : [
+ "Todd Sheets"
+ ],
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Edgar Allan Poe's Madhouse",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Madhouse (1991).mp4",
+ "title" : "Edgar Allan Poe's Madhouse",
+ "movieid" : 184,
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {},
+ "imdbnumber" : "tt0196729",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Bobby Westrick",
+ "role" : "Rowland",
+ "order" : 0
+ },
+ {
+ "role" : "John Killraven",
+ "order" : 1,
+ "name" : "Mike Hellman"
+ },
+ {
+ "order" : 2,
+ "role" : "Mr. Usher",
+ "name" : "Chuck Cannon"
+ },
+ {
+ "name" : "Kim Alber",
+ "role" : "Melissa / Mrs. Usher",
+ "order" : 3
+ },
+ {
+ "role" : "Sister Sanguine",
+ "order" : 4,
+ "name" : "Veronica Orr"
+ },
+ {
+ "order" : 5,
+ "role" : "Misty Wolfe",
+ "name" : "Jenny Admire"
+ },
+ {
+ "role" : "Shirella",
+ "order" : 6,
+ "name" : "Tonia Monahan"
+ }
+ ],
+ "label" : "Edgar Allan Poe's Madhouse"
+ },
+ {
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpEV04vtyYa6YpsMv11HiNbJfi1s.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flNW2Hg9EirBarDXFV7vFuaeJSDj.jpg/"
+ },
+ "imdbnumber" : "tt0408734",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flNW2Hg9EirBarDXFV7vFuaeJSDj.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Dr. Sunil Sharma",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxJ2viAvsbQgLmyaF5wJb2A2izfb.jpg/",
+ "name" : "Raj Babbar"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frymLa28VHRxVYLwzA2TqnXQ4ME3.jpg/",
+ "name" : "Reena Roy",
+ "order" : 1,
+ "role" : "Aarti Saxena"
+ },
+ {
+ "name" : "Agha",
+ "order" : 2,
+ "role" : "Khairatilal"
+ },
+ {
+ "name" : "Birbal",
+ "role" : "Kaanha",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Bulbul",
+ "name" : "Baby Bulbul"
+ }
+ ],
+ "label" : "Ek Chitthi Pyar Bhari",
+ "genre" : [],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpEV04vtyYa6YpsMv11HiNbJfi1s.jpg/",
+ "year" : 1985,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "1",
+ "trailer" : "",
+ "rating" : 9.5,
+ "plot" : "Dr. Sunil Sharma runs two clinics in rural India - mainly for the benefit of poor and needy people. He advertises in the newspapers for a qualified nurse, who must be single, and be willing to work long hours. A young and attractive woman named Aarti Saxena responds to his advertisement, is successful in the interview, and gets hired. Sunil finds himself getting attracted to Aarti, and mentions about her to his mother. His mother visits the clinic and approves of Aarti. She would like Aarti and Sunil to marry as quickly as possible. What Sunil and his mother do not know that Aarti has a sordid past - she has been disbarred from the nursing profession; she is married, and has a child by the name of Bulbul; and had assaulted a patient named Kamal Nath, when he expressed dissatisfaction with her work. Will Aarti be honest enough to tell Sunil about her past - or will she just refuse to marry him.",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Vijay Sadanah"
+ ],
+ "runtime" : 8400,
+ "playcount" : 0,
+ "originaltitle" : "Ek Chitthi Pyar Bhari",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Ek Chitthi Pyar Bhari (1985).mp4",
+ "title" : "Ek Chitthi Pyar Bhari",
+ "movieid" : 84
+ },
+ {
+ "genre" : [],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2002,
+ "thumbnail" : "",
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "A presenter announces that the following episode is about romance, missed engagements, and blood.",
+ "rating" : 0,
+ "director" : [],
+ "writer" : [],
+ "country" : [],
+ "runtime" : 360,
+ "playcount" : 0,
+ "originaltitle" : "El Chateau",
+ "movieid" : 85,
+ "title" : "El Chateau",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/El Chateau (2002).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {},
+ "sorttitle" : "",
+ "imdbnumber" : "tt2033243",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "El Chateau"
+ },
+ {
+ "director" : [
+ "Pere Portabella"
+ ],
+ "writer" : [],
+ "country" : [
+ "Spain"
+ ],
+ "mpaa" : "",
+ "plot" : "Five ex-political prisoners meet secretly in a country house one afternoon in 1974, the same day that Salvador Puig Antich is executed, to talk about their experiences in prison. After discussing hunger strikes, ways of keeping up the fight, loss of touch with reality, etc., an unexpected situation arises when one of the ex prisoners sings the praises of life in prison. The forceful response of one of his colleagues does not do away with the cathartic effect of the confession. —pereportabella.com",
+ "rating" : 0,
+ "movieid" : 87,
+ "title" : "El sopar",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/El sopar (1974).mp4",
+ "lastplayed" : "",
+ "runtime" : 3000,
+ "originaltitle" : "El sopar",
+ "playcount" : 0,
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1974,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgv7yZO8smmG2rSxe1u3YTO8CKxv.jpg/",
+ "genre" : [
+ "Documentary"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "El sopar",
+ "cast" : [
+ {
+ "name" : "Ángel Abad",
+ "role" : "Himself",
+ "order" : 0
+ },
+ {
+ "name" : "Jordi Cunill",
+ "role" : "Himself",
+ "order" : 1
+ },
+ {
+ "role" : "Herself",
+ "order" : 2,
+ "name" : "Lola Ferreira"
+ },
+ {
+ "order" : 3,
+ "role" : "Himself",
+ "name" : "Narcís Julián"
+ },
+ {
+ "order" : 4,
+ "role" : "Himself",
+ "name" : "Antonio Marín"
+ }
+ ],
+ "studio" : [
+ "Pere Portabella"
+ ],
+ "tagline" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgv7yZO8smmG2rSxe1u3YTO8CKxv.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0216224"
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fq4XBKBWLso8Tf6bsiYZkyPCnxf6.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0043499",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Elopement",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4kmzC5Qf9rJhh46NIUADjE0sotC.jpg/",
+ "name" : "Clifton Webb",
+ "order" : 0,
+ "role" : "Howard Osborne"
+ },
+ {
+ "order" : 1,
+ "role" : "Tom Reagan",
+ "name" : "Charles Bickford",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjZI7SHxErJwHIoVCHqhbE7kob1p.jpg/"
+ },
+ {
+ "name" : "Anne Francis",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff6JaUHF5ByqIqc0EpCJpqkKVGgg.jpg/",
+ "order" : 2,
+ "role" : "Jacqueline \"Jake\" Osborne"
+ },
+ {
+ "name" : "William Lundigan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbY1TCCSltVJLPedbChOOQA16mYC.jpg/",
+ "role" : "Matt Reagan",
+ "order" : 3
+ },
+ {
+ "role" : "Roger Evans",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvQAyaZ5vC7madXSfOST0KzhbA6V.jpg/",
+ "name" : "Reginald Gardiner"
+ },
+ {
+ "role" : "Millie Reagan",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnJp3VYN2zz9VOR5aF1dQGuw9gqC.jpg/",
+ "name" : "Evelyn Varden"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhASi3PoeBPeZeHJn3H3LYRk9lYi.jpg/",
+ "name" : "Margalo Gillmore",
+ "order" : 6,
+ "role" : "Claire Osborne"
+ },
+ {
+ "role" : "Daniel Reagan",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa5XiNJ37Gg6pq0sTmMrRWD0ITKt.jpg/",
+ "name" : "Tommy Rettig"
+ },
+ {
+ "name" : "Parley Baer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjWFrPjbmZRcooRci6jiJLfyTjVQ.jpg/",
+ "role" : "Charlie",
+ "order" : 8
+ },
+ {
+ "role" : "Dr. Lucius Brenner",
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuHmTJiyR6srsiQRJct7cUlwibCd.jpg/",
+ "name" : "Willis Bouchey"
+ },
+ {
+ "name" : "Frank Ferguson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9CgQ5j8YU3TAux6aUOgXvABLHJB.jpg/",
+ "order" : 10,
+ "role" : "Pinkie's Father"
+ },
+ {
+ "name" : "Selmer Jackson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuOXVCzDMWcCmzRAbJ8M23Axqg9I.jpg/",
+ "role" : "Dr. Halsey",
+ "order" : 11
+ }
+ ],
+ "studio" : [
+ "Twentieth Century Fox Film Corporation"
+ ],
+ "tagline" : "",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1951,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fq4XBKBWLso8Tf6bsiYZkyPCnxf6.jpg/",
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Henry Koster"
+ ],
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Two sets of parents frantically race to stop their eloping children's wedding. Comedy.",
+ "rating" : 0,
+ "movieid" : 88,
+ "title" : "Elopement",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Elopement (1951).mp4",
+ "lastplayed" : "",
+ "originaltitle" : "Elopement",
+ "runtime" : 4920,
+ "playcount" : 0
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcvU4TBwoEiD2H28JcA5jbyAPwji.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt3476464",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcvU4TBwoEiD2H28JcA5jbyAPwji.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd2Eq0flYLts48M6xlRrMQ2cg9GJ.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "End of Days, Inc.",
+ "tagline" : "The devil is in the details.",
+ "studio" : [
+ "Believerville Productions"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv8lJs3d2fBpBzQVAO95lzko544H.jpg/",
+ "name" : "Mark O'Brien",
+ "role" : "Jason",
+ "order" : 0
+ },
+ {
+ "role" : "Mr. Godfrey",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fixxEYcNGo0UyBUQdj3YsZ85OTTV.jpg/",
+ "name" : "Paulino Nunes"
+ },
+ {
+ "order" : 2,
+ "role" : "Janet",
+ "name" : "Carolyne Maraghi"
+ },
+ {
+ "role" : "Mort",
+ "order" : 3,
+ "name" : "Paul Sun-Hyung Lee"
+ },
+ {
+ "name" : "Janet Porter",
+ "role" : "Misty",
+ "order" : 4
+ },
+ {
+ "name" : "Anna Ferguson",
+ "role" : "Esther",
+ "order" : 5
+ },
+ {
+ "role" : "Oola",
+ "order" : 6,
+ "name" : "Yulia Petrauskas"
+ },
+ {
+ "name" : "Mark Robinson",
+ "order" : 7,
+ "role" : "Rico"
+ },
+ {
+ "name" : "Luis Fernandes",
+ "order" : 8,
+ "role" : "Lloyd"
+ },
+ {
+ "order" : 9,
+ "role" : "News Anchor",
+ "name" : "John Watson"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fze5h3tylJDWtOlOfA0boKq9g3fn.jpg/",
+ "name" : "Julie Lemieux",
+ "order" : 10,
+ "role" : "Nana (voice)"
+ },
+ {
+ "name" : "Karen Glave",
+ "order" : 11,
+ "role" : "Various (voice)"
+ },
+ {
+ "name" : "Marty Moreau",
+ "role" : "Various (voice)",
+ "order" : 12
+ },
+ {
+ "role" : "Various (voice)",
+ "order" : 13,
+ "name" : "Sarah Weatherwax"
+ },
+ {
+ "role" : "Various (voice)",
+ "order" : 14,
+ "name" : "Sandy Kellerman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkY9nuy3TY0Iz0rFTGXbM5MqbbgB.jpg/"
+ },
+ {
+ "order" : 15,
+ "role" : "Various (voice)",
+ "name" : "Jennifer Liao",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx8hWJ3wNZ0b4jlho3vM8Eccn5um.jpg/"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=9imwU4vzd9Y",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd2Eq0flYLts48M6xlRrMQ2cg9GJ.jpg/",
+ "year" : 2015,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Science Fiction",
+ "Comedy"
+ ],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Days End (2005).mp4",
+ "title" : "End of Days, Inc.",
+ "movieid" : 70,
+ "originaltitle" : "End of Days, Inc.",
+ "runtime" : 4920,
+ "playcount" : 0,
+ "country" : [
+ "Canada"
+ ],
+ "writer" : [
+ "Christina Ray"
+ ],
+ "director" : [
+ "Jennifer Liao"
+ ],
+ "rating" : 0,
+ "plot" : "A group of laid-off workers bribed into working one last night discover that processing the last of their \"inventory\" will lead to cataclysmic consequences.",
+ "mpaa" : "Rated"
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxNw5R2EhCPRB8nK5jcavijcoHJX.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0128813",
+ "sorttitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The End of the World",
+ "studio" : [
+ "Nordisk Film"
+ ],
+ "cast" : [
+ {
+ "name" : "Olaf Fønss",
+ "order" : 0,
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "Carl Lauritzen"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Ebba Thomsen"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Johanne Fritz-Petersen"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Thorleif Lund"
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Alf Blütecher"
+ },
+ {
+ "role" : "",
+ "order" : 6,
+ "name" : "Frederik Jacobsen"
+ },
+ {
+ "name" : "K. Zimmerman",
+ "role" : "",
+ "order" : 7
+ }
+ ],
+ "tagline" : "",
+ "top250" : 0,
+ "year" : 1916,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxNw5R2EhCPRB8nK5jcavijcoHJX.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Science Fiction",
+ "Action",
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "August Blom"
+ ],
+ "country" : [
+ "Denmark"
+ ],
+ "writer" : [
+ "Otto Rung"
+ ],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "A comet, passing by the earth, causes rioting, social unrest, and major disasters that destroy the world in this World War I-era film.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Verdens Undergang (1916).mp4",
+ "title" : "The End of the World",
+ "movieid" : 347,
+ "lastplayed" : "",
+ "runtime" : 4620,
+ "originaltitle" : "Verdens undergang",
+ "playcount" : 0
+ },
+ {
+ "genre" : [
+ "Drama",
+ "Crime",
+ "Mystery",
+ "Thriller"
+ ],
+ "year" : 1993,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftqO00qQBtG3pNuxTTWUTEqPp1jA.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "4",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=RenxQIYvD8w",
+ "rating" : 5.59999990463257,
+ "plot" : "Henry Petosa and Freddy Ace are twins who were separated being babies, and they do not know each other. Henry was adopted by a honest man, while Freddy becomes a gangster. Henry is very shy and has a lot of mental troubles. The film melts the two stories by a young writer who discovers that they were sons of an european noble and they own a large inheritance.",
+ "mpaa" : "Rated",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Alan Rudolph"
+ ],
+ "director" : [
+ "Alan Rudolph"
+ ],
+ "runtime" : 6600,
+ "playcount" : 0,
+ "originaltitle" : "Equinox",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Equinox (1992).mp4",
+ "movieid" : 91,
+ "title" : "Equinox",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fooBtJH08K8aAiuccC6cHfJCOgIs.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftqO00qQBtG3pNuxTTWUTEqPp1jA.jpg/"
+ },
+ "imdbnumber" : "tt0104201",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fooBtJH08K8aAiuccC6cHfJCOgIs.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "The shocking story of identical twins... One too good to die. The other too evil to live.",
+ "studio" : [
+ "RainCity Productions"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Henry Petosa / Freddy Ace",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftEQG1Us5IuoKYtufZe6waWtxfeg.jpg/",
+ "name" : "Matthew Modine"
+ },
+ {
+ "name" : "Lara Flynn Boyle",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm6yHSVEjItgFkMAKB3zOdOoLITy.jpg/",
+ "order" : 1,
+ "role" : "Beverly Franks"
+ },
+ {
+ "name" : "Fred Ward",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fybRDXraWsQ6zyqPUIAWITwuOWug.jpg/",
+ "order" : 2,
+ "role" : "Mr. Paris"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi8R4Uel4L2uf8mqTUOvW9bjLmen.jpg/",
+ "name" : "Marisa Tomei",
+ "role" : "Rosie Rivers",
+ "order" : 3
+ },
+ {
+ "name" : "Tyra Ferrell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fehrlTSktNfShujcY3SaZyJYg2On.jpg/",
+ "order" : 4,
+ "role" : "Sonya Kirk"
+ },
+ {
+ "order" : 5,
+ "role" : "Sharon Ace",
+ "name" : "Lori Singer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flWPT9LMHYOCsw14jCOvm2u0N8qi.jpg/"
+ },
+ {
+ "name" : "Kevin J. O'Connor",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1yeYRXpTbDYLMKUNT4hNQJTJsUX.jpg/",
+ "role" : "Russell Franks",
+ "order" : 6
+ }
+ ],
+ "label" : "Equinox"
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Darian Caine",
+ "order" : 0,
+ "role" : "Darian"
+ },
+ {
+ "name" : "Laurie Wallace",
+ "order" : 1,
+ "role" : "Katie"
+ },
+ {
+ "order" : 2,
+ "role" : "Vikki",
+ "name" : "Victoria Vega"
+ },
+ {
+ "order" : 3,
+ "role" : "Interviewee",
+ "name" : "James Magee"
+ },
+ {
+ "order" : 4,
+ "role" : "Interviewee",
+ "name" : "John Link"
+ },
+ {
+ "role" : "Interviewee",
+ "order" : 6,
+ "name" : "Michael Raso"
+ }
+ ],
+ "studio" : [
+ "Seduction Cinema"
+ ],
+ "tagline" : "In November 1999, three college coeds dissappeared in the woods of Bacchusville NJ, while searching for the mythical Erotic Witch. Two weeks later their home video was found.",
+ "label" : "The Erotic Witch Project",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdrMQbcIDjmVFWOAKuZOQXtBxxBh.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0235369",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "mpaa" : "Rated NR",
+ "plot" : "November 1999. Three gorgeous college girls entered the woods of Bacchusville, New Jersey, in search of the legendary Erotic Witch. Two weeks later their footage was found.",
+ "rating" : 0,
+ "director" : [
+ "John Bacchus"
+ ],
+ "writer" : [],
+ "country" : [],
+ "runtime" : 4680,
+ "playcount" : 0,
+ "originaltitle" : "The Erotic Witch Project",
+ "movieid" : 293,
+ "title" : "The Erotic Witch Project",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Erotic Witch Project (2000).mp4",
+ "lastplayed" : "",
+ "genre" : [
+ "Comedy",
+ "Horror"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdrMQbcIDjmVFWOAKuZOQXtBxxBh.jpg/",
+ "year" : 2000,
+ "votes" : "0",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=http://youtu.be/S8O8RXr6lVc"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "SWEET-FLESHED BEAUTY BECOMES DOCILE OF DEMONIACAL MONSTER!",
+ "studio" : [],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fssdTlVCSa6Tgc2QFKyWdQeLxaEg.jpg/",
+ "name" : "Rod Cameron",
+ "order" : 0,
+ "role" : "Jeff Keenan"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f37w712yEDUGl2mpvy8TtcbJeKPp.jpg/",
+ "name" : "Mary Murphy",
+ "order" : 1,
+ "role" : "Ruth Vance"
+ },
+ {
+ "name" : "Meredith Edwards",
+ "role" : "Dr. Phillip Maxwell",
+ "order" : 2
+ },
+ {
+ "role" : "Paul Zakon",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgLhC9AkaQK32YUYuI0CsvQxwyDG.jpg/",
+ "name" : "Peter Illing"
+ },
+ {
+ "order" : 4,
+ "role" : "Dr. Hoff",
+ "name" : "Carl Jaffe"
+ },
+ {
+ "name" : "Kay Callard",
+ "order" : 5,
+ "role" : "Laura Maxwell"
+ }
+ ],
+ "label" : "Escapement",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsYCoNkVHeXhmZmTLjexuR1eAya9.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffhEn3Zx5b5oxSoc3SKqSKlLpoX4.jpg/"
+ },
+ "imdbnumber" : "tt0051576",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsYCoNkVHeXhmZmTLjexuR1eAya9.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "rating" : 0,
+ "plot" : "An insurance investigator finds there's more to electronic dream therapy than meets the eye.",
+ "mpaa" : "",
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "Charles Eric Maine"
+ ],
+ "director" : [
+ "Montgomery Tully",
+ "David Paltenghi"
+ ],
+ "runtime" : 4800,
+ "playcount" : 0,
+ "originaltitle" : "Escapement",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Escapement (2014).mp4",
+ "title" : "Escapement",
+ "movieid" : 92,
+ "genre" : [
+ "Mystery",
+ "Crime",
+ "Science Fiction"
+ ],
+ "year" : 1958,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffhEn3Zx5b5oxSoc3SKqSKlLpoX4.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=jjv3jI151JE",
+ "votes" : "1",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flvAShyb5Xm4DONRQR8ffY3tL7b6.jpg/",
+ "year" : 2012,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Drama"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Everyday (1976).mp4",
+ "movieid" : 93,
+ "title" : "Everyday",
+ "lastplayed" : "",
+ "runtime" : 7200,
+ "playcount" : 0,
+ "originaltitle" : "Everyday",
+ "director" : [
+ "Michael Winterbottom"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "Laurence Coriat",
+ "Michael Winterbottom"
+ ],
+ "mpaa" : "",
+ "rating" : 6,
+ "plot" : "This film charts the relationship between a man imprisoned for drug smuggling and his wife and is being shot over the course of five years, a few weeks at a time.",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fahJJd33Ulwz2r9YjQGIeo6sr74O.jpg/",
+ "imdbnumber" : "tt1037223",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fahJJd33Ulwz2r9YjQGIeo6sr74O.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flvAShyb5Xm4DONRQR8ffY3tL7b6.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Everyday",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Karen",
+ "order" : 0,
+ "name" : "Shirley Henderson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyxFCumQ2vjMgpdENmroOFN6KENO.jpg/"
+ },
+ {
+ "name" : "John Simm",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f74493.jpg/",
+ "order" : 1,
+ "role" : "Ian"
+ },
+ {
+ "name" : "Shaun Kirk",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzafkYJzQg91Z7rVl30Diq0ztxo3.jpg/",
+ "role" : "Shaun",
+ "order" : 2
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "studio" : [
+ "Fixed Point Films"
+ ],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "The Evil Woods",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt0968738",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqTBwvPwG0UE4t97ow8HCZ9HLJhJ.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feYBS1JOXcksagNedHgREbf53TVJ.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqTBwvPwG0UE4t97ow8HCZ9HLJhJ.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 4980,
+ "originaltitle" : "The Evil Woods",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Woods. (2007).mp4",
+ "movieid" : 327,
+ "title" : "The Evil Woods",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "rating" : 1,
+ "plot" : "Five high school teens take an impromptu weekend camping trip to a notorious desolate party spot.",
+ "director" : [
+ "Aaron Harvey"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "votes" : "1",
+ "trailer" : "",
+ "genre" : [
+ "Horror"
+ ],
+ "top250" : 0,
+ "year" : 2007,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feYBS1JOXcksagNedHgREbf53TVJ.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38"
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzViUg6YueyJYgtJy1BeRfz9PRU4.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwvFwbSiLFWIXiWRF321ouspIgOL.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwvFwbSiLFWIXiWRF321ouspIgOL.jpg/",
+ "imdbnumber" : "tt3336094",
+ "sorttitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The Explorer",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "From the Antarctic icebergs to cave glaciers, following in the footsteps of Emil Racovitza, a Romanian scientist and explorer",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzViUg6YueyJYgtJy1BeRfz9PRU4.jpg/",
+ "year" : 2013,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Documentary"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Xantus Gabor",
+ "Titus Muntean"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "The documentary presents the life and research of Emil Racovita, one of the first Antarctic explorers, a pioneer of oceanology and the founder of a new science, the bio-speleology. He created in Cluj the first Institute of Speleology in the world. Using photographs made by Emil Racovita in Antarctica, the film focuses mainly on the Belgica expedition (1897-1899), the first scientific expedition who wintered in Antarctica, having Roald Amundsen, Frederick Cook on board and Adrien de Gerlache as captain.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Explorer (1915).mp4",
+ "title" : "The Explorer",
+ "movieid" : 294,
+ "lastplayed" : "",
+ "runtime" : 4320,
+ "playcount" : 0,
+ "originaltitle" : "Exploratorul"
+ },
+ {
+ "runtime" : 5100,
+ "originaltitle" : "Eyewitness",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "title" : "Eyewitness",
+ "movieid" : 94,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Eyewitness (2015).mp4",
+ "plot" : "A mother and daughter set out on a weekend river rafting retreat, only to encounter 3 escaped convicts along the way.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "writer" : [
+ "Fred Olen Ray"
+ ],
+ "country" : [],
+ "director" : [
+ "Fred Olen Ray"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpEtfuIt2hqETPKAhTbOwDw5T6Q2.jpg/",
+ "year" : 2015,
+ "top250" : 0,
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Sharon",
+ "name" : "Brigid Brannagh",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxZODXYeYE4ii57HFJlcCde6SwHT.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Frank",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6YPtG7ewkufvF1UsJzvctkI55Tg.jpg/",
+ "name" : "Ivan Sergei"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx5LyZNUb9UUSBv3PeT2e2ftwTd3.jpg/",
+ "name" : "Tim Abell",
+ "role" : "Cole",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Cassie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhwpKZIJuIMinNMa608LY7zgewJo.jpg/",
+ "name" : "Leah Bateman"
+ }
+ ],
+ "studio" : [],
+ "label" : "Eyewitness",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt3758120",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpEtfuIt2hqETPKAhTbOwDw5T6Q2.jpg/"
+ }
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Ein ganz normaler Tag (2000).mp4",
+ "movieid" : 83,
+ "title" : "Falling Down",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 6780,
+ "originaltitle" : "Falling Down",
+ "director" : [
+ "Joel Schumacher"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Ebbe Roe Smith"
+ ],
+ "mpaa" : "Rated R",
+ "rating" : 6.90000009536743,
+ "plot" : "An unemployed defense worker frustrated with the various flaws he sees in society, begins to psychotically and violently lash out against them.",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=KOUdakrP52E",
+ "votes" : "288",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjBHJWSUvvOIZkXG067vwVRWvohB.jpg/",
+ "year" : 1993,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Crime",
+ "Drama",
+ "Thriller"
+ ],
+ "label" : "Falling Down",
+ "studio" : [
+ "Regency Enterprises"
+ ],
+ "cast" : [
+ {
+ "role" : "William 'D-Fens' Foster",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnmlitv4g2jXO3sJrnA9g980j2uc.jpg/",
+ "name" : "Michael Douglas"
+ },
+ {
+ "role" : "Detective Prendergast",
+ "order" : 1,
+ "name" : "Robert Duvall",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1aBC7NxPy10ofng6HsJBecJ1vMZ.jpg/"
+ },
+ {
+ "name" : "Barbara Hershey",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgaimK3QeNS32Wjryw03QC0PXWKO.jpg/",
+ "role" : "Elizabeth 'Beth' Travino",
+ "order" : 2
+ },
+ {
+ "name" : "Tuesday Weld",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwLVlljfTvppkfdQz9fNDizNpSuK.jpg/",
+ "order" : 3,
+ "role" : "Amanda Prendergast"
+ },
+ {
+ "name" : "Rachel Ticotin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feauJo24G6HSHnJcuTSZvP4gX2uN.jpg/",
+ "order" : 4,
+ "role" : "Sandra"
+ },
+ {
+ "role" : "Nick, the Nazi Surplus Store Owner",
+ "order" : 5,
+ "name" : "Frederic Forrest",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffCHsWrGcgfREM7e9POq6FCFGvR9.jpg/"
+ },
+ {
+ "role" : "Mrs. Foster / William's Mother",
+ "order" : 6,
+ "name" : "Lois Smith",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foyIYQpGu3L0yDzXH4utRb24xI5h.jpg/"
+ },
+ {
+ "role" : "Adele Foster-Travino",
+ "order" : 7,
+ "name" : "Joey Hope Singer"
+ },
+ {
+ "name" : "Ebbe Roe Smith",
+ "order" : 8,
+ "role" : "Guy on Freeway"
+ },
+ {
+ "order" : 9,
+ "role" : "Mr. Lee",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc9HqJlG7nuutKW5aYq8ODctCT1w.jpg/",
+ "name" : "Michael Paul Chan"
+ },
+ {
+ "order" : 10,
+ "role" : "Captain Yardley",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk4WDNgYHOUgRaPQIsZUPUxl1lO6.jpg/",
+ "name" : "Raymond J. Barry"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl2IZeyX8WrG2SINrXaA1ibQfLLn.jpg/",
+ "name" : "D.W. Moffett",
+ "role" : "Detective Lydecker",
+ "order" : 11
+ },
+ {
+ "role" : "Sheila",
+ "order" : 12,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9kgehqEvh92wzKzFpunMIckZTHf.jpg/",
+ "name" : "Dedee Pfeiffer"
+ }
+ ],
+ "tagline" : "A Tale Of Urban Reality",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcS45swrlrTJijH1RblBLe8LlW2p.jpg/",
+ "imdbnumber" : "tt0106856",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjBHJWSUvvOIZkXG067vwVRWvohB.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcS45swrlrTJijH1RblBLe8LlW2p.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Fernando León de Aranoa"
+ ],
+ "rating" : 7,
+ "plot" : "Santiago wakes up like any other morning. He goes down to the kitchen and his whole family is waiting for him: it's his birthday. They all sing \"Happy Birthday to You\" and give him presents. But when he opens the present of his youngest son, he gets angry and says he doesn't like it. The boy starts crying and saying that he loves him, but Santiago answers that he doesn't believe him and he tells the boy that he is fired and that he wants another son, who is thinner, who doesn't need glasses and who resembles him more. Written by Pablo Montoya",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Familia (1996).mp4",
+ "movieid" : 95,
+ "title" : "Family",
+ "originaltitle" : "Familia",
+ "runtime" : 5880,
+ "playcount" : 0,
+ "year" : 1996,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foytDJCweHQZgZRIj2OAADYrWE7h.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=5kCQvWc7B7g",
+ "votes" : "1",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Family",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Amparo Muñoz",
+ "role" : "Carmen",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5BayZw5o5TjjPWEF26G3Je2bksh.jpg/",
+ "name" : "Ágata Lys",
+ "role" : "Sole",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuZp4fSMtLhP5NpAkEYSyf1KflrZ.jpg/",
+ "name" : "Juan Luis Galiardo",
+ "order" : 2,
+ "role" : "Santiago"
+ },
+ {
+ "name" : "Elena Anaya",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5qq1tPZQ8XLn4oa6YwCuj1gqTQI.jpg/",
+ "role" : "",
+ "order" : 3
+ }
+ ],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7xVH1PbYUBq2zBIW4toRJtLtzBh.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foytDJCweHQZgZRIj2OAADYrWE7h.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7xVH1PbYUBq2zBIW4toRJtLtzBh.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0116274",
+ "sorttitle" : ""
+ },
+ {
+ "genre" : [
+ "Comedy",
+ "Family"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5sCnfouISKGmMvos9Jt9P9jyVqm.jpg/",
+ "year" : 1941,
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "",
+ "rating" : 0,
+ "director" : [
+ "Lau Lauritzen Jr."
+ ],
+ "writer" : [
+ "Axel Frische",
+ "Børge Müller"
+ ],
+ "country" : [
+ "Denmark"
+ ],
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Far skal giftes",
+ "title" : "Far skal giftes",
+ "movieid" : 96,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Far skal giftes (1941).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5sCnfouISKGmMvos9Jt9P9jyVqm.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxWZJRJxp5pt9OgXBtsVBLVz399w.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0124532",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxWZJRJxp5pt9OgXBtsVBLVz399w.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Helge Kjærulff-Schmidt",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo8pgrWfyqYqefDQYGJxWj3pCwNY.jpg/",
+ "order" : 0,
+ "role" : "Professor Jacob Jensen"
+ },
+ {
+ "name" : "Ellen Gottschalch",
+ "order" : 1,
+ "role" : "Husbestyrerinde Karen Frederiksen"
+ },
+ {
+ "name" : "Berthe Qvistgaard",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feLO9ajvLFZaqnf9geF1vPXlXFQB.jpg/",
+ "role" : "Else Margrethe Jensen",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Birthe Jensen",
+ "name" : "Bodil Kjer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f93u4Q4BZG39i2wEUSpEmMigMHx2.jpg/"
+ },
+ {
+ "role" : "Oskar Jensen",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3w5wGkWXVhsoIMBjvYbRLaeNFiX.jpg/",
+ "name" : "Poul Reichhardt"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1GZDNpIdRaNDsKtF2JBScZ7yDrq.jpg/",
+ "name" : "Maria Garland",
+ "role" : "Tante Rikke Holm",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Harry Holm",
+ "name" : "Eigil Reimers"
+ },
+ {
+ "order" : 7,
+ "role" : "Peter Larsen",
+ "name" : "Edvin Tiemroth"
+ },
+ {
+ "name" : "Ib Schønberg",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffXQmiA80UtgLbPFB2Pw8VxPH7tJ.jpg/",
+ "order" : 8,
+ "role" : "Gartner Ørsager"
+ }
+ ],
+ "studio" : [
+ "Palladium Productions"
+ ],
+ "tagline" : "",
+ "label" : "Far skal giftes"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [
+ "Braunsberg Productions"
+ ],
+ "cast" : [
+ {
+ "role" : "Nicholas",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpoP14NJZzSrIIIpCdBNpj4iNVZv.jpg/",
+ "name" : "Joe Dallesandro"
+ },
+ {
+ "name" : "Monique van Vooren",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5qHx9L7Zn9ZHOf2hv2FdOapLhSp.jpg/",
+ "order" : 1,
+ "role" : "Baroness Katrin Frankenstein"
+ },
+ {
+ "order" : 2,
+ "role" : "Baron Frankenstein",
+ "name" : "Udo Kier",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7uCwKrzoUUkQ3hjeui8IRsfGjZ1.jpg/"
+ },
+ {
+ "name" : "Arno Juerging",
+ "order" : 3,
+ "role" : "Otto"
+ },
+ {
+ "order" : 4,
+ "role" : "Female Monster",
+ "name" : "Dalila Di Lazzaro",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsKDixhmSDmhTteB7weOYY4EbnG2.jpg/"
+ },
+ {
+ "role" : "Male Monster",
+ "order" : 5,
+ "name" : "Srdjan Zelenović"
+ },
+ {
+ "order" : 7,
+ "role" : "Monica Frankenstein",
+ "name" : "Nicoletta Elmi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzWYK5425ecjzwkA7mmJHA6A6Z8E.jpg/"
+ },
+ {
+ "name" : "Marco Liofredi",
+ "order" : 8,
+ "role" : "Erik Frankenstein"
+ }
+ ],
+ "tagline" : "We dare you to see...",
+ "label" : "Flesh for Frankenstein",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f96vTKO89VQd3KyX1LjCuknCRhFa.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdeXO2Jg9RRpsbKuPLa6QM3u0CKw.jpg/"
+ },
+ "imdbnumber" : "tt0071508",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f96vTKO89VQd3KyX1LjCuknCRhFa.jpg/",
+ "mpaa" : "Rated R",
+ "rating" : 4.90000009536743,
+ "plot" : "Within the decadent walls of the Frankenstein mansion, the Baron and his depraved assistant Otto have discovered the means of creating new life. As the Baron's laboratory begins to fill up with stitched body parts, the Baroness dallies with the randy new manservant and soon the decadent, permissive household is consumed by an outrageous, bizarre, and hilarious orgy of death and dismemberment.",
+ "director" : [
+ "Paul Morrissey"
+ ],
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "Paul Morrissey"
+ ],
+ "runtime" : 5700,
+ "playcount" : 0,
+ "originaltitle" : "Flesh for Frankenstein",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Flesh for Frankenstein (1973).mp4",
+ "movieid" : 97,
+ "title" : "Flesh for Frankenstein",
+ "lastplayed" : "",
+ "genre" : [
+ "Horror"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdeXO2Jg9RRpsbKuPLa6QM3u0CKw.jpg/",
+ "year" : 1974,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "8",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=5-c2I4ADfnk"
+ },
+ {
+ "director" : [
+ "A. Edward Sutherland"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "mpaa" : "Rated NR",
+ "rating" : 5.90000009536743,
+ "plot" : "Ollie is in love with a woman. When he discovers that she is already married, he tries to kill himself. Of course, the suicide is avoided and the boys join the Foreign Legion to get away from their troubles. Finally, they are arrested for trying to desert the Legion and to escape the firing squad by stealing a plane.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Flying Deuces (1939).mp4",
+ "title" : "The Flying Deuces",
+ "movieid" : 296,
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 4140,
+ "originaltitle" : "The Flying Deuces",
+ "top250" : 0,
+ "year" : 1939,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgjugMKyHkcFNFNe6KEAtKnbhy6i.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=cEpuQyaano8",
+ "votes" : "4",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The Flying Deuces",
+ "studio" : [
+ "RKO Radio Pictures"
+ ],
+ "cast" : [
+ {
+ "role" : "Stan",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcYrYC6qpRng0aB34zscpxMGxdx3.jpg/",
+ "name" : "Stan Laurel"
+ },
+ {
+ "order" : 1,
+ "role" : "Ollie",
+ "name" : "Oliver Hardy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frNNQcmqGONwOc4d3adhQD57T2jm.jpg/"
+ },
+ {
+ "role" : "Georgette",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsAnclUs45jPwKIBM2mFViQkiV2H.jpg/",
+ "name" : "Jean Parker"
+ },
+ {
+ "role" : "Francois",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvQAyaZ5vC7madXSfOST0KzhbA6V.jpg/",
+ "name" : "Reginald Gardiner"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feThqMEt65JKkxwRQu2usnpGbfuH.jpg/",
+ "name" : "Charles Middleton",
+ "role" : "Commandant",
+ "order" : 4
+ },
+ {
+ "name" : "Jean Del Val",
+ "role" : "Sergeant",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Corporal (as Clem Wilenchick)",
+ "name" : "Crane Whitley"
+ },
+ {
+ "role" : "Jailor",
+ "order" : 7,
+ "name" : "James Finlayson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjKWkZTPmipR9LWI97wwjCK4Oq8d.jpg/"
+ },
+ {
+ "name" : "Monica Bannister",
+ "role" : "Georgette's Girl Friend",
+ "order" : 8
+ },
+ {
+ "role" : "Georgette's Girl Friend",
+ "order" : 9,
+ "name" : "Bonnie Bannon"
+ },
+ {
+ "name" : "Eddie Borden",
+ "order" : 10,
+ "role" : "Legionnaire"
+ },
+ {
+ "name" : "Christine Cabanne",
+ "role" : "Georgette's Girl Friend",
+ "order" : 11
+ },
+ {
+ "name" : "Mary Jane Carey",
+ "order" : 12,
+ "role" : "Georgette's Girl Friend"
+ },
+ {
+ "role" : "Legionnaire",
+ "order" : 13,
+ "name" : "Jack Chefe"
+ },
+ {
+ "role" : "Pilot",
+ "order" : 14,
+ "name" : "Frank Clarke"
+ },
+ {
+ "name" : "Richard Cramer",
+ "role" : "Laundry Truck Driver",
+ "order" : 15
+ },
+ {
+ "name" : "Billy Engle",
+ "role" : "Legionnaire",
+ "order" : 16
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqTRvlchIyQcywHHkjHHdQUFhFsS.jpg/",
+ "name" : "Kit Guard",
+ "order" : 17,
+ "role" : "Legionnaire"
+ },
+ {
+ "order" : 18,
+ "role" : "Drunk Legionnaire",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f60sil6To1RHDnlZWmaBYVIJuRLg.jpg/",
+ "name" : "Arthur Housman"
+ },
+ {
+ "order" : 19,
+ "role" : "Legionnaire",
+ "name" : "Sam Lufkin"
+ },
+ {
+ "order" : 20,
+ "role" : "Innkeeper",
+ "name" : "Michael Visaroff"
+ }
+ ],
+ "tagline" : "They dish out the dizziest rib-ride of the year!",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fot9EHHETRQqs9aVq7PpeR1fAu12.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgjugMKyHkcFNFNe6KEAtKnbhy6i.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fot9EHHETRQqs9aVq7PpeR1fAu12.jpg/",
+ "imdbnumber" : "tt0031322",
+ "sorttitle" : ""
+ },
+ {
+ "label" : "The Fog",
+ "tagline" : "Lock your doors. Bolt your windows. There's something in THE FOG!",
+ "studio" : [
+ "AVCO Embassy Pictures"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Stevie Wayne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvKZpJlrGLK4qFTTnWFa6LMH2FMc.jpg/",
+ "name" : "Adrienne Barbeau"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc4poMDwQ0nUj81m4WPriiv96ExZ.jpg/",
+ "name" : "Jamie Lee Curtis",
+ "order" : 1,
+ "role" : "Elizabeth Solley"
+ },
+ {
+ "role" : "Kathy Williams",
+ "order" : 2,
+ "name" : "Janet Leigh",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3FWYSCJUOuYVDPG9UoMjtqNMdyb.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcfG4HXRJRnkJqzlfpjtc9T2L9Ls.jpg/",
+ "name" : "John Houseman",
+ "role" : "John Houseman",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Nick Castle",
+ "name" : "Tom Atkins",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgZZx9ByxKyt2idABNwr2XTN9jzU.jpg/"
+ },
+ {
+ "name" : "James Canning",
+ "order" : 5,
+ "role" : "Dick Baxter"
+ },
+ {
+ "name" : "Charles Cyphers",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpglMfoHMVEcziDlnl33DrZjRSM3.jpg/",
+ "role" : "Dan O'Bannon",
+ "order" : 6
+ },
+ {
+ "name" : "Nancy Kyes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foESpXmldydTl8iP6Bu16AeQgb3N.jpg/",
+ "order" : 7,
+ "role" : "Sandy Fadel"
+ },
+ {
+ "role" : "Andy",
+ "order" : 8,
+ "name" : "Ty Mitchell"
+ },
+ {
+ "role" : "Father Malone",
+ "order" : 9,
+ "name" : "Hal Holbrook",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsnyV5pdXbLxyvf2jJhWFxzuvX0a.jpg/"
+ },
+ {
+ "name" : "John F. Goff",
+ "role" : "Al Williams",
+ "order" : 10
+ },
+ {
+ "role" : "Tommy Wallace",
+ "order" : 11,
+ "name" : "George Buck Flower",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxHzW4GszCLTZLNxvTcKL9ICuLIc.jpg/"
+ },
+ {
+ "name" : "Regina Waldon",
+ "role" : "Mrs. Kobritz",
+ "order" : 12
+ },
+ {
+ "name" : "Jim Haynie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faFXy2ef18bE6gqibhDoZ7EAsq8n.jpg/",
+ "role" : "Dockmaster",
+ "order" : 13
+ },
+ {
+ "order" : 14,
+ "role" : "Mel",
+ "name" : "Darrow Igus"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjPXJxQE64xP8TArB8BTLfGdR41l.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt0080749",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu9wAIHya0BHJvGJh3mBPr010U7C.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjPXJxQE64xP8TArB8BTLfGdR41l.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Fog (1980).mp4",
+ "title" : "The Fog",
+ "movieid" : 297,
+ "originaltitle" : "The Fog",
+ "runtime" : 5340,
+ "playcount" : 0,
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Debra Hill",
+ "John Carpenter"
+ ],
+ "director" : [
+ "John Carpenter"
+ ],
+ "rating" : 6.19999980926514,
+ "plot" : "Strange things begin to occurs as a tiny California coastal town prepares to commemorate its centenary. Inanimate objects spring eerily to life; Rev. Malone stumbles upon a dark secret about the town's founding; radio announcer Stevie witnesses a mystical fire; and hitchhiker Elizabeth discovers the mutilated corpse of a fisherman. Then a mysterious iridescent fog descends upon the village, and more people start to die.",
+ "mpaa" : "Rated R",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=nOZwnivtLbc",
+ "votes" : "78",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu9wAIHya0BHJvGJh3mBPr010U7C.jpg/",
+ "year" : 1980,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Horror"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "movieid" : 98,
+ "title" : "For Love or Money",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/For Love or Money (1993).mp4",
+ "runtime" : 5640,
+ "originaltitle" : "For Love or Money",
+ "playcount" : 0,
+ "writer" : [
+ "Mark Rosenthal",
+ "Lawrence Konner"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Barry Sonnenfeld"
+ ],
+ "plot" : "New York concierge Doug Ireland wants to go into business for himself and refurbish a hotel on Roosevelt Island, N.Y., but he needs an investor. With a few weeks left before his option on the site runs out, Doug agrees to help wealthy Christian Hanover conceal his affair with salesgirl Andy Hart from his wife. Despite his own attraction to Andy, Doug tries to stay focused on getting Christian to invest $3 million in his project.",
+ "rating" : 5.59999990463257,
+ "mpaa" : "Rated PG",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=AgyXXoweKZk",
+ "votes" : "28",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjOiO5hEUnXllyrST0KHbtyJjpe0.jpg/",
+ "year" : 1993,
+ "top250" : 0,
+ "genre" : [
+ "Comedy",
+ "Romance"
+ ],
+ "label" : "For Love or Money",
+ "tagline" : "He thought there was nothing as seductive as money. He was wrong.",
+ "cast" : [
+ {
+ "role" : "Doug Ireland",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbGUjr2FSbhvCJeu6J8NPMASiH4S.jpg/",
+ "name" : "Michael J. Fox"
+ },
+ {
+ "name" : "Gabrielle Anwar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkhnEDczzSy6UcbnqZ6Sb4lWxnkE.jpg/",
+ "order" : 1,
+ "role" : "Andy Hart"
+ },
+ {
+ "order" : 2,
+ "role" : "Christian Hanover",
+ "name" : "Anthony Higgins",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1cjZmBBVlUCZlLqX4Jn1EOdVulw.jpg/"
+ },
+ {
+ "name" : "Fyvush Finkel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftj6XRnTe5VU3kxJODkaQ1xOV1Rs.jpg/",
+ "order" : 3,
+ "role" : "Milton Glickman"
+ },
+ {
+ "role" : "Marie",
+ "order" : 4,
+ "name" : "Sandra Reaves-Phillips",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpjw0snyS8a6dx1RHDDjWjEGO7Cq.jpg/"
+ },
+ {
+ "role" : "Nora",
+ "order" : 5,
+ "name" : "LaChanze",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg3P0Q3ZJZaUabXZi7gdaBzMniHh.jpg/"
+ },
+ {
+ "name" : "Mike Moyer",
+ "role" : "Charlie the Doorman",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f30zqGjuEdlhkHDfQIIiMCMEMUpZ.jpg/",
+ "name" : "Saverio Guerra",
+ "order" : 7,
+ "role" : "Carmen"
+ },
+ {
+ "name" : "Daniel Hagen",
+ "order" : 8,
+ "role" : "Vincent the Bartender"
+ },
+ {
+ "name" : "Paula Laurence",
+ "role" : "Mrs. Elinor Vigushin",
+ "order" : 9
+ },
+ {
+ "role" : "Eleanor Hanover",
+ "order" : 10,
+ "name" : "Donna Mitchell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fufZO6Uo9cy4ayM6jJfHfnqL5Elt.jpg/",
+ "name" : "Debra Monk",
+ "order" : 11,
+ "role" : "Mrs. Wegman"
+ },
+ {
+ "role" : "Harry Wegman",
+ "order" : 12,
+ "name" : "Michael Tucker",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7VFtXjMoh1O9ymaftK24Sbx8zG.jpg/"
+ },
+ {
+ "role" : "Ed Drinkwater",
+ "order" : 13,
+ "name" : "Bob Balaban",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3g7IKz8ycv0opDxmpoBxsQkUslU.jpg/"
+ },
+ {
+ "name" : "Isaac Mizrahi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgB4s6zmaV2rjVCIPBoRv8VhNvh9.jpg/",
+ "role" : "Julian Russell",
+ "order" : 14
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5E4SUVfLMUKNCiP0dMhyOv3XHVZ.jpg/",
+ "name" : "Dan Hedaya",
+ "role" : "Gene Salvatore",
+ "order" : 15
+ }
+ ],
+ "studio" : [
+ "Universal Studios"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f33vq1vmNz16ENpR6fdFhD4KJUoS.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0106941",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjOiO5hEUnXllyrST0KHbtyJjpe0.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f33vq1vmNz16ENpR6fdFhD4KJUoS.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : []
+ },
+ {
+ "genre" : [
+ "War"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5IeP5ChjIrYqC8frijbXHAX7Cmj.jpg/",
+ "year" : 2007,
+ "votes" : "1",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "In 1943, as Japan's WWII effort falters, a vice-admiral proposes training squadrons of \"volunteer\" flyers to crash their armed planes into Allied warships. Yarn follows the lives of kamikaze pilots, as remembered by an aging Kyushu restaurateur who cherishes their memory. Honoring the dead and multiple military anthems may stir the soul of some Japanese, but elsewhere auds will make a one-way trip for exits. Battle scenes are well-executed and script delivers some memorable scenes, but overall competent helming and thesping are powerless over writer-cum-Tokyo governor Shintaro Ishiara's repetitive storytelling. A post-war postscript adds considerable length to an already over-extended narrative. Tech credits are good quality.",
+ "rating" : 4.5,
+ "director" : [
+ "Taku Shinjo"
+ ],
+ "writer" : [
+ "Shintarô Ishihara"
+ ],
+ "country" : [
+ "Japan"
+ ],
+ "originaltitle" : "俺は、君のためにこそ死ににいく",
+ "runtime" : 8100,
+ "playcount" : 0,
+ "title" : "For Those We Love",
+ "movieid" : 19,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/All for Love (2012).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5IeP5ChjIrYqC8frijbXHAX7Cmj.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjUPXoLO83DQmiNWjvaoJkmkpv1j.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0882797",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjUPXoLO83DQmiNWjvaoJkmkpv1j.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Keiko Kishi",
+ "order" : 0,
+ "role" : "Tome Torihama"
+ },
+ {
+ "name" : "Yosuke Kubozuka",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyFQ94JIrNclK1PbxB6zD0E6yqYG.jpg/",
+ "order" : 1,
+ "role" : "Leutnant Bando"
+ },
+ {
+ "role" : "Leutnant Tabata",
+ "order" : 2,
+ "name" : "Michitaka Tsutsui",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8P6zcLKm1HrOYOxHbFnMO9omeTz.jpg/"
+ },
+ {
+ "name" : "Satoshi Tokushige",
+ "order" : 3,
+ "role" : "Kapitän Nakanishi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8T2CGD1kie9N4JS4EU9klvRb8Nk.jpg/",
+ "name" : "Yasuyuki Maekawa",
+ "role" : "Kaneyama",
+ "order" : 4
+ },
+ {
+ "role" : "Vice Admiral Takijiro Onishi",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foVy1sMt7DVttkG5Gpxcv6ullVU9.jpg/",
+ "name" : "Masatō Ibu"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftgGVTt9Uned44dsCEXNZB37NGTw.jpg/",
+ "name" : "Matsuo Satoru"
+ }
+ ],
+ "studio" : [
+ "Nippon Television Network Corporation (NTV)"
+ ],
+ "tagline" : "",
+ "label" : "For Those We Love"
+ },
+ {
+ "genre" : [
+ "Documentary"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fblLGyh8bLZEZNgeTF2a101jKqJz.jpg/",
+ "year" : 2012,
+ "votes" : "4",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=wLoB1eCJ93k",
+ "mpaa" : "Rated",
+ "plot" : "Documentary about the modern apocalypse caused by a rapacious banking system. 23 leading thinkers – frustrated at the failure of their respective disciplines – break their silence to explain how the world really works.",
+ "rating" : 6.59999990463257,
+ "director" : [
+ "Ross Ashcroft"
+ ],
+ "writer" : [
+ "Ross Ashcroft",
+ "Dominic Frisby"
+ ],
+ "country" : [],
+ "runtime" : 5820,
+ "originaltitle" : "Four Horsemen",
+ "playcount" : 0,
+ "movieid" : 99,
+ "title" : "Four Horsemen",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Four Horsemen (2014).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6gDVAQi9F66BWn4UseDpP7mCkP9.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fblLGyh8bLZEZNgeTF2a101jKqJz.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1671513",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6gDVAQi9F66BWn4UseDpP7mCkP9.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Noam Chomsky",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8AzdnaF732PdbQMZZEj861SJnKE.jpg/",
+ "role" : "himself",
+ "order" : 0
+ },
+ {
+ "name" : "Joseph Stiglitz",
+ "order" : 1,
+ "role" : "himself"
+ },
+ {
+ "role" : "himself",
+ "order" : 2,
+ "name" : "John Perkins"
+ },
+ {
+ "name" : "James Turk",
+ "role" : "himself",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "himself",
+ "name" : "Herman Daly"
+ },
+ {
+ "name" : "Max Keiser",
+ "role" : "himself",
+ "order" : 5
+ }
+ ],
+ "studio" : [],
+ "tagline" : "We Will Never Return to Business as Usual",
+ "label" : "Four Horsemen"
+ },
+ {
+ "imdbnumber" : "tt1728204",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyeN7KXKLOS4YvDN0JAujcWuTIHY.jpg/"
+ },
+ "studio" : [
+ "Merton Park Studios"
+ ],
+ "cast" : [
+ {
+ "name" : "Paul Daneman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcrBYQXinfCDd2fUYZpkxGmiXfif.jpg/",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8X7n8x3IOFjIj7BbZAIetywbuyU.jpg/",
+ "name" : "Miriam Karlin",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Delphi Lawrence"
+ },
+ {
+ "name" : "Conrad Phillips",
+ "order" : 4,
+ "role" : ""
+ }
+ ],
+ "tagline" : "",
+ "label" : "The Fourth Square",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Crime"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyeN7KXKLOS4YvDN0JAujcWuTIHY.jpg/",
+ "year" : 1961,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "runtime" : 3420,
+ "originaltitle" : "The Fourth Square",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Fourth Wall (2007).mp4",
+ "title" : "The Fourth Square",
+ "movieid" : 298,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "The Police investigate the theft of emerald jewellery which had led to murder.",
+ "director" : [
+ "Allan Davis"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : []
+ },
+ {
+ "runtime" : 3120,
+ "playcount" : 0,
+ "originaltitle" : "Fowl Play",
+ "title" : "Fowl Play",
+ "movieid" : 100,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Fowl Play (2006).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "Fowl Play is a documentery about the treatment of egg laying hens and other animals. It goes inside of egg corporations that people buy from everyday, and exposes how those animals are being treated, abused, and killed.",
+ "rating" : 0,
+ "director" : [
+ "Adam Durand"
+ ],
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Documentary"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2009,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdzKrv5h8WyQowNUpbK7G4mCH15H.jpg/",
+ "cast" : [],
+ "studio" : [
+ "Mercy for Animals"
+ ],
+ "tagline" : "The untold story behind your breakfast...",
+ "label" : "Fowl Play",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt3157714",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdzKrv5h8WyQowNUpbK7G4mCH15H.jpg/"
+ }
+ },
+ {
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fogC7slqrjB4Fe9KaW908EYFT6DG.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff3pB3MzxZxc1bVZXxKZdELVZnC7.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fogC7slqrjB4Fe9KaW908EYFT6DG.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt0210052",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Franco e Ciccio Superstars",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "Franco Franchi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA2vthWrCZQYWOpsi0eKu6VvGEsy.jpg/"
+ },
+ {
+ "name" : "Ciccio Ingrassia",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqUAEOlrZk2e6U5mnEeomcLFfvx7.jpg/",
+ "order" : 2,
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Fiorenzo Fiorentini"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frXKTGwbvgcXzqRgUQN7GGhbvQOA.jpg/",
+ "name" : "Lino Banfi"
+ },
+ {
+ "name" : "Ivano Staccioli",
+ "order" : 5,
+ "role" : ""
+ },
+ {
+ "name" : "Isabella Biagini",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Solvi Stübing"
+ },
+ {
+ "role" : "",
+ "order" : 8,
+ "name" : "Gabriella Giorgelli"
+ }
+ ],
+ "year" : 1974,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff3pB3MzxZxc1bVZXxKZdELVZnC7.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [
+ "Italy"
+ ],
+ "writer" : [],
+ "director" : [
+ "Giorgio Agliani"
+ ],
+ "rating" : 0,
+ "plot" : "",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Franco e Ciccio superstars (1974).mp4",
+ "movieid" : 101,
+ "title" : "Franco e Ciccio Superstars",
+ "originaltitle" : "Franco e Ciccio Superstars",
+ "runtime" : 0,
+ "playcount" : 0
+ },
+ {
+ "imdbnumber" : "tt3764194",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbapXRkL6tP2GasHo8O8SbjNACjO.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAcHl4yymSCX7BH2HjmTkUk7KcFk.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbapXRkL6tP2GasHo8O8SbjNACjO.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f70693.jpg/",
+ "name" : "Raoul Bova"
+ },
+ {
+ "role" : "",
+ "order" : 2,
+ "name" : "Luca Argentero",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnqpvQb4ALnyXUV9pWjttoV5FQkh.jpg/"
+ },
+ {
+ "name" : "Carolina Crescentini",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiIYz0KrgExpwP2fvzJZlGtnqnVh.jpg/",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "name" : "Michela Andreozzi",
+ "order" : 4,
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Miriam Leone",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f359ZBlHRlnxJzcQMVgrXSYYZqLm.jpg/"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Sergio Assisi"
+ }
+ ],
+ "label" : "Fratelli unici",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "23",
+ "trailer" : "",
+ "genre" : [
+ "Romance",
+ "Comedy"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAcHl4yymSCX7BH2HjmTkUk7KcFk.jpg/",
+ "year" : 2014,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Fratelli unici",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Fratelli unici (2014).mp4",
+ "title" : "Fratelli unici",
+ "movieid" : 102,
+ "rating" : 5.90000009536743,
+ "plot" : "",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [
+ "Elena Bucaccio",
+ "Luca Miniero"
+ ],
+ "director" : [
+ "Alessio Maria Federici"
+ ]
+ },
+ {
+ "label" : "Friday After Next",
+ "studio" : [
+ "New Line Cinema"
+ ],
+ "cast" : [
+ {
+ "name" : "Ice Cube",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdzdn1tyWkC4EjlBVKvpAhg5osYA.jpg/",
+ "order" : 0,
+ "role" : "Craig"
+ },
+ {
+ "role" : "Day-Day / Old Man with Shotgun",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f64S9zCFVzHoloRSzd7yd0covlhC.jpg/",
+ "name" : "Mike Epps"
+ },
+ {
+ "role" : "Mr. Jones",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmlrxal9uTk2h6i0suarNOyYGiTN.jpg/",
+ "name" : "John Witherspoon"
+ },
+ {
+ "order" : 3,
+ "role" : "Uncle Elroy",
+ "name" : "Don Curry"
+ },
+ {
+ "order" : 4,
+ "role" : "Mrs. Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl2WIo8fAWrksNIBO6tzhFkN23Cb.jpg/",
+ "name" : "Anna Maria Horsford"
+ },
+ {
+ "order" : 5,
+ "role" : "Pinky",
+ "name" : "Clifton Powell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhBw76xJtCwKS2v5rZtzDBqvKLN6.jpg/"
+ },
+ {
+ "name" : "K. D. Aubert",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4debwedmhJ5aQYerlg2uhuQcPXN.jpg/",
+ "order" : 6,
+ "role" : "Donna"
+ },
+ {
+ "name" : "Bebe Drake",
+ "order" : 7,
+ "role" : "Mrs. Pearly"
+ },
+ {
+ "role" : "Money Mike",
+ "order" : 8,
+ "name" : "Katt Williams",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8f1nGRYIkA9fSBYtU8olUm07Wib.jpg/"
+ },
+ {
+ "name" : "Rickey Smiley",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz4jFMNKepaOMXegCzSeYMWikz0t.jpg/",
+ "order" : 9,
+ "role" : "Santa Claus"
+ },
+ {
+ "order" : 10,
+ "role" : "Damon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fp2JIlYNwjC5ASfmVXvy30DVzXyG.jpg/",
+ "name" : "Terry Crews"
+ },
+ {
+ "name" : "Maz Jobrani",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6yvPvXHNYq1qOtCJUvok90zMivw.jpg/",
+ "role" : "Moly",
+ "order" : 11
+ }
+ ],
+ "tagline" : "The party's back in the 'hood!",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feI1awbf14cA2ds7gtQHZLdLTxrY.jpg/",
+ "imdbnumber" : "tt0293815",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feI1awbf14cA2ds7gtQHZLdLTxrY.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpB49Sg3v247oHFPNvQLJDiX4OgA.jpg/"
+ },
+ "tag" : [],
+ "setid" : 6,
+ "showlink" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Next! (2002).mp4",
+ "title" : "Friday After Next",
+ "movieid" : 206,
+ "lastplayed" : "",
+ "runtime" : 5100,
+ "playcount" : 0,
+ "originaltitle" : "Friday After Next",
+ "director" : [
+ "Marcus Raboy"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Ice Cube"
+ ],
+ "mpaa" : "Rated R",
+ "rating" : 6.59999990463257,
+ "plot" : "Craig and Day Day have finally moved out of their parents houses and into their own crib. The cousins work nights at a local mall as security guards. When their house is robbed on Christmas Eve they team up to track him down.",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=5TlYXoVuRLk",
+ "votes" : "37",
+ "top250" : 0,
+ "year" : 2002,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpB49Sg3v247oHFPNvQLJDiX4OgA.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "Friday Collection",
+ "genre" : [
+ "Comedy",
+ "Drama"
+ ]
+ },
+ {
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0145335",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnaFy96qcRwj4izBvTFHXfSWBybA.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Friends of the family",
+ "studio" : [
+ "Belstar Productions"
+ ],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Leon \"Patate\" Rollo",
+ "name" : "Pierre Dux"
+ },
+ {
+ "order" : 2,
+ "role" : "Edith Rollo",
+ "name" : "Danielle Darrieux",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4o6Wjfx4ahEr1ldLLZ0aEF3OTkP.jpg/"
+ },
+ {
+ "name" : "Sylvie Vartan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnAJjyIFCq7fycXFIGSSEjBwM71Z.jpg/",
+ "role" : "Alexa Rollo",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5WL9XjylWBSpwZua0ZDHc1OxMof.jpg/",
+ "name" : "Jean Marais",
+ "role" : "Noël Carradine",
+ "order" : 4
+ },
+ {
+ "role" : "Véronique Carradine",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5Xtsnl2JxWNloPHsx6cjN8LSaPk.jpg/",
+ "name" : "Anne Vernon"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnaFy96qcRwj4izBvTFHXfSWBybA.jpg/",
+ "year" : 1964,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Patate (1964).mp4",
+ "movieid" : 217,
+ "title" : "Friends of the family",
+ "lastplayed" : "",
+ "runtime" : 5700,
+ "originaltitle" : "Patate",
+ "playcount" : 0,
+ "director" : [
+ "Robert Thomas"
+ ],
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "Robert Thomas",
+ "Marcel Achard"
+ ],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Leon Rollo whose nickname is \"Patate\" is an inventor adored by his wife and is daughter. He is mostly happy but his best friend Noël seems to succeed in everything he undertakes... Patate become increasingly jealous of this incredible luck."
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2bD6kKCqzsHdcDRxfpMJjSHQmey.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fezrXYtsPg1hpSk0wXG8zUIIMqMA.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2005374",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fezrXYtsPg1hpSk0wXG8zUIIMqMA.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffW37Gbk5PJZuXvyZwtcr0cMwPKY.jpg/",
+ "name" : "Nicolas Cage",
+ "order" : 0,
+ "role" : "Jack Halcombe"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4TSmDk5NpIi2pIG6J1gJaxvmx5I.jpg/",
+ "name" : "Vanessa Hudgens",
+ "role" : "Cindy Paulson",
+ "order" : 1
+ },
+ {
+ "name" : "John Cusack",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuKydQYuZ9TnCzvbQLtj6j98vWAT.jpg/",
+ "order" : 2,
+ "role" : "Robert Hansen"
+ },
+ {
+ "order" : 3,
+ "role" : "Allie Halcombe",
+ "name" : "Radha Mitchell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkKbnljNC07nqiucGeouxhKESXUC.jpg/"
+ },
+ {
+ "role" : "Chelle Ringell",
+ "order" : 4,
+ "name" : "Jodi Lyn O'Keefe",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fakyVB9tFIjoj3PnrMBRcvzU86k5.jpg/"
+ },
+ {
+ "name" : "Katherine LaNasa",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9cG8jSI1WheeZWAxtXxUHAt1y99.jpg/",
+ "order" : 5,
+ "role" : "Fran Hansen"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fowIr4b4VIlJu0m6Drofd3P0qDl5.jpg/",
+ "name" : "Dean Norris",
+ "role" : "Sgt. Lyle Haugsven",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Pimp Clate Johnson",
+ "name" : "50 Cent",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgsEwsWWtC5xwFCzL2CnPmc24uIO.jpg/"
+ },
+ {
+ "order" : 8,
+ "role" : "Debbie Peters",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7kyM76HV3wz8g3sXHbdJ4bJuX8E.jpg/",
+ "name" : "Gia Mantegna"
+ },
+ {
+ "order" : 9,
+ "role" : "Lt. Bob Jent",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f85thH2pUn2tPP97QhnYQI7MBiCW.jpg/",
+ "name" : "Kevin Dunn"
+ },
+ {
+ "name" : "Kurt Fuller",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgVgjen3j7pu4efzTYukNeNREQFy.jpg/",
+ "order" : 10,
+ "role" : "D.A. Pat Clives"
+ },
+ {
+ "role" : "Ed Stauber",
+ "order" : 11,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4PTyFQA4WHmxtyht1kMPMHD3Whu.jpg/",
+ "name" : "Matt Gerald"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmrczPKKtc6a2AuVAdjqLLTnWhh5.jpg/",
+ "name" : "Brad William Henke",
+ "order" : 12,
+ "role" : "Carl Galenski"
+ },
+ {
+ "name" : "Michael McGrady",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f154111.jpg/",
+ "role" : "Vice Det. John Gentile",
+ "order" : 13
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsXZOZiVoAm4kKR437AoLECfxBNi.jpg/",
+ "name" : "Ryan O'Nan",
+ "role" : "Gregg Baker",
+ "order" : 14
+ }
+ ],
+ "studio" : [
+ "Grindstone Entertainment Group"
+ ],
+ "tagline" : "The hunter becomes the hunted",
+ "label" : "The Frozen Ground",
+ "genre" : [
+ "Thriller",
+ "Crime"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2bD6kKCqzsHdcDRxfpMJjSHQmey.jpg/",
+ "votes" : "240",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=vPrST9Da7fc",
+ "mpaa" : "Rated R",
+ "plot" : "An Alaska State Trooper partners with a young woman who escaped the clutches of serial killer Robert Hansen to bring the murderer to justice. Based on actual events.",
+ "rating" : 6.19999980926514,
+ "director" : [
+ "Scott Walker"
+ ],
+ "writer" : [
+ "Scott Walker"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "originaltitle" : "The Frozen Ground",
+ "runtime" : 6300,
+ "playcount" : 0,
+ "title" : "The Frozen Ground",
+ "movieid" : 226,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Polo (2013).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Generation War",
+ "studio" : [
+ "teamWorx Produktion für Kino und Fernsehen GmbH"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsIVPnaOQwdrt915Xh9Onp7gCpl0.jpg/",
+ "name" : "Volker Bruch",
+ "role" : "Wilhelm Winter",
+ "order" : 0
+ },
+ {
+ "name" : "Tom Schilling",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8bukspHuL4rRoYISukmL2OgLgnh.jpg/",
+ "order" : 1,
+ "role" : "Friedhelm Winter"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkK1qaeEsbmYrIXwpc7QmDzN9V3d.jpg/",
+ "name" : "Katharina Schüttler",
+ "order" : 2,
+ "role" : "Greta"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftQGCu4hdhzJYNPrAgDd3kOu5DIH.jpg/",
+ "name" : "Ludwig Trepte",
+ "order" : 3,
+ "role" : "Viktor Goldstein"
+ },
+ {
+ "name" : "Miriam Stein",
+ "role" : "Charlotte",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Dorn",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn47f5CXLN1PwoQTpdVVwijJxX5u.jpg/",
+ "name" : "Mark Waschke"
+ },
+ {
+ "order" : 6,
+ "role" : "Hildegard",
+ "name" : "Henriette Richter-Röhl",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fglvsIyZqgJ3VKlQfjbf2ZE3GnWg.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4Mfwk6ELqCAPMPNVn03HLBZXiZ3.jpg/",
+ "name" : "Götz Schubert",
+ "role" : "Dr. Jahn",
+ "order" : 7
+ },
+ {
+ "role" : "Lilja",
+ "order" : 8,
+ "name" : "Christiane Paul",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuDgcUFWHFky6wVRI4vrPJOg9J5D.jpg/"
+ },
+ {
+ "role" : "Hiemer",
+ "order" : 9,
+ "name" : "Sylvester Groth",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvMNpftjWH7Q2dGSFYjp6U4pJkNx.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqtHGMuen3u8vxV4jgfJOkEP8giV.jpg/",
+ "name" : "Alina Levshin",
+ "order" : 10,
+ "role" : "Alina"
+ },
+ {
+ "order" : 11,
+ "role" : "Jerzy",
+ "name" : "Lucas Gregorowicz",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxXOz2mXuGkaKhUNj5UCkJCztCGf.jpg/"
+ },
+ {
+ "order" : 12,
+ "role" : "Hauptmann Feigl",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhDnleU6ktFQ3Z4hebqaVIk4VFhh.jpg/",
+ "name" : "Maxim Mehmet"
+ },
+ {
+ "name" : "Johanna Gastdorf",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdzVe2SqKBkV4XV1oEmq83vZjv1s.jpg/",
+ "role" : "Friedhelms Mutter",
+ "order" : 14
+ },
+ {
+ "name" : "Peter Kremer",
+ "role" : "Vater Winter",
+ "order" : 15
+ },
+ {
+ "order" : 18,
+ "role" : "Bartel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flU8EmVc3tSVC3TfxBm0u4XzuEgl.jpg/",
+ "name" : "Joel Basman"
+ },
+ {
+ "role" : "Oberschwester",
+ "order" : 19,
+ "name" : "Hildegard Schroedter"
+ },
+ {
+ "name" : "Bernd Michael Lade",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft8XHUKCQXcZPecr1jE38WxHbrsy.jpg/",
+ "order" : 22,
+ "role" : "Feldwebel Krebs"
+ },
+ {
+ "name" : "Tino Mewes",
+ "role" : "Zwei",
+ "order" : 24
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwc0wfIqnoUhUi9huVwUTa034KZL.jpg/",
+ "name" : "Antonio Wannek",
+ "role" : "Koch",
+ "order" : 25
+ },
+ {
+ "name" : "Martin Hentschel",
+ "role" : "Leutnant Harmann",
+ "order" : 26
+ },
+ {
+ "order" : 35,
+ "role" : "Soldier",
+ "name" : "Ludwig Blochberger"
+ },
+ {
+ "order" : 38,
+ "role" : "Eins",
+ "name" : "Benjamin Trinks"
+ },
+ {
+ "order" : 39,
+ "role" : "Dorns Adjutant",
+ "name" : "Laurens Walter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzwGEbSDypHIYwhr2TQMjpsHUvgC.jpg/"
+ }
+ ],
+ "tagline" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz4Sb28TGh00ordyyr3Uhq8MZWFU.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flQKe2rx4tx5rxLbQhFb2fQAXRBw.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz4Sb28TGh00ordyyr3Uhq8MZWFU.jpg/",
+ "imdbnumber" : "tt1883092",
+ "sorttitle" : "",
+ "director" : [
+ "Philipp Kadelbach"
+ ],
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [
+ "Stefan Kolditz"
+ ],
+ "mpaa" : "",
+ "rating" : 8.19999980926514,
+ "plot" : "Berlin, 1941. Five friends eager to become heroes in an adventure that will change the face of Europe - and that will forever change them as well.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Generation H (2016).mp4",
+ "title" : "Generation War",
+ "movieid" : 104,
+ "lastplayed" : "",
+ "originaltitle" : "Unsere Mütter, unsere Väter",
+ "runtime" : 16200,
+ "playcount" : 0,
+ "top250" : 0,
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flQKe2rx4tx5rxLbQhFb2fQAXRBw.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Drama",
+ "War"
+ ],
+ "trailer" : "",
+ "votes" : "44"
+ },
+ {
+ "runtime" : 5580,
+ "originaltitle" : "La vendetta",
+ "playcount" : 0,
+ "movieid" : 106,
+ "title" : "Getting Even",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Getting Even (2015).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "After being betrayed by a fellow Marine and spending five years in a POW camp, homeless Vietnam vet Roy Evans reunites with his commander, Dundee, and is tasked by the FBI to find his betrayer, Slisko, who is suspected of slaying several women. Slisko has also become an arms dealer, and Evans and Dundee endure the trauma of returning to Southeast Asia to apprehend their old comrade",
+ "rating" : 6,
+ "director" : [
+ "Leandro Lucchetti"
+ ],
+ "writer" : [],
+ "country" : [
+ "Italy"
+ ],
+ "votes" : "1",
+ "trailer" : "",
+ "genre" : [
+ "Adventure",
+ "Action",
+ "Thriller",
+ "Foreign"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1988,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvX6WIFIDVeC1YaAwGXqd2FH662h.jpg/",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Dundee",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3OyAx3Vrv1mQLOvl7YHaIaFwDuW.jpg/",
+ "name" : "Richard Roundtree"
+ },
+ {
+ "name" : "Michael Aronin",
+ "order" : 1,
+ "role" : "Roy Evans"
+ },
+ {
+ "role" : "John Slisko",
+ "order" : 2,
+ "name" : "Harrison Muller Jr."
+ },
+ {
+ "role" : "Maryanne",
+ "order" : 3,
+ "name" : "Kate Chesher"
+ },
+ {
+ "role" : "Pearl",
+ "order" : 4,
+ "name" : "Deborah Keith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3OKbZhzs9plWYqUZw7dAy7Moa0l.jpg/",
+ "name" : "Giorgio Ardisson",
+ "role" : "Agent Roberts",
+ "order" : 5
+ },
+ {
+ "name" : "Peter Hintz",
+ "order" : 6,
+ "role" : "Tom"
+ },
+ {
+ "name" : "Antonio Cascio",
+ "role" : "Nick Cobra",
+ "order" : 7
+ },
+ {
+ "name" : "Emy Valentino",
+ "order" : 8,
+ "role" : "Nurse"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "This time they don't have to fight. They want to.",
+ "label" : "Getting Even",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0095212",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvX6WIFIDVeC1YaAwGXqd2FH662h.jpg/"
+ }
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Gina, An Actress, Age 29",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Amy Hubbard"
+ },
+ {
+ "name" : "Frankie Faison",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhQ3eh75xtCdxEZCeGaw1q67w593.jpg/",
+ "order" : 2,
+ "role" : ""
+ }
+ ],
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0274525",
+ "sorttitle" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [],
+ "rating" : 0,
+ "plot" : "A struggling young actress lands her first job...only to discover that her \"part\" is to lie to an assembly of factory workers to keep them from unionizing.",
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Gina, an Actress, Age 29 (2001).mp4",
+ "movieid" : 107,
+ "title" : "Gina, An Actress, Age 29",
+ "runtime" : 0,
+ "originaltitle" : "Gina, An Actress, Age 29",
+ "playcount" : 0,
+ "thumbnail" : "",
+ "year" : 2001,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "role" : "Adèle",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzPwmGEC7nN43bRIb4eovuTWEE18.jpg/",
+ "name" : "Vanessa Paradis"
+ },
+ {
+ "order" : 1,
+ "role" : "Gabor",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8DJSAhjcP49kcJID4tGPyY7iyXP.jpg/",
+ "name" : "Daniel Auteuil"
+ },
+ {
+ "role" : "Takis",
+ "order" : 2,
+ "name" : "Demetre Georgalas"
+ },
+ {
+ "order" : 3,
+ "role" : "Irène",
+ "name" : "Catherine Lascault"
+ },
+ {
+ "name" : "Frédéric Pfluger",
+ "order" : 4,
+ "role" : "Contortionist"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2BcudeMWtUkbVUbZyErFaIyT295.jpg/",
+ "name" : "Isabelle Petit-Jacques",
+ "role" : "Bride",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Miss Memory",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6NBOAx1hP0l423uEa2kjUsdr4UK.jpg/",
+ "name" : "Mireille Mossé"
+ },
+ {
+ "order" : 7,
+ "role" : "TGV Ticket Conductor",
+ "name" : "Didier Lemoine"
+ },
+ {
+ "role" : "Kusak",
+ "order" : 8,
+ "name" : "Bertie Cortez"
+ },
+ {
+ "order" : 9,
+ "role" : "Italian Waiter",
+ "name" : "Stéphane Metzger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flrQthI3W6FkNQ4W4dFiD5QykHM6.jpg/"
+ },
+ {
+ "order" : 10,
+ "role" : "Suicide Victim",
+ "name" : "Claude Aufaure"
+ },
+ {
+ "role" : "TGV Waiter",
+ "order" : 11,
+ "name" : "Farouk Bermouga"
+ },
+ {
+ "role" : "Mr. Loyal",
+ "order" : 12,
+ "name" : "Nicolas Donato"
+ },
+ {
+ "role" : "Italian Megaphone",
+ "order" : 13,
+ "name" : "Enzo Etokyo"
+ }
+ ],
+ "studio" : [
+ "Les Films Christian Fechner"
+ ],
+ "label" : "The Girl on the Bridge",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frZmeujCA8oo47PCsfuhMhGeVjm0.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fld5VGPwRsAvi6Gsv2tS0RCBQgZT.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0144201",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frZmeujCA8oo47PCsfuhMhGeVjm0.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "plot" : "It's night on a Paris bridge. A girl leans over Seine River with tears in her eyes and a violent yearning to drown her sorrows. Out of nowhere someone takes an interest in her. He is Gabor, a knife thrower who needs a human target for his show. The girl, Adele, has never been lucky and nowhere else to go. So she follows him. They travel along the northern bank of the Mediterranean to perform.",
+ "rating" : 7,
+ "mpaa" : "Rated",
+ "writer" : [
+ "Serge Frydman"
+ ],
+ "country" : [
+ "France"
+ ],
+ "director" : [
+ "Patrice Leconte"
+ ],
+ "originaltitle" : "La fille sur le pont",
+ "runtime" : 5400,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "movieid" : 273,
+ "title" : "The Girl on the Bridge",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sur le fil (2015).mp4",
+ "genre" : [
+ "Comedy",
+ "Drama",
+ "Romance"
+ ],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1999,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fld5VGPwRsAvi6Gsv2tS0RCBQgZT.jpg/",
+ "top250" : 0,
+ "votes" : "17",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=5Tsg_dVhNi4"
+ },
+ {
+ "plot" : "Zé is a very poor man from the Brazilian countryside. His most prized possession is his donkey. When his donkey falls terminally ill, Zé makes a promise to Saint Bárbara: If his donkey recovers, he will carry a cross - like Jesus - all the way from his city to Saint Bárbara's church in the state capital. Upon the recover of his donkey, Zé leaves on his journey. He makes it to the church, but the priest refuses to accept the cross once he came to know the context of Zé's promise. Written by Manoel Mendonça",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "writer" : [],
+ "country" : [
+ "Brazil"
+ ],
+ "director" : [
+ "Anselmo Duarte"
+ ],
+ "playcount" : 0,
+ "runtime" : 5880,
+ "originaltitle" : "O Pagador de Promessas",
+ "lastplayed" : "",
+ "movieid" : 299,
+ "title" : "The Given Word",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Given (2015).mp4",
+ "genre" : [
+ "Drama",
+ "Foreign"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbi7N5RYOD80w6QGxjQ9liFxeWGO.jpg/",
+ "year" : 1962,
+ "top250" : 0,
+ "votes" : "1",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=hZWUBOauKrg",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "role" : "Zé do Burro / Donkey Jack",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxgpNt8m8nnqG71CsFxeMEFTdq8e.jpg/",
+ "name" : "Leonardo Villar"
+ },
+ {
+ "role" : "Rosa",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9XQSOibSUApNTGjaF7RcJ0Fatz5.jpg/",
+ "name" : "Glória Menezes"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiEp5QV0rV8ZLlcbymDKBY4HxdQI.jpg/",
+ "name" : "Dionísio Azevedo",
+ "order" : 2,
+ "role" : "Olavo, the priest"
+ },
+ {
+ "role" : "Bonitao / 'Handsome'",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faAN6Dl8eOQEHZjUCnMc0G7VDyo6.jpg/",
+ "name" : "Geraldo Del Rey"
+ },
+ {
+ "role" : "Dede",
+ "order" : 4,
+ "name" : "Roberto Ferreira"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzVlcQtMT8kcxDaMBp4YgB2XCUNj.jpg/",
+ "name" : "Othon Bastos",
+ "order" : 5,
+ "role" : "Reporter"
+ },
+ {
+ "name" : "Antonio Pitanga",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw68VOq40SdlOAkHHG3OQ2K8saX5.jpg/",
+ "role" : "Coca, the capoeirista",
+ "order" : 7
+ },
+ {
+ "role" : "Galego",
+ "order" : 8,
+ "name" : "Gilberto Marques"
+ },
+ {
+ "order" : 9,
+ "role" : "Marly, the prostitute",
+ "name" : "Norma Bengell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjKmDl1Hyhdba2dPm5KTKQJLl3Vm.jpg/"
+ },
+ {
+ "role" : "Zealot",
+ "order" : 10,
+ "name" : "Jurema Penna"
+ }
+ ],
+ "studio" : [],
+ "label" : "The Given Word",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftGOSAOlwYpVUJZI2CCuUoBBWmpH.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbi7N5RYOD80w6QGxjQ9liFxeWGO.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0056322",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftGOSAOlwYpVUJZI2CCuUoBBWmpH.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ }
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuKqyHR9UGnBeRhZMFqzlRPpY0mC.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0061714",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Chino",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f56nj2DfMVU3F9qUagZWMePLbrKF.jpg/",
+ "name" : "Dennis Hopper"
+ },
+ {
+ "order" : 1,
+ "role" : "Darryl",
+ "name" : "Jody McCrea",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuwBPv4iked6PQUueDqEwrFsXFrT.jpg/"
+ },
+ {
+ "role" : "Smiley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbUGUr4dL6c8TGcu4DlCBpVy8qbR.jpg/",
+ "name" : "Jock Mahoney"
+ },
+ {
+ "role" : "Chris",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkLmZ4XApvTdELIT4zdyyLhSyBlI.jpg/",
+ "name" : "Chris Noel"
+ },
+ {
+ "name" : "Robert Tessier",
+ "order" : 4,
+ "role" : "Magoo"
+ }
+ ],
+ "studio" : [
+ "American International Pictures (AIP)"
+ ],
+ "tagline" : "STRADDLE YOUR HOGS AND RIDE, MAN! The 'Black Souls' vs the 'Stompers' in the deadliest gang war ever waged!",
+ "label" : "The Glory Stompers",
+ "genre" : [
+ "Action",
+ "Drama"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuKqyHR9UGnBeRhZMFqzlRPpY0mC.jpg/",
+ "year" : 1967,
+ "votes" : "3",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=PWI-6_Sj9vs",
+ "mpaa" : "Rated",
+ "plot" : "Chino is the tough leader of a motorcycle gang who starts off a war when he abducts and mistreats the leader of the enemy biker gang, Darryl, and his girlfriend Chris. Things get violent when Darryl comes back for revenge.",
+ "rating" : 6.19999980926514,
+ "director" : [
+ "Anthony M. Lanza"
+ ],
+ "writer" : [
+ "James Gordon White",
+ "John Lawrence"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "runtime" : 5100,
+ "originaltitle" : "The Glory Stompers",
+ "playcount" : 0,
+ "movieid" : 300,
+ "title" : "The Glory Stompers",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Glory Stompers (1967).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2008,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk3xm399Ra9URyFS1qW5FtNaocjv.jpg/",
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Ying Liang"
+ ],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "Rated",
+ "plot" : "Luo Liang, a young man trying to meet the expectations of family and work, has come to town looking for something better but is unsure of his lot in life.",
+ "rating" : 0,
+ "movieid" : 112,
+ "title" : "Good Cats",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hao mao (2008).mp4",
+ "lastplayed" : "",
+ "originaltitle" : "好猫",
+ "runtime" : 6480,
+ "playcount" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk3xm399Ra9URyFS1qW5FtNaocjv.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt2498422",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Good Cats",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : ""
+ },
+ {
+ "trailer" : "",
+ "votes" : "2",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fscjaVU7isCYHtDVgyOCqPY9mGco.jpg/",
+ "genre" : [
+ "Comedy"
+ ],
+ "movieid" : 109,
+ "title" : "Good Intentions",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Good Intentions (2011).mp4",
+ "lastplayed" : "",
+ "runtime" : 5100,
+ "originaltitle" : "Good Intentions",
+ "playcount" : 0,
+ "director" : [],
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Meet Etta Milford. Loving Wife. Doting Mother. Armed Robber. Etta's husband constantly blows their money on make-shift inventions. When she decides to secretly take \"investment\" matters into her own hands - things quickly go awry! With their savings gone, her husband suspicious, and their children out of control, Etta concocts a scheme to get back their money and save her family.",
+ "rating" : 4.5,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzZ8ec5CPRmgd8gaKljfnW4Q4zIz.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt1070781",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fscjaVU7isCYHtDVgyOCqPY9mGco.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzZ8ec5CPRmgd8gaKljfnW4Q4zIz.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "Good Intentions",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Chester Milford",
+ "name" : "Luke Perry",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgs74eTwX2Qpp5uG7vSoibZpHUOL.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmPTvZi3lOiTi224tLMVWPxeH0iZ.jpg/",
+ "name" : "LeAnn Rimes",
+ "order" : 1,
+ "role" : "Pam"
+ }
+ ],
+ "studio" : [
+ "Shadowlight Productions"
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "label" : "The Good Soldier",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Michael McPhearson",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Perry Parks"
+ },
+ {
+ "name" : "Will Williams",
+ "order" : 2,
+ "role" : ""
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt1377701",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fumODFJsTIbbaw85qZ6EwRuZMRon.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Soldier Pal (2009).mp4",
+ "movieid" : 257,
+ "title" : "The Good Soldier",
+ "lastplayed" : "",
+ "runtime" : 4800,
+ "playcount" : 0,
+ "originaltitle" : "The Good Soldier",
+ "director" : [
+ "Lexy Lovell",
+ "Michael Uys"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Follows the journeys of five combat veterans from different generations of American wars as they sign up, go into battle, and eventually change their minds about what it means to be a good soldier.",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fumODFJsTIbbaw85qZ6EwRuZMRon.jpg/",
+ "year" : 2009,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Documentary"
+ ]
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "",
+ "year" : 2006,
+ "genre" : [],
+ "title" : "Graffiti meissä",
+ "movieid" : 110,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Graffiti (2005).mp4",
+ "lastplayed" : "",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Graffiti meissä",
+ "director" : [],
+ "writer" : [],
+ "country" : [
+ "Finland"
+ ],
+ "mpaa" : "",
+ "plot" : "",
+ "rating" : 0,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0978604",
+ "art" : {},
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "Graffiti meissä",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwHLvhxIjdjngDfI2T5XOkZMdn1J.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv1XhOGAE5wvhaXdNTwVH8Z5gxNm.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2358891",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv1XhOGAE5wvhaXdNTwVH8Z5gxNm.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1TIbNwPHpcb0HWledxIPBqe7elu.jpg/",
+ "name" : "Toni Servillo",
+ "order" : 0,
+ "role" : "Jep Gambardella"
+ },
+ {
+ "order" : 1,
+ "role" : "Romano",
+ "name" : "Carlo Verdone",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6Llxs7g6cjPrOVnp2omFhpEsbNy.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhYWbUuersG0ws8ZMu8B2zKMeuNU.jpg/",
+ "name" : "Sabrina Ferilli",
+ "role" : "Ramona",
+ "order" : 2
+ },
+ {
+ "name" : "Carlo Buccirosso",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fLp5KJrP3N8wls9Ee7gT7reNCSk.jpg/",
+ "role" : "Lello Cava",
+ "order" : 3
+ },
+ {
+ "name" : "Iaia Forte",
+ "role" : "Trumeau",
+ "order" : 4
+ },
+ {
+ "name" : "Pamela Villoresi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdpPVKxi8Q6iAm7uNWDxj4RRetUh.jpg/",
+ "role" : "Viola",
+ "order" : 5
+ },
+ {
+ "role" : "Stefania",
+ "order" : 6,
+ "name" : "Galatea Ranzi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvxjNtPJxFhnY4t89NNKLQO0VZxV.jpg/",
+ "name" : "Franco Graziosi",
+ "order" : 7,
+ "role" : "Conte Colonna"
+ },
+ {
+ "role" : "Stefano",
+ "order" : 8,
+ "name" : "Giorgio Pasotti",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fQvMLacHL5CH80zj6bGoZAK1QQ4.jpg/"
+ },
+ {
+ "order" : 9,
+ "role" : "Alfio Bracco",
+ "name" : "Massimo Popolizio"
+ }
+ ],
+ "studio" : [
+ "France 2 Cinéma"
+ ],
+ "label" : "The Great Beauty",
+ "genre" : [
+ "Comedy",
+ "Drama"
+ ],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwHLvhxIjdjngDfI2T5XOkZMdn1J.jpg/",
+ "year" : 2013,
+ "top250" : 0,
+ "votes" : "226",
+ "trailer" : "",
+ "plot" : "Jep Gambardella has seduced his way through the lavish nightlife of Rome for decades, but after his 65th birthday and a shock from the past, Jep looks past the nightclubs and parties to find a timeless landscape of absurd, exquisite beauty.",
+ "rating" : 7.19999980926514,
+ "mpaa" : "Rated",
+ "writer" : [
+ "Paolo Sorrentino",
+ "Umberto Contarello"
+ ],
+ "country" : [
+ "France"
+ ],
+ "director" : [
+ "Paolo Sorrentino"
+ ],
+ "originaltitle" : "La grande bellezza",
+ "runtime" : 8520,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "movieid" : 172,
+ "title" : "The Great Beauty",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Lepota (2014).mp4"
+ },
+ {
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2011,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhmJb8h7a5o0dJ6YSrEAupguEeru.jpg/",
+ "genre" : [
+ "Family",
+ "Fantasy",
+ "Horror"
+ ],
+ "trailer" : "",
+ "votes" : "6",
+ "director" : [
+ "Yann Samuell"
+ ],
+ "writer" : [],
+ "country" : [
+ "United Kingdom"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Young Humphrey is a ghost with a big problem. He and his family, the Craggyfords, have been ousted from their home and left without a place to haunt. As they search for new haunting grounds they soon discover that they are not alone. Ghosts from all over the world have been exorcised from their dwellings, with dark castles and ancient buildings being destroyed by the living, and turned into shopping centers. With time running out, Humphrey digs deep inside, and decides to help save his family and the rest of the haunting community by scaring his way to victory.",
+ "rating" : 3.29999995231628,
+ "title" : "The Great Ghost Rescue",
+ "movieid" : 301,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Great Ghost Rescue (2011).mp4",
+ "lastplayed" : "",
+ "runtime" : 4740,
+ "playcount" : 0,
+ "originaltitle" : "The Great Ghost Rescue",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhmJb8h7a5o0dJ6YSrEAupguEeru.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwJGprbI2xtJ6Cg6ZppVS370Myws.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwJGprbI2xtJ6Cg6ZppVS370Myws.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt1185244",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The Great Ghost Rescue",
+ "cast" : [
+ {
+ "role" : "Narrator (voice)",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1GtGhAJz1JloqHARqc2xMsq5rG4.jpg/",
+ "name" : "Jason Isaacs"
+ },
+ {
+ "role" : "Winifred",
+ "order" : 1,
+ "name" : "Georgia Groome",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnA1ZUpPGGGdwDhx3uOhE57DbTTy.jpg/"
+ },
+ {
+ "name" : "Toby Hall",
+ "role" : "Humphrey",
+ "order" : 2
+ },
+ {
+ "name" : "Otto Farrant",
+ "role" : "Barnabus",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "The Head Master",
+ "name" : "Stephen Churchett"
+ },
+ {
+ "role" : "Hamish",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvcHsz2rxQxw7AvCKzvaWmyugF1V.jpg/",
+ "name" : "Kevin McKidd"
+ },
+ {
+ "role" : "Master Wraith",
+ "order" : 6,
+ "name" : "Bob Goody"
+ },
+ {
+ "name" : "David Schaal",
+ "role" : "Builder",
+ "order" : 7
+ },
+ {
+ "role" : "Lord Alfred Seymour",
+ "order" : 8,
+ "name" : "Bill Ward"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f17LzSGKGZElKVZZ51TIAMvHtQKJ.jpg/",
+ "name" : "Anthony Stewart Head",
+ "role" : "Prime Minister",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "Brad / Barnabus",
+ "name" : "Steven Mackintosh",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3TQVLNfMiiBAcoaCbmWckxXqagN.jpg/"
+ },
+ {
+ "role" : "Mr Burnley",
+ "order" : 11,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbLMB20RVP6h8Gc794wU1uzSbpuw.jpg/",
+ "name" : "Ben Forster"
+ },
+ {
+ "name" : "Akbar Kurtha",
+ "role" : "Doctor",
+ "order" : 12
+ },
+ {
+ "name" : "Christian Contreras",
+ "order" : 13,
+ "role" : "Antonius"
+ },
+ {
+ "role" : "Mrs Burnley",
+ "order" : 14,
+ "name" : "Tracy-Ann Oberman"
+ },
+ {
+ "role" : "Wild Eyed Ghost",
+ "order" : 15,
+ "name" : "Sidney Cole"
+ },
+ {
+ "name" : "San Shella",
+ "role" : "Young Ghost Remover",
+ "order" : 16
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvx4XTLfekw3RYQwFmAjnfSWAnvQ.jpg/",
+ "name" : "Rosemary Leach",
+ "order" : 17,
+ "role" : "The Queen"
+ },
+ {
+ "order" : 18,
+ "role" : "Dan Burnley",
+ "name" : "Ross McCormack"
+ },
+ {
+ "order" : 19,
+ "role" : "Carol Burnley",
+ "name" : "Niamh Webb"
+ },
+ {
+ "name" : "Daren Elliott Holmes",
+ "role" : "Complaining Father",
+ "order" : 20
+ },
+ {
+ "role" : "Mabel",
+ "order" : 21,
+ "name" : "Emma Fielding",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpV6gQsnYKP13GwHthNRykEsKVyk.jpg/"
+ }
+ ],
+ "studio" : [
+ "CTV International"
+ ],
+ "tagline" : ""
+ },
+ {
+ "imdbnumber" : "tt2837350",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {},
+ "tagline" : "",
+ "studio" : [
+ "Escola Superior de Teatro e Cinema"
+ ],
+ "cast" : [],
+ "label" : "Gypsie Eyes",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "year" : 2014,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "runtime" : 720,
+ "playcount" : 0,
+ "originaltitle" : "Rhoma acans",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Rhoma Acans (2012).mp4",
+ "title" : "Gypsie Eyes",
+ "movieid" : 234,
+ "rating" : 0,
+ "plot" : "Rhoma acans is a journey of self-discovery undertaken by the director in order to understand the true identity weight of her Gypsy heritage, from the history of his own family to the way it moves away or approaches the story of a young gypsy inside the tradition – Her name is Joaquina.",
+ "mpaa" : "",
+ "country" : [
+ "Portugal"
+ ],
+ "writer" : [
+ "Francisco Adão"
+ ],
+ "director" : [
+ "Leonor Teles"
+ ]
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt1533792",
+ "art" : {},
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "Half Past Ten",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Mark",
+ "name" : "Michael F. Stoerzer"
+ },
+ {
+ "name" : "Kerstin Linnartz",
+ "role" : "Eva",
+ "order" : 1
+ },
+ {
+ "name" : "Andre Schneider",
+ "role" : "Angel",
+ "order" : 2
+ },
+ {
+ "role" : "Maria Flynn",
+ "order" : 3,
+ "name" : "Sascia Haj"
+ },
+ {
+ "name" : "Frank Christian Marx",
+ "order" : 4,
+ "role" : "Mr. Flynn"
+ },
+ {
+ "role" : "Mr. Flynn's Lover",
+ "order" : 5,
+ "name" : "Charlotte Happe"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=458",
+ "votes" : "0",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2008,
+ "thumbnail" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "movieid" : 111,
+ "title" : "Half Past Ten",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Half Past (2013).mp4",
+ "lastplayed" : "",
+ "originaltitle" : "Half Past Ten",
+ "runtime" : 3600,
+ "playcount" : 0,
+ "director" : [
+ "Sascha Bachmann"
+ ],
+ "writer" : [
+ "Andre Schneider",
+ "Marguerite Duras"
+ ],
+ "country" : [
+ "Germany"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "No overview found.",
+ "rating" : 0
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxQFBJgiyyMN0CapPTEUHiqogPu6.jpg/",
+ "year" : 2008,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Animation",
+ "Drama"
+ ],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/'Music Box' (2007).mp4",
+ "movieid" : 1,
+ "title" : "Half-broken Music Box",
+ "runtime" : 1680,
+ "originaltitle" : "Half-broken Music Box",
+ "playcount" : 0,
+ "country" : [],
+ "writer" : [
+ "Shinichi Inozume"
+ ],
+ "director" : [
+ "Keiichirou Kawaguchi"
+ ],
+ "rating" : 0,
+ "plot" : "One rainy day, Keiichiro happens upon an abandoned deactivated android girl whom he is told will never function properly again. He takes her home to dispose of her later, but the next day she appears to have awoken.",
+ "mpaa" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt1904910",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxQFBJgiyyMN0CapPTEUHiqogPu6.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "Half-broken Music Box",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "genre" : [
+ "Comedy"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsfRfWnKKphRapoozq31uSa7pdUJ.jpg/",
+ "year" : 2010,
+ "votes" : "14",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "A blocked screenwriter, Ezio (Fabio De Luigi), is trying to finish a story about two off-kilter families thrown together when their teenage children announce they’re getting married. So Ezio writes himself into the story with a romantic part—a development his characters welcome, as they’ve got some ideas of their own for bigger and better roles.",
+ "rating" : 6.19999980926514,
+ "director" : [
+ "Gabriele Salvatores"
+ ],
+ "writer" : [
+ "Alessandro Genovesi"
+ ],
+ "country" : [
+ "Italy"
+ ],
+ "playcount" : 0,
+ "runtime" : 5400,
+ "originaltitle" : "Happy Family",
+ "movieid" : 113,
+ "title" : "Happy Family",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Happy Family (2010).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwJJ6Q6IOBAvg1nvJo8M0acI7p89.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsfRfWnKKphRapoozq31uSa7pdUJ.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1455810",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwJJ6Q6IOBAvg1nvJo8M0acI7p89.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "role" : "Vincenzo",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuODahcGkpEJJNPPZNw06ET5V9d5.jpg/",
+ "name" : "Fabrizio Bentivoglio"
+ },
+ {
+ "role" : "Caterina",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvAQ3Mv7PzAR8S9ZC5EYAr6SOb5u.jpg/",
+ "name" : "Valeria Bilello"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy7vCWJqweBNWU2kxmgHKjCZ9MD9.jpg/",
+ "name" : "Fabio De Luigi",
+ "order" : 3,
+ "role" : "Ezio"
+ },
+ {
+ "name" : "Corinna Agustoni",
+ "role" : "Nonna Anna",
+ "order" : 4
+ },
+ {
+ "name" : "Gianmaria Biancuzzi",
+ "order" : 5,
+ "role" : "Filippo"
+ },
+ {
+ "role" : "Marta",
+ "order" : 6,
+ "name" : "Alice Croci"
+ },
+ {
+ "name" : "Diego Abatantuono",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkKihAlP104AJ0zshWfET2gGt4fA.jpg/",
+ "role" : "Papà di Marta",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f337eD4Z7TAzQEPpGiVMRvDiaRBI.jpg/",
+ "name" : "Margherita Buy",
+ "order" : 9,
+ "role" : "Margherita"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feBzU0jMwz4eX6314ydGRhzTyem5.jpg/",
+ "name" : "Carla Signoris",
+ "order" : 10,
+ "role" : "Mamma di Marta"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Happy Family"
+ },
+ {
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9V1afthn3gnihhhMGuPg8IzaWqr.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Jessy Schram",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxIU2h01K7fL46RdjZ1mqY9Hvtxm.jpg/",
+ "order" : 0,
+ "role" : "Jen Stone"
+ },
+ {
+ "order" : 1,
+ "role" : "Brett Jarrett",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4ES1tgoPAcOecGkq10gHkkBcFBS.jpg/",
+ "name" : "Jesse Hutch"
+ },
+ {
+ "role" : "William Stone",
+ "order" : 2,
+ "name" : "Willie Aames",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8gVAqmyaGzEMPgrYTnH69DSLur0.jpg/"
+ },
+ {
+ "role" : "Abby",
+ "order" : 3,
+ "name" : "Lilah Fitzgerald",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftR5ZCcwhSlJLtFcx8ExbNYIR4LW.jpg/"
+ },
+ {
+ "role" : "Rosie",
+ "order" : 4,
+ "name" : "Barbara Pollard"
+ }
+ ],
+ "label" : "Harvest Moon",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "1",
+ "trailer" : "",
+ "genre" : [
+ "TV Movie",
+ "Romance"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9V1afthn3gnihhhMGuPg8IzaWqr.jpg/",
+ "year" : 2015,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "originaltitle" : "Harvest Moon",
+ "runtime" : 5040,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Harvest Moon (2015).mp4",
+ "title" : "Harvest Moon",
+ "movieid" : 114,
+ "rating" : 6,
+ "plot" : "When her family goes bankrupt, privileged city girl Jen Stone travels to the country to try and fix up a struggling pumpkin farm that her father bought as an investment to get her money back. Not everyone is on board with her changes, least of all Brett, the farm's handsome manager. By working with what she knows best, she discovers the magic of pumpkin skincare and turns the struggling farm around while also falling in love.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Peter DeLuise"
+ ]
+ },
+ {
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5lYNRmQzrZOSpFWmWVk8TiBDMFu.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Comedy",
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Kari Väänänen"
+ ],
+ "plot" : "",
+ "rating" : 0,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "title" : "Havukka-Ahon Ajattelija",
+ "movieid" : 117,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Havukka-ahon ajattelija (2009).mp4",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Havukka-Ahon Ajattelija",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5lYNRmQzrZOSpFWmWVk8TiBDMFu.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4uiyIQxaWVmc4NRRCtaPPv4PQWc.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4uiyIQxaWVmc4NRRCtaPPv4PQWc.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1404661",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Havukka-Ahon Ajattelija",
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Kai Lehtinen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhtCKZdnyXSwLcNyVAoNVxf2cZc8.jpg/",
+ "role" : "Konsta Pylkkönen",
+ "order" : 0
+ },
+ {
+ "role" : "maisteri Kronberg",
+ "order" : 1,
+ "name" : "Tommi Korpela",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3LU1fReo5oI6fmbLZqo4UNO6T6c.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6gHHzIqSGCQdoaWy85ZKDjxDpRz.jpg/",
+ "name" : "Hannu-Pekka Björkman",
+ "order" : 2,
+ "role" : "maisteri Ojasto"
+ }
+ ],
+ "studio" : []
+ },
+ {
+ "genre" : [
+ "Horror"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl7ZRnsQwJJ3UUD5wM7u0L43UH9V.jpg/",
+ "year" : 2007,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "1",
+ "trailer" : "",
+ "rating" : 1,
+ "plot" : "After being kidnapped, Kate Walker wakes to find herself trapped in a small chamber. She realizes she's not the only prisoner, as nineteen others share the same fate. Hunted by demonic creatures, the group must band together if they are to escape the hellish labyrinth and survive the onslaught. Starring: Leah Rose (Dust), Ryan Schaufler (Chasing Life), Adrienne Rusk (The Trouble with the Truth), Matt Ukena (Dark Nemesis) and Tom Lodewyck (Petty Cash).",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [
+ "Drew Maxwell"
+ ],
+ "director" : [
+ "Drew Maxwell"
+ ],
+ "runtime" : 4980,
+ "playcount" : 0,
+ "originaltitle" : "Carnivorous",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Carnivorous (2004).mp4",
+ "movieid" : 53,
+ "title" : "Hell's Labyrinth",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl7ZRnsQwJJ3UUD5wM7u0L43UH9V.jpg/"
+ },
+ "imdbnumber" : "tt0884237",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Kate Walker",
+ "name" : "Leah Rose"
+ },
+ {
+ "order" : 1,
+ "role" : "Ian",
+ "name" : "Ryan Schaufler"
+ },
+ {
+ "role" : "Rachel",
+ "order" : 2,
+ "name" : "Adrienne Rusk"
+ },
+ {
+ "name" : "Matt Ukena",
+ "order" : 3,
+ "role" : "Rick"
+ },
+ {
+ "name" : "Tom Lodewyck",
+ "role" : "Vincent",
+ "order" : 4
+ },
+ {
+ "role" : "Siren",
+ "order" : 5,
+ "name" : "Darla Brown"
+ },
+ {
+ "name" : "Tylan Canady",
+ "order" : 6,
+ "role" : "Brian"
+ },
+ {
+ "role" : "Beth",
+ "order" : 7,
+ "name" : "Katy Colloton"
+ },
+ {
+ "role" : "Megan",
+ "order" : 8,
+ "name" : "Edy Cullen"
+ },
+ {
+ "role" : "Max",
+ "order" : 9,
+ "name" : "Nick Driessen"
+ }
+ ],
+ "label" : "Hell's Labyrinth"
+ },
+ {
+ "sorttitle" : "",
+ "imdbnumber" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {},
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "label" : "Hey Diddle Diddle",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "",
+ "year" : 2009,
+ "top250" : 0,
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Hey Diddle Diddle",
+ "lastplayed" : "",
+ "movieid" : 118,
+ "title" : "Hey Diddle Diddle",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hey Diddle Diddle (1930).mp4",
+ "plot" : "A former high school Mr. Popular, who's currently battling a crippling case of Social Anxiety Disorder, is faced with communing with the people who once adored him at his upcoming 10-year high school reunion.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "writer" : [],
+ "country" : [],
+ "director" : []
+ },
+ {
+ "year" : 2012,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr33xceinFIYS4ivyhJA34xsPuz8.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Romance",
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "3",
+ "country" : [
+ "Belgium"
+ ],
+ "writer" : [],
+ "director" : [
+ "Ilse Somers"
+ ],
+ "rating" : 4.80000019073486,
+ "plot" : "",
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/High Tide (2012).mp4",
+ "movieid" : 120,
+ "title" : "High Heels, Low Tide",
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Weekend aan Zee",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr33xceinFIYS4ivyhJA34xsPuz8.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9NnUX84sYmrYis7oCxn2n93qbHr.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9NnUX84sYmrYis7oCxn2n93qbHr.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt2024555",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "High Heels, Low Tide",
+ "tagline" : "",
+ "studio" : [
+ "Vlaams Audiovisueel fonds"
+ ],
+ "cast" : [
+ {
+ "name" : "Eline Kuppens",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzLEZwhYlX7nS3vqS9fJBtgtFWMg.jpg/",
+ "order" : 0,
+ "role" : "An"
+ },
+ {
+ "role" : "Elke",
+ "order" : 1,
+ "name" : "Maaike Neuville",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqAQS4ZhrJT7pNkLcnLW9OVtSiIx.jpg/"
+ },
+ {
+ "role" : "Karen",
+ "order" : 2,
+ "name" : "Marieke Dilles",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f18hE4FKkteJ5EjfbbmVxL7AP9eM.jpg/"
+ },
+ {
+ "name" : "Ellen Schoeters",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feCSheVba9VyfAz3MVOs1FfQlh9r.jpg/",
+ "role" : "Dorien",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Walter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftSzIvBM6JVfPGpHDO9iVApirETd.jpg/",
+ "name" : "Michael Pas"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7gAXHTxbvYYoZuFioidZUOUauGW.jpg/",
+ "name" : "Stefaan Degand",
+ "order" : 5,
+ "role" : "Frederique"
+ },
+ {
+ "name" : "Matteo Simoni",
+ "role" : "Peter",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiDEy2SBNQCLyhTAofbrc4Jcld3L.jpg/",
+ "name" : "Kevin Janssens",
+ "role" : "Kevin",
+ "order" : 7
+ },
+ {
+ "name" : "Thomas Ryckewaert",
+ "role" : "Ian",
+ "order" : 8
+ },
+ {
+ "role" : "Mariëtte",
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5RuyBrirUnp2h2swMnzxj7O0Ky4.jpg/",
+ "name" : "Ingrid De Vos"
+ }
+ ]
+ },
+ {
+ "country" : [],
+ "writer" : [
+ "Elias Canetti"
+ ],
+ "director" : [
+ "Horst Flick"
+ ],
+ "rating" : 0,
+ "plot" : "Film based on a play written by Elias Canetti.",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hochzeit (1972).mp4",
+ "title" : "Hochzeit",
+ "movieid" : 122,
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Hochzeit",
+ "year" : 1972,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Hochzeit",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Susi Nicoletti",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqM35xIex9nKG3jJn2ds4sQM1q1M.jpg/",
+ "role" : "Johanna Segenreich",
+ "order" : 0
+ },
+ {
+ "name" : "Rudolf Strobl",
+ "order" : 1,
+ "role" : "Oberbaurat Segenreich"
+ },
+ {
+ "role" : "Monika Gall",
+ "order" : 2,
+ "name" : "Louise Martini"
+ },
+ {
+ "order" : 3,
+ "role" : "Direktor Schoen",
+ "name" : "Karl Walter Diess",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbWOq1FUnHj5AvtK2Ni184GYtJPU.jpg/"
+ },
+ {
+ "order" : 4,
+ "role" : "Sargfabrikant Rosig",
+ "name" : "Walter Richter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd2Zny3wVVAiET1Acw9vxQ3Q1S28.jpg/"
+ },
+ {
+ "order" : 5,
+ "role" : "Idealist Horch",
+ "name" : "Hans Brenner"
+ },
+ {
+ "role" : "Dr.Bock",
+ "order" : 6,
+ "name" : "Heinz Moog"
+ },
+ {
+ "role" : "Michel",
+ "order" : 7,
+ "name" : "Edwin Noël"
+ },
+ {
+ "name" : "Christa Berndl",
+ "order" : 8,
+ "role" : "Gretchen"
+ },
+ {
+ "name" : "Gerhard Riedmann",
+ "role" : "Max",
+ "order" : 9
+ }
+ ],
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt0068706",
+ "sorttitle" : ""
+ },
+ {
+ "thumbnail" : "",
+ "year" : 2009,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [],
+ "writer" : [],
+ "director" : [],
+ "rating" : 0,
+ "plot" : "Narrated by the legendary Shirley Jones, this installment of the Hollywood Singing and Dancing series shines a light on the musicals of the 1970s, a time when the very look of the genre was changing. Highlights include clips from squeaky-clean family fare such as Fiddler on the Roof, as well as more envelope-pushing options like Cabaret, Grease, The Rocky Horror Picture Show, Tommy, Jesus Christ Superstar and Hair.",
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hollywood Singing & Dancing: A Musical History - 1970's (2009).mp4",
+ "movieid" : 123,
+ "title" : "Hollywood Singing & Dancing: A Musical History - 1970's",
+ "runtime" : 0,
+ "originaltitle" : "Hollywood Singing & Dancing: A Musical History - 1970's",
+ "playcount" : 0,
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt148792",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Hollywood Singing & Dancing: A Musical History - 1970's",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : []
+ },
+ {
+ "top250" : 0,
+ "year" : 2012,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxSoDIZo8tUdOlHzL0TTXcNUwGzL.jpg/",
+ "set" : "Home Alone Collection",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy",
+ "Crime",
+ "Family"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=EvJy9gROP4U",
+ "votes" : "22",
+ "director" : [
+ "Peter Hewitt"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Aaron Ginsburg",
+ "Wade McIntyre"
+ ],
+ "mpaa" : "Rated PG",
+ "rating" : 5.40000009536743,
+ "plot" : "8-year-old Finn who is terrified to learn his family is relocating from sunny California to Maine in the scariest house he has ever seen! Convinced that his new house is haunted, Finn sets up a series of elaborate traps to catch the “ghost” in action. Left home alone with his sister while their parents are stranded across town, Finn’s traps catch a new target – a group of thieves who have targeted Finn’s house.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Home Alone 2 (2012).mp4",
+ "movieid" : 124,
+ "title" : "Home Alone: The Holiday Heist",
+ "lastplayed" : "",
+ "originaltitle" : "Home Alone: The Holiday Heist",
+ "runtime" : 5220,
+ "playcount" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxSoDIZo8tUdOlHzL0TTXcNUwGzL.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flZxZGLCFWYKeRXcExxIXALRbF0m.jpg/"
+ },
+ "tag" : [],
+ "setid" : 3,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flZxZGLCFWYKeRXcExxIXALRbF0m.jpg/",
+ "imdbnumber" : "tt2308733",
+ "sorttitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Home Alone: The Holiday Heist",
+ "studio" : [
+ "Original Pictures"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Alexis Baxter",
+ "name" : "Jodelle Ferland",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgmHUrHj9FFaoRrdyAzJH5AN8gQf.jpg/"
+ },
+ {
+ "role" : "Finn Baxter",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7PjjzbAMBd0Bn0tlUmimgXRxM0i.jpg/",
+ "name" : "Christian Martyn"
+ },
+ {
+ "order" : 2,
+ "role" : "Catherine Baxter",
+ "name" : "Ellie Harvie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flXY9BNsFKIf7gGMSrxjR1BH3Fko.jpg/"
+ },
+ {
+ "name" : "Peter DaCunha",
+ "order" : 3,
+ "role" : "Mason"
+ },
+ {
+ "order" : 4,
+ "role" : "Curtis Baxter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa8ctH6I6YCX9w4QuaidR8eQruAg.jpg/",
+ "name" : "Doug Murray"
+ },
+ {
+ "role" : "Sinclair",
+ "order" : 5,
+ "name" : "Malcolm McDowell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flnVJ6J8szi86ssDTfyvZSl8lnlr.jpg/"
+ },
+ {
+ "order" : 6,
+ "role" : "Mr. Hughes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feerNYpn8kZbG9Z4nHjo24JwxyDP.jpg/",
+ "name" : "Eddie Steeples"
+ },
+ {
+ "role" : "Jessica",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flASXuaRAzlZmv8YEI8YsSmJvzZi.jpg/",
+ "name" : "Debi Mazar"
+ },
+ {
+ "order" : 8,
+ "role" : "Mr. Carson",
+ "name" : "Ed Asner",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1EysZS86vozSb9pwD7HVGqInfDQ.jpg/"
+ }
+ ],
+ "tagline" : "Hit the jump for more"
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Home Security (2005).mp4",
+ "title" : "Homeland Security",
+ "movieid" : 125,
+ "runtime" : 5880,
+ "originaltitle" : "Homeland Security",
+ "playcount" : 0,
+ "country" : [],
+ "writer" : [
+ "Christopher Crowe"
+ ],
+ "director" : [
+ "Daniel Sackheim"
+ ],
+ "rating" : 0,
+ "plot" : "Admiral McKee (Tom Skerritt) is retired, when following the events of 9/11 he receives a call from the White House informing him that his commander in chief requires him to serve his country once again. Shortly after this he is sworn into office as a senior member of the Office of Homeland Security under Tom Ridge. Once in office Admiral McKee faces the challenge of organising this new office so as to prevent further terrorist attacks against the United States. With this in mind Admiral McKee's wife, Elise Mckee, recommends he speaks to his friend, NSA Agent Sol Binder.",
+ "mpaa" : "Rated",
+ "trailer" : "",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flYG3t96kK5LMsKQ9BrL5YLjnDia.jpg/",
+ "year" : 2004,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Drama",
+ "War"
+ ],
+ "label" : "Homeland Security",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Joe Johnson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faKUJwCKhl4qCi7j7M7TRpqWLmmO.jpg/",
+ "name" : "Scott Glenn"
+ },
+ {
+ "role" : "Admiral McKee",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffVuxSZ8VoPxRJDm3VohtDDz5x8l.jpg/",
+ "name" : "Tom Skerritt"
+ },
+ {
+ "order" : 2,
+ "role" : "Senator",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbJnqfONR5wdtIciYQ0tBnRX4PnD.jpg/",
+ "name" : "Andrew Robinson"
+ },
+ {
+ "name" : "Grant Show",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdY3r3fU1mcu20vX3TIcY88zi0o1.jpg/",
+ "role" : "Bradley Brand",
+ "order" : 3
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwCt6OUY8pxotlzcp84kLHBa1Zlu.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt0363685",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flYG3t96kK5LMsKQ9BrL5YLjnDia.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwCt6OUY8pxotlzcp84kLHBa1Zlu.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "votes" : "2",
+ "trailer" : "",
+ "genre" : [
+ "History",
+ "Drama"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo1zfIEgmXQWPIXXYHNJGwy1ZLcd.jpg/",
+ "year" : 2012,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "originaltitle" : "Орда",
+ "runtime" : 0,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Horde (2013).mp4",
+ "movieid" : 302,
+ "title" : "The Horde",
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 5,
+ "plot" : "It is the word \"horde\" that had meant, for many countries and nations, bloody raids and being under humilating contribution for centuries - a strange and scary world with its own rules and customs. To be or not to be for Rus (Ruthenia), that is the price of the one-man mission as he is departing to this world to accomplish a feat. The film tells the story of how Saint Alexius, the Metropolitan of Moscow and Wonderworker of All Russia, healed the Tatar Queen Taidula, Jani-Beg's mother, from blindness, in 1357",
+ "director" : [
+ "Andrei Proshkin"
+ ],
+ "country" : [
+ "Russia"
+ ],
+ "writer" : [
+ "Yuri Arabov"
+ ],
+ "imdbnumber" : "tt2331066",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk0slNsANHKwXftkMR09uuzzklI5.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk0slNsANHKwXftkMR09uuzzklI5.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo1zfIEgmXQWPIXXYHNJGwy1ZLcd.jpg/"
+ },
+ "studio" : [
+ "Pravoslavnaya Encyclopaedia"
+ ],
+ "cast" : [
+ {
+ "name" : "Maksim Sukhanov",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzHKXj5GZGHluQ010de3kvGZJVSS.jpg/",
+ "role" : "Saint Alexius",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fftwJX7Xf5ATpPuDcD0mhPDjstkz.jpg/",
+ "name" : "Andrei Panin",
+ "order" : 1,
+ "role" : "Jani-Beg"
+ },
+ {
+ "role" : "",
+ "order" : 2,
+ "name" : "Vitaliy Khaev",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpMJI2kp7sx5XRR71j6ROhm184AU.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fh0hFe0kldOnN0Nbc7KdKKENveSe.jpg/",
+ "name" : "Aleksandr Yatsenko",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "name" : "Pyotr Yandane",
+ "order" : 4,
+ "role" : ""
+ }
+ ],
+ "tagline" : "",
+ "label" : "The Horde",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "movieid" : 127,
+ "title" : "Hotline",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hotline (2010).mp4",
+ "lastplayed" : "",
+ "originaltitle" : "Hotline",
+ "runtime" : 6000,
+ "playcount" : 0,
+ "director" : [
+ "Silvina Landesman"
+ ],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "",
+ "plot" : "Hotline gets to the heart of a small NGO based in Tel Aviv: The Hotline for Refugees and Migrants. In exactly inverse proportion to the small-scale of this human rights organization, the issues they deal with are enormous, as are the numbers of those seeking help.",
+ "rating" : 0,
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2015,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkt30uj8KghMWKCl1MFeKpOYcAuH.jpg/",
+ "genre" : [],
+ "label" : "Hotline",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt4507630",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkt30uj8KghMWKCl1MFeKpOYcAuH.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : []
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/La casa de Bernarda Alba (1987).mp4",
+ "movieid" : 156,
+ "title" : "The House of Bernarda Alba",
+ "originaltitle" : "La casa de Bernarda Alba",
+ "runtime" : 5940,
+ "playcount" : 0,
+ "country" : [
+ "Spain"
+ ],
+ "writer" : [],
+ "director" : [
+ "Mario Camus"
+ ],
+ "rating" : 0,
+ "plot" : "After the death of her husband Bernarda Alba puts her daughters under a rigurous mourning which does not even allow them to leave the house.",
+ "mpaa" : "Rated",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=IOrEDRTcB7w",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8cakhIDnk07ywdWzYCs5o8nVzOv.jpg/",
+ "year" : 1987,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Drama",
+ "Foreign"
+ ],
+ "label" : "The House of Bernarda Alba",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Bernarda Alba",
+ "order" : 0,
+ "name" : "Irene Gutiérrez Caba"
+ },
+ {
+ "role" : "Adela",
+ "order" : 1,
+ "name" : "Ana Belén",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiDi5ZskzSXdptMUgGmNzQ57xStf.jpg/"
+ },
+ {
+ "role" : "Poncia",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiqZVT3Xj0xTxPFDd01astd3H0bx.jpg/",
+ "name" : "Florinda Chico"
+ },
+ {
+ "order" : 3,
+ "role" : "Angustias",
+ "name" : "Enriqueta Carballeira"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Vicky Peña"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft8uuyVUvWbiPLdsnaNJQFS7C3J0.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0092729",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft8uuyVUvWbiPLdsnaNJQFS7C3J0.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8cakhIDnk07ywdWzYCs5o8nVzOv.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "trailer" : "",
+ "votes" : "13",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fihSCaaIcujVavdkb41ZIjd5F0tV.jpg/",
+ "year" : 1999,
+ "genre" : [
+ "Drama",
+ "Romance"
+ ],
+ "title" : "Hum Dil De Chuke Sanam",
+ "movieid" : 129,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hum Dil De Chuke Sanam (1999).mp4",
+ "lastplayed" : "",
+ "runtime" : 11280,
+ "originaltitle" : "Hum Dil De Chuke Sanam",
+ "playcount" : 0,
+ "director" : [
+ "Sanjay Leela Bhansali"
+ ],
+ "writer" : [
+ "Sanjay Leela Bhansali"
+ ],
+ "country" : [
+ "India"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Indian-based traditional family of Pundit Darbar (Vikram Gokhale) gets a visit from Sameer Rafilini (Salman Khan), from Italy, who has come as a pupil to learn music and singing. Darbar and his family accept him. Sameer meets Nandini (Aishwarya Rai), Darbar's daughter, and both fall in love. But Darbar wants Nandini to wed Vanraj (Ajay Devgan), and has Sameer swear that he will leave India.",
+ "rating" : 6.40000009536743,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7gwTTNPPEIs7t65pa4Suc8n2Pxo.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0150992",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7gwTTNPPEIs7t65pa4Suc8n2Pxo.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fihSCaaIcujVavdkb41ZIjd5F0tV.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "Hum Dil De Chuke Sanam",
+ "cast" : [
+ {
+ "role" : "Nandini",
+ "order" : 0,
+ "name" : "Aishwarya Rai Bachchan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzdOctt5NYzZLpalOOOWKf5VkEZW.jpg/"
+ },
+ {
+ "name" : "Salman Khan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4fIPRX13G7DpJ2muDvHhjSxgaqO.jpg/",
+ "order" : 1,
+ "role" : "Sameer"
+ },
+ {
+ "name" : "Ajay Devgan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flf1Nu2SXX5YO5xDy9GLkmd7GUod.jpg/",
+ "order" : 2,
+ "role" : "Vanraj"
+ },
+ {
+ "name" : "Vikram Gokhale",
+ "order" : 3,
+ "role" : "Pundit Darbar"
+ },
+ {
+ "name" : "Smita Jaykar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiWUEXvktqDqiei99svmyrsuJoPq.jpg/",
+ "order" : 4,
+ "role" : "Amrita"
+ },
+ {
+ "role" : "Dadi",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuMj29GjQ34xKoqNyldMnygLWKWQ.jpg/",
+ "name" : "Zohra Sehgal"
+ },
+ {
+ "role" : "Vikramjeet",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft808bGCBMEkUoSRSrOdhLESjKRg.jpg/",
+ "name" : "Rajeev Verma"
+ },
+ {
+ "name" : "Kermati Desai",
+ "role" : "Bhairav",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "Tarun",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwv0apsAUY1knnQ146p6nqvTvTnE.jpg/",
+ "name" : "Vinay Pathak"
+ }
+ ],
+ "studio" : [
+ "Bhansali Films"
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=FdG9GUxncGU",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmG8jkgM5QMS50g7Fd841d1223SB.jpg/",
+ "year" : 2012,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Documentary",
+ "Music"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hum (2012).mp4",
+ "movieid" : 128,
+ "title" : "Human Skab",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 6300,
+ "originaltitle" : "Human Skab",
+ "director" : [
+ "Frank Gunderson",
+ "Bret Woods"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "'In ten years I'm gonna be cruising the coast. Drinking my pop. I'm gonna be kissing all the girls; I'm gonna be singing all the rock.' This swaggering prediction came from ten year old Travis Roberts, aka 'The Human Skab,' at the height of his early music career. Little could he know that in ten years he would actually be on the front lines of the War on Terror, and that it would be twenty-three years before he would be able to fulfill his dream. Part punk rockumentary, part band ethnography, part war veteran story, this film portrays the saga of Travis as he and several other characters embark on a reunion tour, reclaiming the musical phenomenon that was so popular in its original inception.",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt2244880",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmG8jkgM5QMS50g7Fd841d1223SB.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Human Skab",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Travis Roberts",
+ "order" : 2,
+ "role" : "Himself"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff8Yc2ynQnbsy5dSIHkYg4bAdD2U.jpg/",
+ "imdbnumber" : "tt0461872",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3RU6wWNmdHPtuZf5TfFi2mNmxmo.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ff8Yc2ynQnbsy5dSIHkYg4bAdD2U.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Human Trafficking",
+ "studio" : [
+ "Muse Entertainment Enterprises"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Kate Morozov",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1BGJgCtqPYYclT2xMtH7zjbQ9r7.jpg/",
+ "name" : "Mira Sorvino"
+ },
+ {
+ "name" : "Donald Sutherland",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftPLVaPjxEscGPKS3ieByloa8Mqj.jpg/",
+ "order" : 1,
+ "role" : "Agent Bill Meehan"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqOvOpvSDyS9XfUhOFdzZNnU6nni.jpg/",
+ "name" : "Robert Carlyle",
+ "order" : 2,
+ "role" : "Sergei Karpovich"
+ },
+ {
+ "order" : 3,
+ "role" : "Samantha Gray",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjvjXhnjuIfPEiPM7lNB7ATJH9Kn.jpg/",
+ "name" : "Emma Campbell"
+ },
+ {
+ "name" : "Larry Day",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkkYxACTQis5p1X5VPxLhsxFGprg.jpg/",
+ "order" : 4,
+ "role" : "Dr. Smith"
+ },
+ {
+ "order" : 5,
+ "role" : "Viktor Tagarov",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiOluYYBxiLzb5fS5F0Y8Xc5bQVo.jpg/",
+ "name" : "Rémy Girard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAdTKF1XZTEGfbIDFYhhnojMBLMz.jpg/",
+ "name" : "Anna Hopkins",
+ "order" : 6,
+ "role" : "Katerina"
+ },
+ {
+ "name" : "Lynne Adams",
+ "role" : "Ellen",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "Ludmilla",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcnE8uEtq7OUJ6CA5zhezKEh38tV.jpg/",
+ "name" : "Sarah Allen"
+ },
+ {
+ "role" : "Jimmy",
+ "order" : 9,
+ "name" : "Andreas Apergis",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgJkFCQB8qHw5woqxyOqoqfgFqlT.jpg/"
+ },
+ {
+ "role" : "Mexican Police Captain",
+ "order" : 10,
+ "name" : "Manuel Aranguiz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy5J1ypuMgmwoAwr9LHhfALRKWQ2.jpg/",
+ "name" : "Isabelle Blais",
+ "order" : 11,
+ "role" : "Helena"
+ },
+ {
+ "name" : "Céline Bonnier",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnuKxB3RFx9MyDQ6kVYoLdssQSl4.jpg/",
+ "role" : "Sophie",
+ "order" : 12
+ },
+ {
+ "name" : "Edouardo Castillon",
+ "role" : "Roy Filipo",
+ "order" : 13
+ },
+ {
+ "order" : 14,
+ "role" : "Richard Sapperstein",
+ "name" : "Joe Cobden",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkTf7OtOY1qBPmEbc4Kky9uMN58K.jpg/"
+ },
+ {
+ "name" : "Alan Fawcett",
+ "role" : "DHS Agent Leary",
+ "order" : 15
+ },
+ {
+ "name" : "Von Flores",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiuAwdsaVmltuZKOrsDR9n9najuc.jpg/",
+ "order" : 16,
+ "role" : "Rico"
+ },
+ {
+ "name" : "Dawn Ford",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1aKWK9ksGeSUEwWCg3FnvNFEYBq.jpg/",
+ "role" : "Helena's Aunt",
+ "order" : 17
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=1-YlugUoDVE&feature=related",
+ "votes" : "8",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3RU6wWNmdHPtuZf5TfFi2mNmxmo.jpg/",
+ "year" : 2005,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Traffic 2 (2016).mp4",
+ "movieid" : 334,
+ "title" : "Human Trafficking",
+ "lastplayed" : "",
+ "originaltitle" : "Human Trafficking",
+ "runtime" : 10560,
+ "playcount" : 0,
+ "director" : [
+ "Christian Duguay"
+ ],
+ "country" : [
+ "Canada"
+ ],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 7.09999990463257,
+ "plot" : "When a sixteen-year-old girl from the Ukraine, a single mother from Russia, an orphaned seventeen-year-old girl from Romania, and a twelve-year-old American tourist become the victims of international sex slave traffickers, a specialized team of Immigration and Customs Enforcement (ICE) struggles to expose the worldwide network that has enslaved them."
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvFMuvIJ9w4RDFOahHC0dbeTyoe1.jpg/",
+ "year" : 2004,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/You (2004).mp4",
+ "movieid" : 363,
+ "title" : "I Hate You",
+ "originaltitle" : "I Hate You",
+ "runtime" : 5100,
+ "playcount" : 0,
+ "country" : [],
+ "writer" : [
+ "Nick Oddo",
+ "Marvin W. Schwartz"
+ ],
+ "director" : [
+ "Nick Oddo"
+ ],
+ "rating" : 0,
+ "plot" : "A comic moonlights as a serial killer.",
+ "mpaa" : "Rated",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0428655",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvFMuvIJ9w4RDFOahHC0dbeTyoe1.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "I Hate You",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Norman",
+ "name" : "Marvin W. Schwartz"
+ },
+ {
+ "role" : "Comic",
+ "order" : 1,
+ "name" : "Bill Santiago"
+ },
+ {
+ "role" : "Friend on Sofa",
+ "order" : 2,
+ "name" : "Chuck Corbett"
+ },
+ {
+ "order" : 3,
+ "role" : "Paul",
+ "name" : "Paul Rusanowsky"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "imdbnumber" : "tt3070042",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {},
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "I Was a Soldier",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Documentary"
+ ],
+ "top250" : 0,
+ "year" : 1970,
+ "thumbnail" : "",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "originaltitle" : "I Was a Soldier",
+ "runtime" : 2940,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/I Was a Soldier (1970).mp4",
+ "title" : "I Was a Soldier",
+ "movieid" : 132,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Three young Texans try to adjust to small-town life after experiencing the emotional toll of combat in the jungles of Vietnam.",
+ "director" : [
+ "Michael Grigsby"
+ ],
+ "country" : [],
+ "writer" : []
+ },
+ {
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Romance"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feVeHrkvexaLKLqkFyQiAfufkqky.jpg/",
+ "year" : 1976,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "playcount" : 0,
+ "runtime" : 6000,
+ "originaltitle" : "Il maestro di violino",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Maestro di violino (1976).mp4",
+ "movieid" : 185,
+ "title" : "Il maestro di violino",
+ "rating" : 0,
+ "plot" : "The violin teacher at the Perugia Conservatory in Italy is loved by his female pupils and the rich ladies in town. Later we learn that he was a great concert soloist and had to give up his career because of his drunkard wife.",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Giovanni Fago"
+ ],
+ "imdbnumber" : "tt0126407",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feVeHrkvexaLKLqkFyQiAfufkqky.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "daniela ich"
+ },
+ {
+ "name" : "Domenico Modugno",
+ "order" : 2,
+ "role" : "giovannni russo"
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Rena Niehaus"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "patrizia costa"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fq9r8FkyDgWye4fvH0TdxQ6lRiZr.jpg/",
+ "name" : "Juliette Mayniel",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "Rita Forzano",
+ "role" : "",
+ "order" : 6
+ }
+ ],
+ "label" : "Il maestro di violino",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "lastplayed" : "",
+ "title" : "Il mistero del tempio indiano",
+ "movieid" : 134,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Il mistero del tempio indiano (1963).mp4",
+ "originaltitle" : "Il mistero del tempio indiano",
+ "runtime" : 0,
+ "playcount" : 0,
+ "writer" : [
+ "Piero De Bernardi",
+ "Guy Elmes",
+ "Leonardo Benvenuti"
+ ],
+ "country" : [
+ "France"
+ ],
+ "director" : [
+ "Mario Camerini"
+ ],
+ "plot" : "",
+ "rating" : 0,
+ "mpaa" : "",
+ "trailer" : "",
+ "votes" : "1",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "Kali Yug Collection",
+ "year" : 1963,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffJ0KodgtYjU4CM4GTU6mkHEzBJ9.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Adventure",
+ "Drama"
+ ],
+ "label" : "Il mistero del tempio indiano",
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Lex Barker",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzDbNsktl4Wz3chDweYn17v4fUUG.jpg/",
+ "order" : 0,
+ "role" : "Maj. Ford"
+ },
+ {
+ "name" : "Senta Berger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9ecc0kgFKQ2jNN1TSm6ge97aIuL.jpg/",
+ "order" : 1,
+ "role" : "Catherine Talbot"
+ },
+ {
+ "order" : 2,
+ "role" : "Dr. Simon Palmer",
+ "name" : "Paul Guers"
+ },
+ {
+ "order" : 3,
+ "role" : "Amrita",
+ "name" : "Claudine Auger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flFw5lRx5oY5CKOJkzhQe9EPDy3C.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7GxWnANEW1l892zPR0GYJo5P1ap.jpg/",
+ "name" : "Sergio Fantoni",
+ "order" : 4,
+ "role" : "Ram Chand"
+ },
+ {
+ "role" : "Lt. Collins",
+ "order" : 5,
+ "name" : "Joachim Hansen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feojkjuSA86uuonPLkCUptJfAlsP.jpg/"
+ },
+ {
+ "name" : "I.S. Johar",
+ "role" : "Gopal",
+ "order" : 6
+ },
+ {
+ "name" : "Ian Hunter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f22KxHwMkLRD5IrOcNGDCEcFe9cB.jpg/",
+ "order" : 7,
+ "role" : "Robert Talbot"
+ }
+ ],
+ "studio" : [
+ "Criterion Productions"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0057216",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffJ0KodgtYjU4CM4GTU6mkHEzBJ9.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 4,
+ "tag" : []
+ },
+ {
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0029562",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fIEXadBWpPR8SCDBjo1R8A8EIsx.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "Il signor Max",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Vittorio De Sica",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1mQtwUOkKZ44RjKkP0o5bOfvqDV.jpg/",
+ "role" : "Gianni",
+ "order" : 0
+ },
+ {
+ "name" : "Assia Noris",
+ "order" : 1,
+ "role" : "Lauretta"
+ },
+ {
+ "role" : "Donna Paola",
+ "order" : 2,
+ "name" : "Rubi D'Alma"
+ },
+ {
+ "order" : 3,
+ "role" : "Pucci",
+ "name" : "Lilia Dale"
+ },
+ {
+ "role" : "Zia Lucia",
+ "order" : 4,
+ "name" : "Caterina Collo"
+ },
+ {
+ "order" : 5,
+ "role" : "Riccardo",
+ "name" : "Umberto Melnati"
+ },
+ {
+ "name" : "Mario Casaleggio",
+ "role" : "Zio Pietro",
+ "order" : 6
+ },
+ {
+ "role" : "Pepe",
+ "order" : 7,
+ "name" : "Virgilio Riento"
+ },
+ {
+ "role" : "Dolly",
+ "order" : 8,
+ "name" : "Vivi Gioi"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "trailer" : "",
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fIEXadBWpPR8SCDBjo1R8A8EIsx.jpg/",
+ "year" : 1937,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Il signor Max (1937).mp4",
+ "movieid" : 135,
+ "title" : "Il signor Max",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Il signor Max",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Mario Camerini"
+ ],
+ "rating" : 6,
+ "plot" : "Vittorio De Sica, heir to a large sum of money and owner of a newspaper vending stall, makes enough money out of his business to take a vacation at a fashionable resort. He is given a cruise ticket by an aristocrat who is an old school friend, and is mistaken for the aristocrat when he uses a camera that has his friends name on it. Assia Noris plays a maid who falls in love with him because of who he is and not who others think he is. Happy ending comes when De Sica marries Noris, who is more real than the pampered society belles he has been partying with.",
+ "mpaa" : ""
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "",
+ "year" : 1992,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Documentary"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Image by Images (1954).mp4",
+ "movieid" : 136,
+ "title" : "Images of the Mind: Cinematic Visions by Raymond Durgnat",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 2700,
+ "originaltitle" : "Images of the Mind: Cinematic Visions by Raymond Durgnat",
+ "director" : [
+ "Jarmo Valkola"
+ ],
+ "country" : [
+ "Finland"
+ ],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "An introduction to the great film critic Raymond Durgnat's appreciation of the nature of cinema.",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt2845990",
+ "sorttitle" : "",
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Images of the Mind: Cinematic Visions by Raymond Durgnat",
+ "studio" : [
+ "R-Film"
+ ],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Himself",
+ "name" : "Raymond Durgnat"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Le voyage imaginaire (1926).mp4",
+ "title" : "The Imaginary Voyage",
+ "movieid" : 170,
+ "lastplayed" : "",
+ "runtime" : 4800,
+ "originaltitle" : "Le Voyage imaginaire",
+ "playcount" : 0,
+ "director" : [
+ "René Clair"
+ ],
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "René Clair"
+ ],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "In a strange bank, a young clerk, in love with a typist, gets asleep after a minor incident. His dream sarries him into the retirement house of old fairies, that he will manage to help to grow younger. He then lands on the towers of Notre-Dame, and into the Musée GRévin, where a revolutionary court is in the process of judging the lovers, one of them soon being changed into a dog. But it was just a dream, and the journey ends up well...",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "year" : 1926,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnnPyMoWqO9wrx7QNl421KKP9AyJ.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Comedy",
+ "Drama",
+ "Fantasy"
+ ],
+ "label" : "The Imaginary Voyage",
+ "studio" : [
+ "Georges Loureau"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Lucie - une dactylo",
+ "name" : "Dolly Davis"
+ },
+ {
+ "role" : "Jean",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqEemBfLBKC7lYzl6iK4Vx8Q4Pfa.jpg/",
+ "name" : "Jean Börlin"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9EHEXFO6cskkajLjmCbGXnQpK6X.jpg/",
+ "name" : "Albert Préjean",
+ "order" : 2,
+ "role" : "Albert"
+ },
+ {
+ "name" : "Jim Gérald",
+ "role" : "Auguste",
+ "order" : 3
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0016493",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnnPyMoWqO9wrx7QNl421KKP9AyJ.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/6 Kilos (2015).mp4",
+ "movieid" : 3,
+ "title" : "In Gold We Trust",
+ "lastplayed" : "",
+ "runtime" : 6000,
+ "playcount" : 0,
+ "originaltitle" : "600 kilos d'or pur",
+ "director" : [
+ "Éric Besnard"
+ ],
+ "country" : [
+ "France"
+ ],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 5.19999980926514,
+ "plot" : "A group of adventurers make off with 600 kilograms of gold in Guyana, but when their helicopter crashes in the jungle, gold fever takes over.",
+ "trailer" : "",
+ "votes" : "9",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd2ywtKoryR4byh8PpveRX0Ni4pW.jpg/",
+ "year" : 2010,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Adventure"
+ ],
+ "label" : "In Gold We Trust",
+ "studio" : [
+ "Mandarin Films"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Virgil",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmJSv0RaNOVcZNs9lN4I3oSou93A.jpg/",
+ "name" : "Clovis Cornillac"
+ },
+ {
+ "order" : 1,
+ "role" : "Camille",
+ "name" : "Audrey Dana",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fulZLqUalGQo5DhI9HyFb0TdYuU.jpg/"
+ },
+ {
+ "name" : "Claudio Santamaria",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fryB6SX2ahx3kaOxKeXhmTMZUFk0.jpg/",
+ "order" : 2,
+ "role" : "Enzo"
+ },
+ {
+ "order" : 3,
+ "role" : "Rémi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7pNtK3WHvB4HVwaC5Nw58gNfEvr.jpg/",
+ "name" : "Bruno Solo"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwfxFCJ85tNTUvFRLsOayUQmHgSC.jpg/",
+ "name" : "Eriq Ebouaney",
+ "order" : 4,
+ "role" : "Melchior"
+ },
+ {
+ "name" : "Patrick Chesnais",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2zGDUFCwqgc1mg3PTZE1SOmvSE5.jpg/",
+ "order" : 5,
+ "role" : "Georges"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fco1LAMfRN3D5TKNr7ljs1EW79HD.jpg/",
+ "imdbnumber" : "tt1534084",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd2ywtKoryR4byh8PpveRX0Ni4pW.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fco1LAMfRN3D5TKNr7ljs1EW79HD.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/In the Morning (2005).mp4",
+ "title" : "In the Morning",
+ "movieid" : 137,
+ "lastplayed" : "",
+ "runtime" : 420,
+ "originaltitle" : "In the Morning",
+ "playcount" : 0,
+ "director" : [
+ "Danielle Lurie"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "From IMDb- When a young Turkish woman is brutally attacked, the responsibility of restoring her family's lost honor is left in the hands of her younger brother: a thirteen-year-old boy.",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy9wGsooto3HuYqFopoYOo5Y4bv4.jpg/",
+ "year" : 2005,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [],
+ "label" : "In the Morning",
+ "studio" : [
+ "Women Make Movies"
+ ],
+ "cast" : [],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0438104",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy9wGsooto3HuYqFopoYOo5Y4bv4.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1987,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnIVPHstWXom2eaUNy1BFhv2lAaK.jpg/",
+ "genre" : [
+ "Drama"
+ ],
+ "movieid" : 338,
+ "title" : "In the Name of the People",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/U ime naroda (1987).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 5520,
+ "originaltitle" : "U ime naroda",
+ "director" : [
+ "Živko Nikolić"
+ ],
+ "writer" : [
+ "Dragan Nikolić",
+ "Živko Nikolić"
+ ],
+ "country" : [
+ "Serbia"
+ ],
+ "mpaa" : "",
+ "plot" : "In an industrial town one business firm stands out with good management. Thanks to the agile director Todor, his successful policy of \"World breakthrough\" the whole town look forward to progress and incredibly quick prosperity in 1966. The director's driver Milutin is the center of absurdly dramatic relations in which base manipulation dominates. His lonely, consequent, and reasonable admiration for Todor, his honesty and goodwill bring him into situations to which he can't and won't adapt to, nor will he quit...",
+ "rating" : 0,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0174299",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnIVPHstWXom2eaUNy1BFhv2lAaK.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "In the Name of the People",
+ "cast" : [
+ {
+ "role" : "Milutin",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz9JfvVS6ZkLjqgO0nzzX3oxYDjT.jpg/",
+ "name" : "Miodrag Krivokapić"
+ },
+ {
+ "role" : "Maksim",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4IWOqcxTTtBnBje3WDtJxeiB55A.jpg/",
+ "name" : "Petar Božović"
+ },
+ {
+ "name" : "Savina Geršak",
+ "order" : 3,
+ "role" : "Marika"
+ },
+ {
+ "order" : 4,
+ "role" : "Mira",
+ "name" : "Vesna Pećanac"
+ },
+ {
+ "order" : 5,
+ "role" : "Todor",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feeBGTf9wabGxMoIXderNQS9LAiV.jpg/",
+ "name" : "Bogdan Diklić"
+ },
+ {
+ "name" : "Bogdan MIhailović",
+ "role" : "Predsjednik opštine",
+ "order" : 6
+ },
+ {
+ "name" : "Boro Stjepanović",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feurqHj6Ea8bmKMpAwg3PDuuDya3.jpg/",
+ "role" : "Gavrilo",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "Spasoje",
+ "name" : "Gojko Kovačević"
+ },
+ {
+ "name" : "Veljko Mandić",
+ "role" : "Milun",
+ "order" : 9
+ },
+ {
+ "role" : "Todorova sekretarica",
+ "order" : 10,
+ "name" : "Dobrila Ćirković"
+ },
+ {
+ "role" : "Đuro",
+ "order" : 11,
+ "name" : "Boro Begović"
+ },
+ {
+ "role" : "Krstinja",
+ "order" : 12,
+ "name" : "Gordana Josic"
+ },
+ {
+ "name" : "Drago Malović",
+ "role" : "Pop",
+ "order" : 13
+ },
+ {
+ "role" : "Konferansije",
+ "order" : 14,
+ "name" : "Branko Babović"
+ },
+ {
+ "name" : "Vukašin Ćetković",
+ "order" : 15,
+ "role" : ""
+ }
+ ],
+ "studio" : [
+ "Avala Film"
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/In the Shadows (2012).mp4",
+ "title" : "In the Shadows",
+ "movieid" : 138,
+ "runtime" : 5100,
+ "originaltitle" : "Im Schatten",
+ "playcount" : 0,
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [
+ "Thomas Arslan"
+ ],
+ "director" : [
+ "Thomas Arslan"
+ ],
+ "rating" : 0,
+ "plot" : "\"In the Shadows\" slithers through underworld Berlin in grand style. En route to a twisty finale, German writer-director Thomas Arslan keeps his audience glued to the increasingly desperate actions of Trojan, a thirtysomething career criminal whose latest job slowly catches up with him.",
+ "mpaa" : "",
+ "trailer" : "",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8YBF1x29h6ulrUfvWp2HbGxcFsR.jpg/",
+ "year" : 2010,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Drama",
+ "Thriller",
+ "Foreign"
+ ],
+ "label" : "In the Shadows",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Trojan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6sLI8mN9uwlNsJptudDPyeVrszN.jpg/",
+ "name" : "Mišel Matičević"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2febmPZimivfRFKYnKp2ygazkJO9r.jpg/",
+ "name" : "Rainer Bock",
+ "role" : "Nico",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f48ELPDv1dwGZIASj1TpBOhEPimo.jpg/",
+ "name" : "Uwe Bohm",
+ "order" : 2,
+ "role" : "Meyer"
+ },
+ {
+ "name" : "Karoline Eichhorn",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn9q9IKEJLmxm47mB6XJWjqkAbBb.jpg/",
+ "order" : 3,
+ "role" : "Dora Hillmann"
+ },
+ {
+ "name" : "Timo Jacobs",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f92brHJtxr5yGoqtYtTbDJigxQMe.jpg/",
+ "role" : "Ben",
+ "order" : 4
+ },
+ {
+ "name" : "Peter Kurth",
+ "role" : "Richard Bauer",
+ "order" : 5
+ },
+ {
+ "name" : "Jörg Malchow",
+ "role" : "Dragan",
+ "order" : 6
+ },
+ {
+ "role" : "Martin Krüger",
+ "order" : 7,
+ "name" : "David Scheller"
+ },
+ {
+ "name" : "André Szymanski",
+ "order" : 8,
+ "role" : "Chris"
+ },
+ {
+ "order" : 9,
+ "role" : "Planer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkcWgn5jTuI3BPVQlqRMGQ27N4yU.jpg/",
+ "name" : "Hanns Zischler"
+ },
+ {
+ "name" : "Albrecht Hirche",
+ "role" : "Wolf",
+ "order" : 10
+ },
+ {
+ "name" : "Lutz Heyden",
+ "role" : "Dragans 1. Helper",
+ "order" : 11
+ },
+ {
+ "role" : "Dragans 2. Helper",
+ "order" : 12,
+ "name" : "Stefan Tiede"
+ },
+ {
+ "order" : 13,
+ "role" : "Krügers Collegue",
+ "name" : "Claudio Stapane"
+ },
+ {
+ "name" : "Aaron Raabe",
+ "role" : "Kid Playing Soccer",
+ "order" : 14
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkWL8nAyeqZiy3MmDflbSZ5w5JDm.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt1598538",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8YBF1x29h6ulrUfvWp2HbGxcFsR.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkWL8nAyeqZiy3MmDflbSZ5w5JDm.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhScDNb653mFbIuITNB2KWZSKR0r.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9LyTaMHu1ZtYZ96RHTaD48cjrvi.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhScDNb653mFbIuITNB2KWZSKR0r.jpg/",
+ "imdbnumber" : "tt0314786",
+ "sorttitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The In-Laws",
+ "studio" : [
+ "Warner Bros. Pictures"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Steve Tobias",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnmlitv4g2jXO3sJrnA9g980j2uc.jpg/",
+ "name" : "Michael Douglas"
+ },
+ {
+ "name" : "Albert Brooks",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkahlMTdygrPJ28VYRhKPavYD9hs.jpg/",
+ "order" : 1,
+ "role" : "Jerry Peyser"
+ },
+ {
+ "name" : "Ryan Reynolds",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3J19JiWqs4M75FFVqOdwn0DBU5q.jpg/",
+ "order" : 2,
+ "role" : "Mark Tobias"
+ },
+ {
+ "order" : 3,
+ "role" : "Judy Tobias",
+ "name" : "Candice Bergen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwzRihM7eZyCyAuKpgyBewCzDRWJ.jpg/"
+ },
+ {
+ "name" : "Lindsay Sloane",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft6eTNADrVDCGhkSJpfNwwMexoHR.jpg/",
+ "order" : 4,
+ "role" : "Melissa Peyser"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdHATZlWtkvBWl8GkylGF2GuubRF.jpg/",
+ "name" : "Maria Ricossa",
+ "order" : 5,
+ "role" : "Katherine Peyser"
+ },
+ {
+ "role" : "Bodyguard",
+ "order" : 6,
+ "name" : "Michael Bodnar"
+ },
+ {
+ "name" : "Vladimir Radian",
+ "role" : "Cherkasov",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foQGr5vfYbkarmJQmhGmSpIhSapL.jpg/",
+ "name" : "Robin Tunney",
+ "order" : 8,
+ "role" : "Angela Harris"
+ },
+ {
+ "role" : "Nurse",
+ "order" : 10,
+ "name" : "Susan Aceron"
+ },
+ {
+ "name" : "Chang Tseng",
+ "order" : 11,
+ "role" : "Quan Le"
+ },
+ {
+ "name" : "Tamara Gorski",
+ "role" : "Yadira",
+ "order" : 12
+ },
+ {
+ "role" : "Patient",
+ "order" : 13,
+ "name" : "Boyd Banks",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmDsIaLKyGqyV1Nt0pV9joGkQNSP.jpg/"
+ }
+ ],
+ "tagline" : "He's not losing his daughter. He's gaining a madman.",
+ "top250" : 0,
+ "year" : 2003,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9LyTaMHu1ZtYZ96RHTaD48cjrvi.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Action",
+ "Comedy"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=_-tc4MmOkwU",
+ "votes" : "20",
+ "director" : [
+ "Andrew Fleming"
+ ],
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [
+ "Andrew Bergman",
+ "Nat Mauldin",
+ "Ed Solomon"
+ ],
+ "mpaa" : "Rated PG-13",
+ "rating" : 5.90000009536743,
+ "plot" : "Right before his daughter's wedding, a mild-mannered foot doctor discovers that his new in-laws are international smugglers.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The InLaws (2015).mp4",
+ "movieid" : 304,
+ "title" : "The In-Laws",
+ "lastplayed" : "",
+ "originaltitle" : "The In-Laws",
+ "runtime" : 5880,
+ "playcount" : 0
+ },
+ {
+ "votes" : "5",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=RtIHSPz2MrA",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5i7TRZcEPbOXVwLv76l0iAGGPYy.jpg/",
+ "year" : 1991,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "runtime" : 7620,
+ "originaltitle" : "The Indian Runner",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Indian Runner (1991).mp4",
+ "title" : "The Indian Runner",
+ "movieid" : 303,
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "rating" : 4.40000009536743,
+ "plot" : "An intensely sad film about two brothers who cannot overcome their opposite perceptions of life. One brother sees and feels bad in everyone and everything, subsequently he is violent, antisocial and unable to appreciate or enjoy the good things which his brother desperately tries to point out to him.",
+ "director" : [
+ "Sean Penn"
+ ],
+ "country" : [
+ "Japan"
+ ],
+ "writer" : [
+ "Sean Penn"
+ ],
+ "imdbnumber" : "tt0102116",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgxq1QdPnmfQiZmgOp9zKN8LZ8Nf.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5i7TRZcEPbOXVwLv76l0iAGGPYy.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgxq1QdPnmfQiZmgOp9zKN8LZ8Nf.jpg/"
+ },
+ "studio" : [
+ "Columbia Pictures Corporation"
+ ],
+ "cast" : [
+ {
+ "role" : "Joe Roberts",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5PuSGfBw3Hsdo5jkhZ59NDFCZUm.jpg/",
+ "name" : "David Morse"
+ },
+ {
+ "role" : "Frank Roberts",
+ "order" : 1,
+ "name" : "Viggo Mortensen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fykXcpIymA5dIKwSF3RxH7ulRSaU.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Maria",
+ "name" : "Valeria Golino",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkK13NzfxGQBJ8Th9SiPbu0FFJq7.jpg/"
+ },
+ {
+ "role" : "Dorothy",
+ "order" : 3,
+ "name" : "Patricia Arquette",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9Sz0M91CHHkJ5tlPteiXv34gpgK.jpg/"
+ },
+ {
+ "role" : "Mr. Roberts",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhxZR2w0LXX47VKtxibDyZDsTAkH.jpg/",
+ "name" : "Charles Bronson"
+ },
+ {
+ "role" : "Mrs. Roberts",
+ "order" : 5,
+ "name" : "Sandy Dennis",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6GsWw5fJeaYT2RqZtIF60mlVopV.jpg/"
+ },
+ {
+ "role" : "Caesar",
+ "order" : 6,
+ "name" : "Dennis Hopper",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f56nj2DfMVU3F9qUagZWMePLbrKF.jpg/"
+ },
+ {
+ "name" : "Jordan Rhodes",
+ "order" : 7,
+ "role" : "Randall"
+ },
+ {
+ "name" : "Eileen Ryan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fypA36mXS3CcyvtKCdBMhI3gn4Vs.jpg/",
+ "role" : "Mrs. Baker",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8am369y5SGiZv4l0gY9O5ENzgvE.jpg/",
+ "name" : "Benicio del Toro",
+ "order" : 9,
+ "role" : "Miguel"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwKAaHygc4o4Mr2HwBxPELm1ysqg.jpg/",
+ "name" : "Adam Nelson",
+ "order" : 10,
+ "role" : "Cellmate"
+ },
+ {
+ "order" : 11,
+ "role" : "Indian Runner",
+ "name" : "Kenny Stabler"
+ },
+ {
+ "order" : 12,
+ "role" : "Young Indian Runner",
+ "name" : "Don Shanks"
+ }
+ ],
+ "tagline" : "",
+ "label" : "The Indian Runner",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Paramount's first all-talking picture, Interference was dismally directed by Roy Pomeroy, whose lofty status as the studio's \"technical wizard\" did not necessarily qualify him to be a director. Evelyn Brent heads the cast as scheming Deborah Kane, who sets out to blackmail Faith Marley (Doris Kenyon), the above-reproach wife of Sir John Marlay.",
+ "director" : [
+ "Lothar Mendes",
+ "Roy Pomeroy"
+ ],
+ "country" : [],
+ "writer" : [],
+ "runtime" : 0,
+ "originaltitle" : "Interference",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Interference (2004).mp4",
+ "movieid" : 140,
+ "title" : "Interference",
+ "lastplayed" : "",
+ "genre" : [],
+ "top250" : 0,
+ "year" : 1928,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffWrUX6emDiXAmXr12aSKYRaun6Y.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "0",
+ "trailer" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Philip Voaze",
+ "order" : 0,
+ "name" : "William Powell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f83xe0mRdv2GKd3cO72mL2c6lBaC.jpg/"
+ },
+ {
+ "name" : "Evelyn Brent",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzahB5vpnWpozT7KXqqnA7sKvPhh.jpg/",
+ "role" : "Deborah Kane",
+ "order" : 1
+ },
+ {
+ "role" : "Sir John Marlay",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fymxFvH8sWcadt71eZVlCRqs7sS6.jpg/",
+ "name" : "Clive Brook"
+ },
+ {
+ "name" : "Doris Kenyon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo8yqeVNSGGbvOml2WNwIthoOffr.jpg/",
+ "role" : "Faith Marlay",
+ "order" : 3
+ },
+ {
+ "role" : "Charles Smith",
+ "order" : 4,
+ "name" : "Tom Ricketts"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftFrJTXFgwbyiablBsPralMR6ODm.jpg/",
+ "name" : "Brandon Hurst",
+ "order" : 5,
+ "role" : "Inspector Haynes"
+ },
+ {
+ "role" : "Childers",
+ "order" : 6,
+ "name" : "Louis Payne"
+ },
+ {
+ "order" : 7,
+ "role" : "Dr. Gray",
+ "name" : "Wilfred Noy"
+ },
+ {
+ "name" : "Donald Stuart",
+ "role" : "Freddie",
+ "order" : 8
+ },
+ {
+ "name" : "Raymond Lawrence",
+ "role" : "Reporter",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2floYiy4EW1S0p29cLrP9Fxg5ogrU.jpg/",
+ "name" : "Clyde Cook",
+ "order" : 10,
+ "role" : "Hearse Driver"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Interference",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffWrUX6emDiXAmXr12aSKYRaun6Y.jpg/"
+ },
+ "imdbnumber" : "tt0019035",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : ""
+ },
+ {
+ "mpaa" : "Rated",
+ "plot" : "Homage to Ingmar Bergman in this family drama involving a fashionable Long Island interior designer who tries to impose her overbearing, critical standards on her husband and her three grown daughters. The film is a realistic look at the relationships among one artistically-oriented family; one daughter is a successful writer; the second is looking for an artistic outlet; and the third is an actress. The mother has been deserted by her husband, their father. She thinks and hopes they may reconcile, but she soon learns that he has other thoughts that circle about a new acquaintance, a woman who has had two husbands and is still lively.",
+ "rating" : 6,
+ "director" : [
+ "Woody Allen"
+ ],
+ "writer" : [
+ "Woody Allen"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "originaltitle" : "Interiors",
+ "runtime" : 5580,
+ "playcount" : 0,
+ "title" : "Interiors",
+ "movieid" : 139,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Innenleben (2004).mp4",
+ "lastplayed" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs6Xigqv3H6yP1bAZObBAaAVrHGZ.jpg/",
+ "year" : 1978,
+ "votes" : "21",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=lhphrzgPpaE",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Diane Keaton",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffzgUMnbOkxC6E3EFcYHWHFaiKyp.jpg/",
+ "order" : 0,
+ "role" : "Renata"
+ },
+ {
+ "order" : 1,
+ "role" : "Flyn",
+ "name" : "Kristin Griffith",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdRQh5YUXcCVVCxTRKaIjWbKT2qo.jpg/"
+ },
+ {
+ "name" : "Mary Beth Hurt",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA1Whvk91g7uMZHjRX5rdxJsofeY.jpg/",
+ "order" : 2,
+ "role" : "Joey"
+ },
+ {
+ "role" : "Frederick",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flsIKxCURO9l4zEnVLwbVG2o1fLQ.jpg/",
+ "name" : "Richard Jordan"
+ },
+ {
+ "name" : "E.G. Marshall",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmgOGJP3tBmVWUbGeXJDZpA8GJLd.jpg/",
+ "order" : 4,
+ "role" : "Arthur"
+ },
+ {
+ "role" : "Eve",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzyGpaCsHZUJRUyFUJNlTQ6dBs6F.jpg/",
+ "name" : "Geraldine Page"
+ },
+ {
+ "name" : "Maureen Stapleton",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw0H1432eANSJBjk6SG6xOVWnfuW.jpg/",
+ "role" : "Pearl",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foAmu89fJ7jgc3tCuk4Xrf6R6POh.jpg/",
+ "name" : "Sam Waterston",
+ "role" : "Mike",
+ "order" : 7
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Interiors",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs6Xigqv3H6yP1bAZObBAaAVrHGZ.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3IKvrG7acKQ0MbsxsaCmnCwAV6z.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0077742",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3IKvrG7acKQ0MbsxsaCmnCwAV6z.jpg/"
+ },
+ {
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [
+ "Eric Singer"
+ ],
+ "director" : [
+ "Tom Tykwer"
+ ],
+ "rating" : 5.80000019073486,
+ "plot" : "An interpol agent and an attorney are determined to bring one of the world's most powerful banks to justice. Uncovering money laundering, arms trading, and conspiracy to destabilize world governments, their investigation takes them from Berlin, Milan, New York and Istanbul. Finding themselves in a chase across the globe, their relentless tenacity puts their own lives at risk.",
+ "mpaa" : "Rated R",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Diner (2010).mp4",
+ "title" : "The International",
+ "movieid" : 291,
+ "originaltitle" : "The International",
+ "runtime" : 7080,
+ "playcount" : 0,
+ "year" : 2009,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4Cq33D6KmbrWHfgnb9qTu6Cj8Cx.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Adventure",
+ "Action",
+ "Thriller",
+ "Crime",
+ "Mystery"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=5mDi49Qj1xk",
+ "votes" : "150",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "The International",
+ "tagline" : "Is your money making a killing?",
+ "studio" : [
+ "Studio Babelsberg"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjm2as6tLcvHCYQvmMYM4VK6JEnr.jpg/",
+ "name" : "Clive Owen",
+ "order" : 0,
+ "role" : "Louis Salinger"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8W02WOJI1pEGh2iqQsgITR5tV0P.jpg/",
+ "name" : "Naomi Watts",
+ "role" : "Eleanor Whitman",
+ "order" : 1
+ },
+ {
+ "role" : "Wilhelm Wexler",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f77rn5ZNosxPjBtYAIQg2U4ip2Sc.jpg/",
+ "name" : "Armin Mueller-Stahl"
+ },
+ {
+ "role" : "Jonas Skarssen",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feq8XlXcUsZNlv2Q7tjVQLVby74r.jpg/",
+ "name" : "Ulrich Thomsen"
+ },
+ {
+ "role" : "The Consultant",
+ "order" : 4,
+ "name" : "Brían F. O'Byrne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwdZgEIwJrQ2ZArFl5I3UjjWcdFF.jpg/"
+ },
+ {
+ "order" : 6,
+ "role" : "Martin White",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkfOLElkAujnYRcGnuEeJeSDUAM2.jpg/",
+ "name" : "Patrick Baladi"
+ },
+ {
+ "name" : "Jay Villiers",
+ "order" : 7,
+ "role" : "Francis Ehames"
+ },
+ {
+ "role" : "Viktor Haas",
+ "order" : 8,
+ "name" : "Michel Voletti",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faJjGibLEhGc5x27NnxOSSgIyc9l.jpg/"
+ },
+ {
+ "role" : "New York D.A.",
+ "order" : 9,
+ "name" : "James Rebhorn",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcRbeDNPpcWKP0nLkXo5Bi1tq61w.jpg/"
+ },
+ {
+ "name" : "Jack McGee",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjSl2RKRaJvtRoS3T5HSw4xeNdwy.jpg/",
+ "role" : "Detective Bernie Ward",
+ "order" : 10
+ },
+ {
+ "role" : "Sam Purvitz",
+ "order" : 12,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3v1Rx49zP4LTMu8pH7ElN8gj6QA.jpg/",
+ "name" : "Remy Auberjonois"
+ },
+ {
+ "name" : "Tibor Feldman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6NR8t0gDsgoQKtL8mYUYmuEjRq6.jpg/",
+ "order" : 13,
+ "role" : "Dr. Isaacson"
+ },
+ {
+ "name" : "Steven Randazzo",
+ "order" : 14,
+ "role" : "Al Moody"
+ },
+ {
+ "role" : "Detective Gloria Hubbard",
+ "order" : 15,
+ "name" : "Nilaja Sun"
+ },
+ {
+ "order" : 16,
+ "role" : "Eli Cassel",
+ "name" : "Ty Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj5UHgk0eKuGOhJ2xSnffy5Akmb6.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnuHaQh41i7S1JUUTcNZBLyF0k2m.jpg/",
+ "name" : "Ian Burfield",
+ "role" : "Thomas Schumer",
+ "order" : 17
+ },
+ {
+ "role" : "Doctor",
+ "order" : 18,
+ "name" : "Peter Jordan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1popfd2acZn7G69IPsGk0ythLvw.jpg/"
+ },
+ {
+ "role" : "Klaus Diemer",
+ "order" : 19,
+ "name" : "Axel Milberg",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fp4s6tXvvgAhUa7bgSdUeluvci1L.jpg/"
+ },
+ {
+ "name" : "Thomas Morris",
+ "order" : 20,
+ "role" : "Chief Inspector Reinhard Schmidt"
+ },
+ {
+ "order" : 21,
+ "role" : "Dietmar Berghoff",
+ "name" : "Oliver Trautwein"
+ },
+ {
+ "name" : "Luigi Di Fiore",
+ "order" : 22,
+ "role" : "Carabinieri Captain"
+ },
+ {
+ "role" : "Commissioner Villon",
+ "order" : 23,
+ "name" : "Laurent Spielvogel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftMaZJH2bkINTTxYsY4B4Gmt9rlE.jpg/"
+ },
+ {
+ "role" : "Milan Sniper",
+ "order" : 24,
+ "name" : "Giorgio Lupano"
+ },
+ {
+ "name" : "Loris Loddi",
+ "order" : 25,
+ "role" : "Calvini's Chief of Staff"
+ },
+ {
+ "name" : "Dino Conti",
+ "order" : 26,
+ "role" : "Café Barista"
+ },
+ {
+ "order" : 27,
+ "role" : "General Charles Motomba",
+ "name" : "Lucian Msamati"
+ },
+ {
+ "name" : "Benjamin Wandschneider",
+ "order" : 28,
+ "role" : "Cassian Skarssen"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2Hv0xDRrH6q9MbIF4lLBPS6aFrG.jpg/",
+ "name" : "Matt Patresi",
+ "order" : 29,
+ "role" : "Calvini Defense Security Chief"
+ },
+ {
+ "role" : "I.B.B.C. Secretary",
+ "order" : 30,
+ "name" : "Naomi Krauss",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f252mwLa7ZKQUNvqJpQ58SQEbAI0.jpg/"
+ },
+ {
+ "name" : "Luca Calvani",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4yPIZnUz4D7Wff6q8Qs2I4BnGHR.jpg/",
+ "order" : 31,
+ "role" : "Enzo Calvini"
+ },
+ {
+ "order" : 32,
+ "role" : "Elliot Whitman",
+ "name" : "Darren Pettie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw2BikhgfYUZfDIOWpCF358Dx1IV.jpg/"
+ }
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4Cq33D6KmbrWHfgnb9qTu6Cj8Cx.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbADjtiEq2kQ75UHkdnIe13CftsX.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbADjtiEq2kQ75UHkdnIe13CftsX.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0963178",
+ "sorttitle" : ""
+ },
+ {
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0911004",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjRInStX2mqwHovPjX1k6Hac5Gqf.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Invisible",
+ "tagline" : "The mind makes up for what the eyes cannot see.",
+ "cast" : [
+ {
+ "role" : "Joe",
+ "order" : 0,
+ "name" : "James Tupper"
+ },
+ {
+ "name" : "Joe Mellis",
+ "order" : 1,
+ "role" : "Bobby"
+ },
+ {
+ "order" : 2,
+ "role" : "Jane",
+ "name" : "Kit Pongetti"
+ },
+ {
+ "name" : "David Mogentale",
+ "order" : 3,
+ "role" : "Bep"
+ }
+ ],
+ "studio" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "trailer" : "",
+ "votes" : "0",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2006,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjRInStX2mqwHovPjX1k6Hac5Gqf.jpg/",
+ "top250" : 0,
+ "genre" : [],
+ "lastplayed" : "",
+ "title" : "Invisible",
+ "movieid" : 141,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Invisible (2006).mp4",
+ "runtime" : 4200,
+ "playcount" : 0,
+ "originaltitle" : "Invisible",
+ "writer" : [
+ "Adam Watstein",
+ "James Tupper"
+ ],
+ "country" : [],
+ "director" : [
+ "Adam Watstein"
+ ],
+ "plot" : "On the verge of divorce, thirty-something’s Joseph and Jane take one last trip to their lakeside cabin to settle their affairs. The closer they get to the lake, the more sweet memories of the past surface in their conversations. Arriving at the cabin, after only a brief moment of tranquility by the picturesque lake, the couple realize they are being watched by two strangers hiding in the woods. Soon after sunset, the deranged brothers Bep and Bobby attack and trap them inside the cabin. What follows is an edge of your seat thriller as the couple fight for their lives, while secrets, truths and lies about the past are gradually revealed. It may save their relationship, and it may destroy it, but first they must survive the night.",
+ "rating" : 0,
+ "mpaa" : "Rated"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Italia K2 (1955).mp4",
+ "movieid" : 142,
+ "title" : "Italia K2",
+ "lastplayed" : "",
+ "originaltitle" : "Italia K2",
+ "runtime" : 0,
+ "playcount" : 0,
+ "director" : [
+ "Marcello Baldi"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy0PZ1fMVg0kQGHqNqzii2fRIIs.jpg/",
+ "year" : 1955,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [],
+ "label" : "Italia K2",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0047124",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy0PZ1fMVg0kQGHqNqzii2fRIIs.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Billy West",
+ "role" : "",
+ "order" : 0
+ }
+ ],
+ "studio" : [],
+ "label" : "Italian Love",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1636502",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {},
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Italian Love",
+ "lastplayed" : "",
+ "title" : "Italian Love",
+ "movieid" : 143,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Italian Love (1920).mp4",
+ "plot" : "A Billy West slapstick comedy.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "",
+ "year" : 1920,
+ "top250" : 0
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa9u2iwnrV0ukN3I6pPMmCsel988.jpg/",
+ "year" : 2008,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Documentary"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hate: A Love Story (2005).mp4",
+ "movieid" : 115,
+ "title" : "Japan: A Story of Love and Hate",
+ "lastplayed" : "",
+ "runtime" : 4080,
+ "originaltitle" : "Japan: A Story of Love and Hate",
+ "playcount" : 0,
+ "director" : [
+ "Sean McAllister"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Naoki once had it all - the fast car, the executive home. Boss of his own business he lived the good-life when Japan's economy was at it's height. Then the bubble burst - and he met Yoshie.",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn2oZE8D6HDjWvk8yVM5uAejRBfw.jpg/",
+ "imdbnumber" : "tt1401179",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn2oZE8D6HDjWvk8yVM5uAejRBfw.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa9u2iwnrV0ukN3I6pPMmCsel988.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Japan: A Story of Love and Hate",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "Love on the brink of hate exposes the hidden Japan.",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "writer" : [
+ "Jan Read",
+ "Beverley Cross"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "director" : [
+ "Don Chaffey"
+ ],
+ "plot" : "Jason, a fearless sailor and explorer, returns to his home land of Thessaly after a long voyage to claim his rightful throne. He learns, however, that he must first find the magical Golden Fleece. To do so, he must embark on an epic quest fraught with fantastic monsters and terrible perils.",
+ "rating" : 6.30000019073486,
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "title" : "Jason and the Argonauts",
+ "movieid" : 279,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Argonauts (1911).mp4",
+ "originaltitle" : "Jason and the Argonauts",
+ "runtime" : 6240,
+ "playcount" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1963,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foTvf290Awne5aAEgmPBabN3XVLU.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Adventure",
+ "Family",
+ "Fantasy"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=Sg1v5HkpdEA",
+ "votes" : "40",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Jason and the Argonauts",
+ "tagline" : "Greatest Odyssey Of The Ages - for the first time on the screen",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f851aa8FQD4yslmMiNR9Y5JMwrZs.jpg/",
+ "name" : "Todd Armstrong",
+ "order" : 0,
+ "role" : "Jason"
+ },
+ {
+ "role" : "Medea",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flmayIWZfvKGN5SjlwVkJZGiKmff.jpg/",
+ "name" : "Nancy Kovack"
+ },
+ {
+ "name" : "Gary Raymond",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftFYWgsMvmQaAuP31UJJXxa37EnF.jpg/",
+ "order" : 2,
+ "role" : "Acastus"
+ },
+ {
+ "order" : 3,
+ "role" : "Argos",
+ "name" : "Laurence Naismith",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftjoCWRagvyS0Npcd1XwWDPDURMv.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fq5eQLCeSDWMJ4ghGJW4f7D6Os5k.jpg/",
+ "name" : "Niall MacGinnis",
+ "role" : "Zeus",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Hermes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwwSY7zwxVkkaFNvVs7WXm1WYEn3.jpg/",
+ "name" : "Michael Gwynn"
+ },
+ {
+ "role" : "Pelias",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3aUnwOD2fBGMBcaE9Hj4EqtxKWO.jpg/",
+ "name" : "Douglas Wilmer"
+ },
+ {
+ "role" : "King Aeetes",
+ "order" : 7,
+ "name" : "Jack Gwillim",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6NOuBVu9fSWObuONEfuCtWfViBJ.jpg/"
+ },
+ {
+ "name" : "Honor Blackman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5LCImkVdJtOtahLOEH85oqmpM8R.jpg/",
+ "role" : "Hera",
+ "order" : 8
+ },
+ {
+ "role" : "Hylas",
+ "order" : 9,
+ "name" : "John Cairney"
+ },
+ {
+ "order" : 10,
+ "role" : "Phineas",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbPVsEU75m475FcHh4lYfAeVEkmK.jpg/",
+ "name" : "Patrick Troughton"
+ },
+ {
+ "order" : 11,
+ "role" : "Phalerus",
+ "name" : "Andrew Faulds"
+ },
+ {
+ "role" : "Hercules",
+ "order" : 12,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyKtOuhr4hirxQcLwc47nk3JR0c.jpg/",
+ "name" : "Nigel Green"
+ }
+ ],
+ "studio" : [
+ "Columbia Pictures Corporation"
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foTvf290Awne5aAEgmPBabN3XVLU.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8stDsK4qpm4YDv9nVd3dD6j6QRI.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8stDsK4qpm4YDv9nVd3dD6j6QRI.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0057197"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Je t'aime moi non plus (1976).mp4",
+ "movieid" : 144,
+ "title" : "Je t'aime moi non plus",
+ "lastplayed" : "",
+ "runtime" : 5400,
+ "originaltitle" : "Je t'aime moi non plus",
+ "playcount" : 0,
+ "director" : [
+ "Serge Gainsbourg"
+ ],
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "Serge Gainsbourg"
+ ],
+ "mpaa" : "Rated",
+ "rating" : 8.10000038146973,
+ "plot" : "The petite waitress Johnny works and lives in a truck-stop, where she's lonely and longs for love. She develops a crush on the garbage truck driver Krassky, although her sleazy boss Boris warns her that he's gay. Maybe because of her boyish looks, Krassky likes her too. They begin an affair, which is complicated by the fact that he cannot achieve an erection so as to perform vaginal intercourse. The pain of anal intercourse is so great for Johnny, though, that her screams cause them to be thrown out of a series of motels. Both don't notice the growing jealousy of Krassky's boyfriend Padovan - until an escalation. It includes elements of symbolism recurrent in Gainsbourg's work: death and sex. Gérard Depardieu has a few short appearances, playing a homosexual bestialist.",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=1gK994lCJwk",
+ "votes" : "4",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftiFgbA2bUzPZjmsOSVa1R6p8xHJ.jpg/",
+ "year" : 1976,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "label" : "Je t'aime moi non plus",
+ "studio" : [
+ "Renn Productions"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Krassky",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpoP14NJZzSrIIIpCdBNpj4iNVZv.jpg/",
+ "name" : "Joe Dallesandro"
+ },
+ {
+ "role" : "Johnny",
+ "order" : 1,
+ "name" : "Jane Birkin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fe62bIWn1XolFTD5uZ47e3XH8xXK.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Padovan",
+ "name" : "Hugues Quester"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkWGuy8UI8y3uqqCVoFvBVBe8w0J.jpg/",
+ "name" : "Gérard Depardieu",
+ "role" : "Horseman",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Boris",
+ "name" : "Reinhard Kolldehoff",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fb3HV2ZxlnoOrluWPop1RTGDvvmd.jpg/"
+ },
+ {
+ "name" : "Michel Blanc",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6sLalr8OqR6WMlxzBR4C6OrsrnU.jpg/",
+ "role" : "un ouvrier",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "order" : 6,
+ "name" : "Raoul Delfosse"
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Liliane Rovère",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frJAyCp6bgQqmSHjYJka5gFwGXgE.jpg/"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flA36rE2MtEJoImFQTYEBJaE35gr.jpg/",
+ "imdbnumber" : "tt0073196",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flA36rE2MtEJoImFQTYEBJaE35gr.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftiFgbA2bUzPZjmsOSVa1R6p8xHJ.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "director" : [
+ "Don Siegel"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Frank D. Gilroy",
+ "David Newman"
+ ],
+ "mpaa" : "Rated R",
+ "rating" : 0,
+ "plot" : "Harold, a professional gambler, and his girlfriend Bonita, a lounge singer, follow Willie, a young blackjack dealer, around the western U.S. Harold has a jinx on Willie and can't lose with him. Bonita and Willie meet and fall for each other and plot to do away with Harold and collect on his life insurance.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Jin (1982).mp4",
+ "title" : "Jinxed!",
+ "movieid" : 145,
+ "lastplayed" : "",
+ "originaltitle" : "Jinxed!",
+ "runtime" : 6180,
+ "playcount" : 0,
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgiZhT2Tu0n9oAIirS169uBmBiOO.jpg/",
+ "year" : 1982,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Jinxed!",
+ "studio" : [
+ "United Artists"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuLMiatTraccalXoqM4eA9YfYIM6.jpg/",
+ "name" : "Bette Midler",
+ "role" : "Bonita Friml",
+ "order" : 0
+ },
+ {
+ "name" : "Ken Wahl",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyhA6B938O6et3nA4GPqxExptAal.jpg/",
+ "order" : 1,
+ "role" : "Willie Brodax"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frzGaoGikjMuLDruABKdLcQLtkZk.jpg/",
+ "name" : "Rip Torn",
+ "order" : 2,
+ "role" : "Harold Benson"
+ },
+ {
+ "name" : "Jack Elam",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fviH168AYhlsKm4jCT0zrWWAFr94.jpg/",
+ "role" : "Otto",
+ "order" : 3
+ }
+ ],
+ "tagline" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgiZhT2Tu0n9oAIirS169uBmBiOO.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0084173",
+ "sorttitle" : ""
+ },
+ {
+ "cast" : [
+ {
+ "name" : "Taylor Kitsch",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fscE7HxVtFhgeoF7BkaJbNeSeMCw.jpg/",
+ "role" : "John Carter",
+ "order" : 0
+ },
+ {
+ "role" : "Matai Shang",
+ "order" : 1,
+ "name" : "Mark Strong",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9GZYWbmqwhUfKHLly2idFVBvAnu.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Tars Tarkas",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA1uyY0KbYSR8fk7Wkdbs2VfsBw1.jpg/",
+ "name" : "Willem Dafoe"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjxJOlvGwg2X5NjAiaiO8Hf0W60W.jpg/",
+ "name" : "Ciarán Hinds",
+ "role" : "Tardos Mors",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Sola",
+ "name" : "Samantha Morton",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiGThEengA4ziHy9JyrlWzzHeO8k.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA3bV1eIKed7yrswZQW86oswrB9P.jpg/",
+ "name" : "Thomas Haden Church",
+ "role" : "Tal Hajus",
+ "order" : 5
+ },
+ {
+ "role" : "Sab Than",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f56zmVMiuUhqas13xn700hvXUA32.jpg/",
+ "name" : "Dominic West"
+ },
+ {
+ "role" : "Kantos Kan",
+ "order" : 7,
+ "name" : "James Purefoy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5HJn5a5xHsQYVvbVSDyytZB5Tci.jpg/"
+ },
+ {
+ "name" : "Bryan Cranston",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmi9WLn4puPjfBeKohYuKKwOXOuG.jpg/",
+ "role" : "Powell",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "Sarkoja",
+ "name" : "Polly Walker",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fswfioO83iyf5aB2svD0tgIWlCSr.jpg/"
+ },
+ {
+ "role" : "Edgar Rice Burroughs",
+ "order" : 10,
+ "name" : "Daryl Sabara",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbnCvGSU6v6lt0NDaO68Yb5T59wE.jpg/"
+ },
+ {
+ "name" : "Arkie Reece",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1g4cbjJtQOguoYIzEOp0gK8fQ1s.jpg/",
+ "order" : 11,
+ "role" : "Stayman #1 / Helm"
+ },
+ {
+ "order" : 12,
+ "role" : "Stayman #3",
+ "name" : "Davood Ghadami",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fp46W5hwCi2ucFsx0HiZVSthBQdI.jpg/"
+ },
+ {
+ "name" : "Pippa Nixon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiQEsVOcfRDbJfRqbemRSUEEeaB7.jpg/",
+ "role" : "Lightmaster",
+ "order" : 13
+ },
+ {
+ "role" : "Dejah Thoris",
+ "order" : 14,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4vjt3TWRbIpNfEeL5pjvDIob599.jpg/",
+ "name" : "Lynn Collins"
+ },
+ {
+ "name" : "Christopher Goodman",
+ "role" : "Stockade Guard",
+ "order" : 15
+ }
+ ],
+ "studio" : [
+ "Walt Disney Pictures"
+ ],
+ "tagline" : "Lost in Our World. Found in Another.",
+ "label" : "John Carter",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0401729",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqFrJlsJaKr0nIbyRQbb6bdTnkHZ.jpg/",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqFrJlsJaKr0nIbyRQbb6bdTnkHZ.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4QDBNt9PmxqUH4Ab2R5xKWqzXiQ.jpg/"
+ },
+ "originaltitle" : "John Carter",
+ "runtime" : 7920,
+ "playcount" : 0,
+ "movieid" : 146,
+ "title" : "John Carter",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/John Carter (2012).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated PG-13",
+ "plot" : "Civil War vet John Carter is transplanted to Mars, where he discovers a lush, wildly diverse planet whose main inhabitants are 12-foot tall green barbarians. Finding himself a prisoner of these creatures, he escapes, only to encounter Dejah Thoris, Princess of Helium, who is in desperate need of a savior.",
+ "rating" : 6,
+ "director" : [
+ "Andrew Stanton"
+ ],
+ "writer" : [
+ "Andrew Stanton",
+ "Mark Andrews",
+ "Michael Chabon"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "votes" : "1122",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=6Rf55GTEZ_E",
+ "genre" : [
+ "Action",
+ "Adventure",
+ "Fantasy",
+ "Science Fiction"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4QDBNt9PmxqUH4Ab2R5xKWqzXiQ.jpg/",
+ "year" : 2012
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Julius Caesar",
+ "studio" : [
+ "Royal Shakespeare Company"
+ ],
+ "cast" : [
+ {
+ "role" : "Brutus",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8UipvAExpG59oYeQ8LZ5xJD4VSq.jpg/",
+ "name" : "Paterson Joseph"
+ },
+ {
+ "order" : 1,
+ "role" : "Julius Caesar",
+ "name" : "Jeffery Kissoon"
+ },
+ {
+ "name" : "Ivanno Jeremiah",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxggzoGuFmW3m6RpJUnV43PoeYSH.jpg/",
+ "role" : "Octavius",
+ "order" : 2
+ },
+ {
+ "role" : "Cassius",
+ "order" : 3,
+ "name" : "Cyril Nri"
+ },
+ {
+ "role" : "Mark Anthony",
+ "order" : 4,
+ "name" : "Ray Fearon"
+ },
+ {
+ "role" : "Portia",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foJ4JLVfcA7kEQGA5ZBAqbgNH6uw.jpg/",
+ "name" : "Adjoa Andoh"
+ }
+ ],
+ "tagline" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwexGBMQMmisXiNOs0yQSWBZW5dC.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flETbDnMAfp92pXmuXGhe19dZurr.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwexGBMQMmisXiNOs0yQSWBZW5dC.jpg/",
+ "imdbnumber" : "tt2363237",
+ "sorttitle" : "",
+ "director" : [
+ "Gregory Doran"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Film version of the Royal Shakespeare Company's 2012 production of Shakespeare's fast-moving thriller. A vivid story about a struggle for democracy, Julius Caesar is also a love story between two men united by an explosive act of political violence. The setting is a modern African state in which the tyrant Caesar is about to seize power. Cassius persuades Brutus to join the conspirators plotting an assassination. Featuring a distinguished cast of black actors, the film is shot on location and in the RSC's theatre at Stratford-upon-Avon",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Julius Caesar (2011).mp4",
+ "movieid" : 147,
+ "title" : "Julius Caesar",
+ "lastplayed" : "",
+ "runtime" : 9000,
+ "originaltitle" : "Julius Caesar",
+ "playcount" : 0,
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flETbDnMAfp92pXmuXGhe19dZurr.jpg/",
+ "year" : 2012,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=bB7a1S-2YyI",
+ "votes" : "0"
+ },
+ {
+ "genre" : [],
+ "year" : 2013,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "Troy Alexander returns to her roots, armed with a plan, to pass the bar and start her own practice. Although, her love of the law takes a back seat to her young son,Jordan, it provides an escape from realities. Troy is convinced she doesn’t need love. She’s content and love is a distraction, until her friends, Tarin and Camryn stumble upon Malik Bond, a middle school math teacher. Her friends plan a meeting and all doesn’t go according to plan. Troy realizes that what Malik lacks in his wallet, he makes up for it in other areas. Sparks fly and life seems perfect... Then circumstances bring her well-thought plans to a halt. Her life flashes before her eyes, just as love lands at her door. Astounding revelations affecting the family in different ways, when the unthinkable happens.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [],
+ "director" : [],
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Jump In",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Jump (2013).mp4",
+ "title" : "Jump In",
+ "movieid" : 148,
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {},
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [],
+ "label" : "Jump In"
+ },
+ {
+ "year" : 1936,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjrNi4jA2IHseqI9snLEv1u4j6mV.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Adventure"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=x9g-3KEsWEY",
+ "votes" : "0",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Wilhelm Thiele"
+ ],
+ "rating" : 0,
+ "plot" : "Christopher Powell is in Malaysia with his fiancée and her father, capturing wild animals. While out hunting, he is attacked by a tiger, and his native guides run away, leaving him for dead. But the tiger is the pet of Ulah, a beautiful young woman who grew up by herself in the jungle. She rescues Chris and takes him back to her cave, where she nurses him to health and falls in love with him. When he eventually returns to camp, she follows. The fiancée is jealous, and the natives don't like Ulah or her pet tiger either, all of which leads to a lot of trouble.",
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Jungle Princess (1936).mp4",
+ "title" : "The Jungle Princess",
+ "movieid" : 305,
+ "runtime" : 5100,
+ "originaltitle" : "The Jungle Princess",
+ "playcount" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjrNi4jA2IHseqI9snLEv1u4j6mV.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0027830",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "The Jungle Princess",
+ "tagline" : "Her exotic beauty held all the allure of the tropic jungle!",
+ "studio" : [],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7H76LKezXlQala1wGW0iVU8qHDF.jpg/",
+ "name" : "Dorothy Lamour",
+ "role" : "Ulah",
+ "order" : 0
+ },
+ {
+ "name" : "Ray Milland",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhql4xy8eWInQau8G4K6vyFgX5h5.jpg/",
+ "role" : "Christopher Powell",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f24khOVoHMGhYwSHnd3QpPcv6HSP.jpg/",
+ "name" : "Akim Tamiroff",
+ "role" : "Karen Neg",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Frank",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmvlGP3nUhqGL53RJJCMBRDpajlQ.jpg/",
+ "name" : "Lynne Overman"
+ },
+ {
+ "name" : "Molly Lamont",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flgzsS5NIcL6iEF0VeqocVLh5oSj.jpg/",
+ "role" : "Ava",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Melan",
+ "name" : "Mala",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa8PdAoBeBCPVcvcWj4LuvCtASZk.jpg/"
+ },
+ {
+ "role" : "Col. Neville Lane",
+ "order" : 6,
+ "name" : "Hugh Buckler"
+ },
+ {
+ "name" : "Sally Martin",
+ "role" : "Ulah as a child",
+ "order" : 7
+ },
+ {
+ "name" : "Roberta Law",
+ "order" : 8,
+ "role" : "Lin"
+ },
+ {
+ "name" : "Terry Richards",
+ "order" : 9,
+ "role" : "Malay Hunter"
+ }
+ ]
+ },
+ {
+ "tagline" : "",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fz64d13PXggAV5Q2oUqcP9q18qtg.jpg/",
+ "name" : "Tim Burton",
+ "role" : "Himself",
+ "order" : 1
+ },
+ {
+ "role" : "Himself",
+ "order" : 2,
+ "name" : "Tony Dalton",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm1QrVXE5d7zhZj9eXDvemDfc9YV.jpg/"
+ },
+ {
+ "name" : "Kamil Fila",
+ "order" : 3,
+ "role" : "Himself"
+ },
+ {
+ "role" : "Himself",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcFno5isSPvfPEkSdVoEzOs0pJCh.jpg/",
+ "name" : "Terry Gilliam"
+ },
+ {
+ "name" : "Petr Herrmann",
+ "role" : "Himself",
+ "order" : 5
+ },
+ {
+ "role" : "Himself",
+ "order" : 6,
+ "name" : "Zdeněk Husták"
+ },
+ {
+ "name" : "Karel Hutecka",
+ "role" : "Himself",
+ "order" : 7
+ },
+ {
+ "name" : "Zdenek Krupa",
+ "role" : "Himself",
+ "order" : 8
+ },
+ {
+ "name" : "Josef Lukáš",
+ "role" : "Himself",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "Himself",
+ "name" : "Boris Masník",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7aPcbDjRtJr7MX0Hh5h44h7S0ge.jpg/"
+ },
+ {
+ "name" : "Kosei Ono",
+ "role" : "Himself",
+ "order" : 11
+ },
+ {
+ "role" : "Himself",
+ "order" : 12,
+ "name" : "Michal Pospíšil"
+ },
+ {
+ "role" : "Himself",
+ "order" : 13,
+ "name" : "Valentina Thielová"
+ },
+ {
+ "role" : "Himself",
+ "order" : 14,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5hITLih0eIaeDOeIYOnU8N7ETDQ.jpg/",
+ "name" : "Emília Vášáryová"
+ },
+ {
+ "order" : 15,
+ "role" : "Himself",
+ "name" : "Magda Vásáryová"
+ },
+ {
+ "role" : "Himself",
+ "order" : 16,
+ "name" : "Paul Wells"
+ },
+ {
+ "role" : "Himself",
+ "order" : 17,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fMXzWQuQrg9pFwK5UUwXlbrLZyR.jpg/",
+ "name" : "Karel Zeman"
+ },
+ {
+ "order" : 18,
+ "role" : "Himself",
+ "name" : "Ludmila Zeman"
+ }
+ ],
+ "studio" : [
+ "Czech Television"
+ ],
+ "label" : "Karel Zeman: Adventurer in Film",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt3982912",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1P2EMckDZqnCEL3HUivJmMOgn6w.jpg/"
+ },
+ "originaltitle" : "Filmovy dobrodruh Karel Zeman",
+ "runtime" : 6120,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "movieid" : 149,
+ "title" : "Karel Zeman: Adventurer in Film",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Karel Zeman: Adventurer in Film (2015).mp4",
+ "plot" : "A biographical film looking back at the life, work and significance of the genius of world cinema. It reveals the inspiration sources of his work and looks into the kitchen of the film tricks pioneer. As an absolute solitaire in his field, he created his own world based purely on his imagination. He was a complete autodidact and is therefore not easily classifiable into any film wave or direction. This extremely hardworking, resourceful man and a perfectionist, yet always preserving the ability to see the world from a child's perspective is without any doubt one of the most successful and celebrated Czech filmmakers in the world. Thanks to their inner poetry and sincerity, his films do not age.",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [
+ "Ondrej Beranek",
+ "Tomás Hodan"
+ ],
+ "country" : [
+ "Czech Republic"
+ ],
+ "director" : [
+ "Tomás Hodan"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Documentary"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1P2EMckDZqnCEL3HUivJmMOgn6w.jpg/",
+ "year" : 2015,
+ "top250" : 0
+ },
+ {
+ "mpaa" : "Rated",
+ "plot" : "\"Kilroy Was Here\" was a popular expression during World War II, but it's not much fun to John J. Kilroy, who has to try to live with all the jokes and wisecracks regarding his name.",
+ "rating" : 0,
+ "director" : [
+ "Phil Karlson"
+ ],
+ "writer" : [],
+ "country" : [],
+ "runtime" : 4200,
+ "originaltitle" : "Kilroy Was Here",
+ "playcount" : 0,
+ "title" : "Kilroy Was Here",
+ "movieid" : 150,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Kilroy (1999).mp4",
+ "lastplayed" : "",
+ "genre" : [],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faSG9PtBhagkZ0NUmgwrh4VUXoGT.jpg/",
+ "year" : 1947,
+ "votes" : "0",
+ "trailer" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Kilroy Was Here",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faSG9PtBhagkZ0NUmgwrh4VUXoGT.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0039532",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : ""
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Kingpin",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Roy Munson",
+ "name" : "Woody Harrelson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1ecdooAHICUhCZKKEKlFtccEmTU.jpg/"
+ },
+ {
+ "name" : "Randy Quaid",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7rywy6gbSTG60xQWepRktD0feek.jpg/",
+ "role" : "Ishmael Boorg",
+ "order" : 1
+ },
+ {
+ "role" : "Claudia",
+ "order" : 2,
+ "name" : "Vanessa Angel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkQ9UOwCmc6jsXRcCZVH8XVmCdqi.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flBXifSLzs1DuspaWkACjSfjlwbd.jpg/",
+ "name" : "Bill Murray",
+ "role" : "Ernie McCracken",
+ "order" : 3
+ },
+ {
+ "name" : "Chris Elliott",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feJwNqqR1957kTpRPbFsCRQdYIpZ.jpg/",
+ "order" : 4,
+ "role" : "The Gambler"
+ },
+ {
+ "order" : 5,
+ "role" : "Mr. Boorg",
+ "name" : "William Jordan"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpwgw79SpPJmn3406s72supF0EdS.jpg/",
+ "name" : "Richard Tyson",
+ "order" : 6,
+ "role" : "Owner Of Stiffy's"
+ },
+ {
+ "name" : "Lin Shaye",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ferD3UM1YDkRS46D3XkhTSNXtRyg.jpg/",
+ "role" : "Landlady",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa3Bz7jshLx2E2T2HnadtIryYJif.jpg/",
+ "name" : "Zen Gesner",
+ "order" : 8,
+ "role" : "Thomas"
+ },
+ {
+ "role" : "Mrs. Boorg",
+ "order" : 9,
+ "name" : "Prudence Wright Holmes"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9pUDa1VOgFOA72Fcv3fxUeTnZQj.jpg/",
+ "name" : "Rob Moran",
+ "role" : "Stanley Osmanski",
+ "order" : 10
+ },
+ {
+ "role" : "Calvert Munson",
+ "order" : 11,
+ "name" : "Daniel Greene"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foigxlX2GoRu50q0u6CNwNhfjvyB.jpg/",
+ "name" : "Will Rothhaar",
+ "role" : "Young Roy",
+ "order" : 12
+ },
+ {
+ "role" : "1979 Bowling Buddy",
+ "order" : 13,
+ "name" : "Mark Charpentier"
+ },
+ {
+ "role" : "1979 Bowling Buddy",
+ "order" : 14,
+ "name" : "Brad Faxon"
+ }
+ ],
+ "studio" : [
+ "Motion Picture Corporation of America"
+ ],
+ "tagline" : "You wouldn't want to meet these pinheads in an alley.",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feU5LzCEYNX03WEPuBk5ztFhHXAx.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frLW1reSSMCMlKF9A6IViIV1Zbt7.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frLW1reSSMCMlKF9A6IViIV1Zbt7.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0116778",
+ "director" : [
+ "Bobby Farrelly",
+ "Peter Farrelly"
+ ],
+ "writer" : [
+ "Barry Fanaro",
+ "Mort Nathan"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "mpaa" : "Rated PG-13",
+ "plot" : "After bowler Roy Munson swindles the wrong crowd and is left with a hook for a hand, he settles into impoverished obscurity. That is, until he uncovers the next big thing: an Amish kid named Ishmael. So, the corrupt and the hopelessly naïve hit the circuit intent on settling an old score with Big Ern.",
+ "rating" : 6.40000009536743,
+ "movieid" : 151,
+ "title" : "Kingpin",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Kingpin (1974).mp4",
+ "lastplayed" : "",
+ "runtime" : 6780,
+ "playcount" : 0,
+ "originaltitle" : "Kingpin",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feU5LzCEYNX03WEPuBk5ztFhHXAx.jpg/",
+ "year" : 1996,
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=6LEuhBT4TUg",
+ "votes" : "84"
+ },
+ {
+ "director" : [
+ "Jeff Probst"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Elizabeth Sarnoff"
+ ],
+ "mpaa" : "Rated",
+ "rating" : 8,
+ "plot" : "A teenager diagnosed with scoliosis navigates her way through her formative years.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Me (2015).mp4",
+ "title" : "Kiss Me",
+ "movieid" : 189,
+ "lastplayed" : "",
+ "runtime" : 0,
+ "originaltitle" : "Kiss Me",
+ "playcount" : 0,
+ "top250" : 0,
+ "year" : 2015,
+ "thumbnail" : "",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "1",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Kiss Me",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Missi Pyle",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frRVORUpcHPO9MqgK26H1JWwMZLn.jpg/",
+ "order" : 0,
+ "role" : "Pam"
+ },
+ {
+ "order" : 1,
+ "role" : "Zoe",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1QM8RIQtpR0xdDqhVmGV62oY0sZ.jpg/",
+ "name" : "Sarah Bolger"
+ },
+ {
+ "order" : 2,
+ "role" : "Shelby",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7Uhb0bJp7v3sqnSBkxXjya8UeXO.jpg/",
+ "name" : "Emily Osment"
+ },
+ {
+ "role" : "Vera",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fceSnU3b5mWMCXQpeA3tTh0x7k0N.jpg/",
+ "name" : "Jenna Fischer"
+ },
+ {
+ "order" : 4,
+ "role" : "Chance",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr66d7CFycEOwzFnRlAgv5HX8r1R.jpg/",
+ "name" : "John Corbett"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fziWP0Qv2GvVj48dwxccQed79zeq.jpg/",
+ "name" : "Rita Wilson",
+ "order" : 5,
+ "role" : "Edith"
+ },
+ {
+ "order" : 6,
+ "role" : "Erica",
+ "name" : "Jes Macallan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi6qMKDqCnoSn2hRNkMFICbFdZBk.jpg/"
+ },
+ {
+ "role" : "",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fujINzDjLNtELBSUkRHQgExzP4Fb.jpg/",
+ "name" : "Steven Weber"
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Currie Graham",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxpHnxXespnis21JyjUYs4uE7HEZ.jpg/"
+ },
+ {
+ "name" : "Geoffrey Blake",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8DTss5Bkio4k81k6SM1AXaNfKOA.jpg/",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Davenia McFadden",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuX5egRwfOly93uuJeSahVIxfLFV.jpg/"
+ },
+ {
+ "role" : "Colleen",
+ "order" : 11,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5Y0x6EKGQh1OAP6MzHEkwrp2s7T.jpg/",
+ "name" : "Emily Bicks"
+ }
+ ],
+ "tagline" : "",
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "",
+ "sorttitle" : ""
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Koshechka",
+ "cast" : [
+ {
+ "name" : "Mikhail Efremov",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkeI3MR2IRsRIg29hTa6PkVQBcHk.jpg/",
+ "role" : "Ballerina Varechka",
+ "order" : 0
+ },
+ {
+ "role" : "Writer Pavlik",
+ "order" : 1,
+ "name" : "Evgeniy Stychkin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6DVeomo9DXp5S7fOsIyk5k3jvYV.jpg/"
+ },
+ {
+ "name" : "Aleksandr Strizhenov",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy4pKxHCqqYmtg30CZk7KIWAdTVs.jpg/",
+ "order" : 2,
+ "role" : "Businessman Viktor"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffhr4lp1HGxlhEluHri9c1qwVCSm.jpg/",
+ "name" : "Viktor Sukhorukov",
+ "role" : "Boy Serezha",
+ "order" : 3
+ },
+ {
+ "role" : "The visitor on wedding",
+ "order" : 4,
+ "name" : "Pavel Derevyanko",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2svgC4WHgD5nEn3cCG2MUojxbJ1.jpg/"
+ },
+ {
+ "name" : "Svetlana Ivanova",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fotjsnmzf3u7dn8rpFOFi8X3279O.jpg/",
+ "order" : 5,
+ "role" : "Nastya"
+ },
+ {
+ "role" : "The visitor on wedding",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fywn3biCLzmy12W6EKz0W5GiSkQa.jpg/",
+ "name" : "Yuri Kolokolnikov"
+ },
+ {
+ "name" : "Grigori Konstantinopolsky",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f166ShOZbugowGAWbVc7tyGbGN02.jpg/",
+ "role" : "Pain",
+ "order" : 7
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fechz41mO9oBnW49Xai3NMrGwM1Y.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhnq8ybPwzbsAbqZd7K2GfQKebs2.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhnq8ybPwzbsAbqZd7K2GfQKebs2.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt1528770",
+ "director" : [
+ "Grigori Konstantinopolsky"
+ ],
+ "writer" : [],
+ "country" : [
+ "Russia"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Short stories that seem to be absolutely different, none of the main characters is connected with the other one, each following story is totally unlike the previous one. Only in the end of the film the viewer gets the clear explanation of the neighborhood of the described destinies and the connection between the characters.",
+ "rating" : 1,
+ "title" : "Koshechka",
+ "movieid" : 152,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Koshechka (2009).mp4",
+ "lastplayed" : "",
+ "runtime" : 5700,
+ "originaltitle" : "Кошечка",
+ "playcount" : 0,
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fechz41mO9oBnW49Xai3NMrGwM1Y.jpg/",
+ "year" : 2009,
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "",
+ "votes" : "1"
+ },
+ {
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fduYznUMsnNXBhBs1nq5YpARMKvw.jpg/",
+ "year" : 2003,
+ "genre" : [
+ "Comedy",
+ "Foreign"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [],
+ "writer" : [],
+ "country" : [
+ "Taiwan"
+ ],
+ "mpaa" : "",
+ "plot" : "Four fearless and intrepid girls get selected by a recording company to undergo martial arts training in China to prepare themselves as a pop group. However, they are forced to disband one year later after their recording company goes under. Will these girls have the courage to stand up against all odds to fight for what they really believe in?",
+ "rating" : 0,
+ "movieid" : 154,
+ "title" : "Kung Fu Girls",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Kung Fu Girls (2002).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 5520,
+ "originaltitle" : "中國功夫少女組",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fduYznUMsnNXBhBs1nq5YpARMKvw.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0398403",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Kung Fu Girls",
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "Anita Yuen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8kp8FxH33GWtF4WxdhHhAL58SIA.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1LWRlfzLWHNIKY8pswIyspirfbD.jpg/",
+ "name" : "Chen Kun",
+ "order" : 2,
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f209VtDBd5GBOJNEdyYXj1r8ePw2.jpg/",
+ "name" : "Ariel Lin",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "name" : "Ady An",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvtxS4rKc19RgqoYHMFRUQtklr2j.jpg/",
+ "role" : "",
+ "order" : 5
+ }
+ ],
+ "studio" : [],
+ "tagline" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "La contessa Castiglione",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 0,
+ "name" : "Doris Duranti"
+ },
+ {
+ "name" : "Andrea Checchi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3iErNlZjlyRgyMLnBOyoWBkumMP.jpg/",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Renato Cialente",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Enzo Biliotti"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Lamberto Picasso"
+ },
+ {
+ "role" : "",
+ "order" : 5,
+ "name" : "Annibale Betrone"
+ },
+ {
+ "role" : "",
+ "order" : 6,
+ "name" : "Clara Auteri Pepe"
+ },
+ {
+ "name" : "Giacomo Moschini",
+ "order" : 7,
+ "role" : ""
+ },
+ {
+ "name" : "Nico Pepe",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Gabriele Ferzetti",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvmalA5oHaMOFAKVccBBY21z7Eju.jpg/"
+ }
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frBtphwut5qtpdlRIoY34ar8o6tW.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0034612",
+ "sorttitle" : "",
+ "country" : [],
+ "writer" : [
+ "Mario Beltrami"
+ ],
+ "director" : [
+ "Flavio Calzavara"
+ ],
+ "rating" : 0,
+ "plot" : "",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/La contessa Castiglione (1942).mp4",
+ "movieid" : 158,
+ "title" : "La contessa Castiglione",
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "La contessa Castiglione",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frBtphwut5qtpdlRIoY34ar8o6tW.jpg/",
+ "year" : 1942,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0"
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0037871",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvntIkxdl8c9xowIED2DyOtAnfTq.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "The Last Chance",
+ "cast" : [
+ {
+ "name" : "Ewart G. Morrison",
+ "role" : "Major Telford",
+ "order" : 0
+ },
+ {
+ "role" : "Lt. John Halliday",
+ "order" : 1,
+ "name" : "John Hoy"
+ },
+ {
+ "name" : "Ray Reagan",
+ "role" : "Sgt. Jim Braddock",
+ "order" : 2
+ },
+ {
+ "role" : "Tonina",
+ "order" : 3,
+ "name" : "Luisa Rossi"
+ }
+ ],
+ "studio" : [
+ "Praesens-Film AG"
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=-5QREkbNsJ8",
+ "votes" : "2",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvntIkxdl8c9xowIED2DyOtAnfTq.jpg/",
+ "year" : 1945,
+ "genre" : [
+ "Drama",
+ "War"
+ ],
+ "movieid" : 157,
+ "title" : "The Last Chance",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/La chance (1931).mp4",
+ "lastplayed" : "",
+ "runtime" : 6240,
+ "playcount" : 0,
+ "originaltitle" : "Die letzte Chance",
+ "director" : [
+ "Leopold Lindtberg"
+ ],
+ "writer" : [
+ "Alberto Barberis",
+ "Elizabeth Montagu"
+ ],
+ "country" : [
+ "Switzerland"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Escaping a Nazi prison train in war-torn Italy, an American and a British soldier set out for the Swiss border and find themselves leading a multi-national party of refugees for the Italian underground.",
+ "rating" : 0
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "The Last Man on Planet Earth",
+ "tagline" : "In a world ruled and populated only by women, a young female scientist creates a male human being, genetically enhanced to refrain from violence.",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Hope Chayse",
+ "name" : "Julie Bowen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fad7u7IYpUZbhQPdzQ688fCSk0OX.jpg/"
+ },
+ {
+ "name" : "Paul Francis",
+ "order" : 1,
+ "role" : "Adam"
+ },
+ {
+ "role" : "Agent Kara Hastings",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiX6zGWXFWLdUnxaVebXGzXXwgft.jpg/",
+ "name" : "Tamlyn Tomita"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fp5W9yIDt269Tb4KMMKI8AeO4jJi.jpg/",
+ "name" : "L. Scott Caldwell",
+ "order" : 3,
+ "role" : "Ester"
+ },
+ {
+ "role" : "Dr. Beverly Stokes",
+ "order" : 5,
+ "name" : "Elizabeth Dennehy"
+ },
+ {
+ "order" : 6,
+ "role" : "Karen",
+ "name" : "Kimberleee Peterson"
+ },
+ {
+ "order" : 7,
+ "role" : "Agent Green",
+ "name" : "Nancy Hower"
+ },
+ {
+ "name" : "Tom Hallick",
+ "role" : "Bobby Gilroy",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "Mother May the Madam",
+ "name" : "Martha Hackett",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwIpkcSbOkQvZackeUtbowBbDYfQ.jpg/"
+ }
+ ],
+ "studio" : [
+ "Paramount Television"
+ ],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsUTfUI8tgCKgGgdKdYI2foiGxar.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk7PnwHny1eFD9xkMjUIWML1ddTh.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsUTfUI8tgCKgGgdKdYI2foiGxar.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0193283",
+ "writer" : [
+ "Kenneth Biller"
+ ],
+ "country" : [],
+ "director" : [
+ "Les Landau"
+ ],
+ "plot" : "During a war with Afghanistan, a weapon called the \"Y-bomb\" was used, which resulted in the deaths of 97% of the world's men. Feeling that they were better off without males, the women of Earth decided to outlaw men because they were too violent. 20 years later, scientist Hope Chase, fearing for the future of the species, conducts a cloning experiment to produce a new male of the species, whom she names Adam. When Adam reaches maturity, he soon finds himself on the run from the FBI, and hiding out with small rebel bands of the last remaining men.",
+ "rating" : 0,
+ "mpaa" : "Rated PG-13",
+ "lastplayed" : "",
+ "movieid" : 306,
+ "title" : "The Last Man on Planet Earth",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Last Man on Planet Earth (1999).mp4",
+ "runtime" : 5340,
+ "originaltitle" : "The Last Man on Planet Earth",
+ "playcount" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1999,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk7PnwHny1eFD9xkMjUIWML1ddTh.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Romance",
+ "Science Fiction",
+ "Action"
+ ],
+ "trailer" : "",
+ "votes" : "0"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frRCrEHLhJtziJDLJRA0wcwroa5l.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt1132449",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frRCrEHLhJtziJDLJRA0wcwroa5l.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA5m1r8yhPYLxhz4P3JmMbMvzChn.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "Lay the Favorite",
+ "tagline" : "How far can a losing shot take you?",
+ "studio" : [
+ "Likely Story"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Beth Raymer",
+ "name" : "Rebecca Hall",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpDY00JdSgDxXxMsBOJcShJjDVxl.jpg/"
+ },
+ {
+ "name" : "Bruce Willis",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkI1OluWhLJk3pnR19VjOfABpnTY.jpg/",
+ "role" : "Dink Heimowitz",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4IwgNNCKMKqFVJtITEWo17zofTH.jpg/",
+ "name" : "Catherine Zeta-Jones",
+ "order" : 2,
+ "role" : "Tulip Heimowitz"
+ },
+ {
+ "order" : 3,
+ "role" : "Jeremy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fe1btrP27otWpSRvgVV9PsOKCpJG.jpg/",
+ "name" : "Joshua Jackson"
+ },
+ {
+ "order" : 4,
+ "role" : "Rosie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8o202JdUQ9LEvQy13835Hx09Jhe.jpg/",
+ "name" : "Vince Vaughn"
+ },
+ {
+ "role" : "Holly",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7iRa28jqum5M1HuMs1yNVkTYpSY.jpg/",
+ "name" : "Laura Prepon"
+ },
+ {
+ "role" : "Dave Greenberg",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5eEGOANKnCCj7FLa3oV28gGYWkW.jpg/",
+ "name" : "John Carroll Lynch"
+ },
+ {
+ "role" : "Frankie",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvpAbhSIPEeX4S699YqPyfGJ2qxy.jpg/",
+ "name" : "Frank Grillo"
+ },
+ {
+ "order" : 8,
+ "role" : "Jerry",
+ "name" : "Corbin Bernsen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5E4ptQ88NCyeIYlS8NkMm9BzWQJ.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flfhwhgH2iTUvMjZhJNovgxLVtDH.jpg/",
+ "name" : "Ambyr Childers",
+ "role" : "Receptionist",
+ "order" : 9
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=g8WlBpqPVlc",
+ "votes" : "30",
+ "year" : 2012,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA5m1r8yhPYLxhz4P3JmMbMvzChn.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Drama",
+ "Comedy"
+ ],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Lay the Favorite (2012).mp4",
+ "movieid" : 164,
+ "title" : "Lay the Favorite",
+ "runtime" : 5640,
+ "originaltitle" : "Lay the Favorite",
+ "playcount" : 0,
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "D.V. DeVincentis"
+ ],
+ "director" : [
+ "Stephen Frears"
+ ],
+ "rating" : 5.19999980926514,
+ "plot" : "A former stripper's (Rebecca Hall) talent with numbers lands her a job with a professional gambler (Bruce Willis) who runs a sports book in Las Vegas.",
+ "mpaa" : "Rated R"
+ },
+ {
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Stéphanie d'Humily de Malanpry",
+ "name" : "Claire Gérard"
+ },
+ {
+ "role" : "Brigitte Chabal",
+ "order" : 1,
+ "name" : "Alil Vardar"
+ },
+ {
+ "role" : "Mary Bybowl",
+ "order" : 2,
+ "name" : "Eve Angeli"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Le clan des divorcées",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxYfLxtn0sWWP171zTkGR93hn0YQ.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxYfLxtn0sWWP171zTkGR93hn0YQ.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqVAK5ZtITiIUnDu8hBgoJYC9YYk.jpg/"
+ },
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Le clan des divorcées",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Le divorce (2008).mp4",
+ "title" : "Le clan des divorcées",
+ "movieid" : 166,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "",
+ "director" : [],
+ "country" : [],
+ "writer" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "year" : 2009,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqVAK5ZtITiIUnDu8hBgoJYC9YYk.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38"
+ },
+ {
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3Gsmqpi3Z6CppPcEqqzrG4ZGqpU.jpg/"
+ },
+ "imdbnumber" : "tt0258617",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Sabrina Ferilli",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhYWbUuersG0ws8ZMu8B2zKMeuNU.jpg/",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffvIefr87qIl1ImyMA7IO8i1QTRM.jpg/",
+ "name" : "Veronica Pivetti"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Alessandro Di Carlo"
+ },
+ {
+ "name" : "Paola Tiziana Cruciani",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Pasquale Anselmo",
+ "order" : 5,
+ "role" : ""
+ }
+ ],
+ "tagline" : "",
+ "label" : "Le giraffe",
+ "genre" : [],
+ "top250" : 0,
+ "year" : 2000,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3Gsmqpi3Z6CppPcEqqzrG4ZGqpU.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "",
+ "director" : [
+ "Claudio Bonivento"
+ ],
+ "country" : [],
+ "writer" : [
+ "Claudio Bonivento"
+ ],
+ "runtime" : 0,
+ "originaltitle" : "Le giraffe",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Le giraffe (2000).mp4",
+ "title" : "Le giraffe",
+ "movieid" : 167,
+ "lastplayed" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [
+ "Soprofilms"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcxqfBaHzXOOMVcxHYfAewhG2Cjc.jpg/",
+ "name" : "Philippe Noiret",
+ "role" : "Étienne Labrouche",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Léon Castelli",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwqcIbpsYdB7wTRLzNoTyH9aMuwA.jpg/",
+ "name" : "Roger Hanin"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuQBEzoj08NPA0HEEY6Dm4FTNpcb.jpg/",
+ "name" : "Richard Berry",
+ "role" : "Rémy Castelli",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Walter Giammanca",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fszAJjIZY23cRhPUKLb6X3IbGEc5.jpg/",
+ "name" : "Peter Riegert"
+ },
+ {
+ "name" : "Jean-Pierre Bacri",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsjXoA3DXsBi4MsymfNELa6idUk4.jpg/",
+ "role" : "Norbert Castelli",
+ "order" : 4
+ },
+ {
+ "name" : "Gérard Darrieu",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffPzSK7SdAcT4lodbzDpgUWuhuSa.jpg/",
+ "order" : 5,
+ "role" : "Gaby Atlan"
+ }
+ ],
+ "label" : "Le Grand Carnaval",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAkt1MeG9C31iBYdcIHbKwUNqyoh.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f25keFrKo0EtMs7NkKSAJPgorRmk.jpg/"
+ },
+ "imdbnumber" : "tt0085619",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f25keFrKo0EtMs7NkKSAJPgorRmk.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "rating" : 4.80000019073486,
+ "plot" : "",
+ "mpaa" : "",
+ "country" : [
+ "France"
+ ],
+ "writer" : [],
+ "director" : [
+ "Alexandre Arcady"
+ ],
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Le Grand Carnaval",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Le grand carnaval (1983).mp4",
+ "movieid" : 168,
+ "title" : "Le Grand Carnaval",
+ "genre" : [
+ "War",
+ "Drama"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAkt1MeG9C31iBYdcIHbKwUNqyoh.jpg/",
+ "year" : 1983,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "3",
+ "trailer" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Le grand jeu",
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Florence / Irma",
+ "name" : "Marie Bell"
+ },
+ {
+ "order" : 2,
+ "role" : "Pierre Martel / Pierre Muller",
+ "name" : "Pierre Richard-Willm"
+ },
+ {
+ "name" : "Charles Vanel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm3zN5n0ehtZcSJHu4E2miJt7dsp.jpg/",
+ "order" : 3,
+ "role" : "Clement"
+ },
+ {
+ "role" : "Nicolas Ivanoff",
+ "order" : 4,
+ "name" : "Georges Pitoeff"
+ },
+ {
+ "order" : 5,
+ "role" : "Le colonel",
+ "name" : "Camille Bert"
+ },
+ {
+ "order" : 6,
+ "role" : "Bernard Martel",
+ "name" : "André Dubosc"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4rkKv3jTLJsk80pJ0AwZSgF88B4.jpg/",
+ "name" : "Pierre Larquey",
+ "role" : "Gustin",
+ "order" : 7
+ },
+ {
+ "name" : "Lyne Clevers",
+ "role" : "La môme Dauville",
+ "order" : 8
+ },
+ {
+ "name" : "Harry Nestor",
+ "order" : 9,
+ "role" : "Aziani"
+ },
+ {
+ "order" : 10,
+ "role" : "Le capitaine",
+ "name" : "Pierre de Guingand"
+ },
+ {
+ "name" : "Louis Florencie",
+ "role" : "Fenoux",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "Le cantinier",
+ "name" : "Pierre Labry"
+ },
+ {
+ "role" : "LA voix d'Irma",
+ "order" : 13,
+ "name" : "Claude Marcy"
+ },
+ {
+ "order" : 14,
+ "role" : "Aïchouch",
+ "name" : "Olga Velbria"
+ },
+ {
+ "name" : "Françoise Rosay",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyrpf7xTGO1EdKRcyLRnP21MtjP2.jpg/",
+ "role" : "Blanche",
+ "order" : 15
+ }
+ ],
+ "studio" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw8cqUkGJpzJ09ORIh88u56Tezpn.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0025198",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Jacques Feyder"
+ ],
+ "plot" : "Pierre , a young lawyer, has enormous debts due to his mistress Florence and her whims of luxury life. Pierre has gone too far and put the family firm in jeopardy. They ask him to expatriate. To avoid scandal, Pierre joins the Foreign Legion. In Morocco, near the desert, Pierre goes with his comrades of the Legion to a bar-restaurant-brothel, owned by a shady character, Mr. Clement . Clement lives more or less with Ms.Blanche who is a fortune teller with cards, as a hobby. But Clement is also after his girls now and then. Pierre is still obsessed with Florence but he meets Irma , one of Clement's girls, who is the double of Florence except for hair color. Irma has had an accident and has lost part of her memory at a certain point of her recent past, and Pierre slowly persuades himself she is Florence, but cannot remember it. Advised by Ms.Blanche, Irma finally accepts to act as if she was Florence because she is falling in love with Pierre.",
+ "rating" : 7,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "movieid" : 169,
+ "title" : "Le grand jeu",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Le grand jeu (2010).mp4",
+ "originaltitle" : "Le grand jeu",
+ "runtime" : 6600,
+ "playcount" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw8cqUkGJpzJ09ORIh88u56Tezpn.jpg/",
+ "year" : 1934,
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "1"
+ },
+ {
+ "playcount" : 0,
+ "runtime" : 5880,
+ "originaltitle" : "Leftwings",
+ "lastplayed" : "",
+ "title" : "Leftwings",
+ "movieid" : 171,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Leftwings (2012).mp4",
+ "plot" : "Leftwings is a film muzikal rock. Tells the story of four young people setting up an indie band to make rock band WINGS as their idol. They want to fight for the ideals aspiring muzik track \"rock\" and Cuba also create a name in the mainstream industry. They also want to put dreams into coatings to their idol band, WINGS by naming them as LEFTWINGS bands, namely the band's \"left wing\" to WINGS.",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Faisal Ahmad"
+ ],
+ "votes" : "0",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=tHTp36IOYss",
+ "genre" : [
+ "Music"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4fy0ZOqtaCmNNGW18b7qaMa2EGv.jpg/",
+ "year" : 2012,
+ "top250" : 0,
+ "tagline" : "",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4wNb6cxMRL9GTpxp1umJSurHGRC.jpg/",
+ "name" : "Aweera",
+ "role" : "Ray",
+ "order" : 0
+ },
+ {
+ "role" : "Dino",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhnWJ3HI72dpGaYkJSuIWTlcBj7I.jpg/",
+ "name" : "Zouladeq"
+ },
+ {
+ "order" : 2,
+ "role" : "Rizal",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f76B8WtSEakFE7LPWtsugr93YOoR.jpg/",
+ "name" : "Wan Zaimie"
+ },
+ {
+ "role" : "Shah",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5rclTaFn8fcQsRCiWSsfgSE4VBh.jpg/",
+ "name" : "Paly"
+ },
+ {
+ "role" : "Yana",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4qexi5FtcPLmVivDkHFkGitXuK7.jpg/",
+ "name" : "Shiqin Kamal"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxoaM5y6qPwS2bFD4Ib2dzru327t.jpg/",
+ "name" : "Fifi Natasya",
+ "order" : 5,
+ "role" : "Rita"
+ },
+ {
+ "name" : "Nora Zida",
+ "order" : 6,
+ "role" : "Nadia"
+ },
+ {
+ "role" : "Purple",
+ "order" : 7,
+ "name" : "Helda Pily"
+ },
+ {
+ "role" : "Dol",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1beXVomW9zAZ3g0QXOlKwxEjTQn.jpg/",
+ "name" : "Sani Sudin"
+ }
+ ],
+ "studio" : [],
+ "label" : "Leftwings",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2517284",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsuxS8J7FxIq8kE82NtQrW8z0xv7.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4fy0ZOqtaCmNNGW18b7qaMa2EGv.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsuxS8J7FxIq8kE82NtQrW8z0xv7.jpg/"
+ }
+ },
+ {
+ "genre" : [],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpZcLBtVTypNzlq07Noz1MIiTmXJ.jpg/",
+ "year" : 1973,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [
+ "Sergio Gobbi",
+ "Lucio Maria Attinelli"
+ ],
+ "director" : [
+ "Sergio Gobbi"
+ ],
+ "runtime" : 0,
+ "originaltitle" : "Les voraces",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Les Voraces (2011).mp4",
+ "movieid" : 174,
+ "title" : "Les voraces",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpZcLBtVTypNzlq07Noz1MIiTmXJ.jpg/"
+ },
+ "imdbnumber" : "tt0138921",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Helmut Berger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1ZzAyXQhlnWiBkxMYrc4uV4yAsn.jpg/",
+ "role" : "Kosta",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Lara",
+ "name" : "Françoise Fabian",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl8fJpeV3naLD53CEqxWD1shXI2a.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Inspecteur Martino",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feiB2UnU4Ff7RNnDhOOzBzNbL6Y9.jpg/",
+ "name" : "Paul Meurisse"
+ },
+ {
+ "order" : 3,
+ "role" : "Olmi",
+ "name" : "Massimo Girotti",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkZvYuSeQ9VJlI7jqqm74ZSQ2UG4.jpg/"
+ },
+ {
+ "order" : 4,
+ "role" : "Fred",
+ "name" : "Christian Barbier"
+ },
+ {
+ "name" : "Florence Lafuma",
+ "order" : 5,
+ "role" : "Judirh"
+ }
+ ],
+ "label" : "Les voraces"
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foOr4H7p9I058iJyjvUNatSAwUMa.jpg/",
+ "year" : 2003,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Lewis Black Unleashed (2003).mp4",
+ "movieid" : 177,
+ "title" : "Lewis Black Unleashed",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 6960,
+ "originaltitle" : "Lewis Black Unleashed",
+ "director" : [
+ "Paul Miller"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Lewis Black"
+ ],
+ "mpaa" : "Rated NR",
+ "rating" : 0,
+ "plot" : "Comedy Central's jittery, apoplectic commentator on all things absurd in politics and culture is superb on this disc's collection of four half-hour cable specials and bonus features. Fans and newcomers get a chance to see how much the comic has grown since his delightful 1998 show, in which Black characteristically sputtered this bit of social-scientific criticism: \"It's absolutely stupid that we've lost the ozone layer. We've got men, rockets, Saran Wrap--fix it!\" Black attacks Bill Clinton for obscuring the meaning of infidelity (\"If curling is an Olympic sport, oral sex is adultery!\"), Y2K hype, flu shots, America's power elite, Ross Perot (\"He's the kid in Deliverance all growed-up!\"), and even delivers a \"Taxes 101\" college lecture (\"What would help IRS forms? Verbs!\"). Bonus features include Black's \"Indecision 2000\" inserts--caustic commentary about the last Republican and Democrat conventions--for Jon Stewart's show. Highly entertaining stuff.",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftyRCGMxC9Rt0lC1CvLBiEQQloye.jpg/",
+ "imdbnumber" : "tt1422691",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foOr4H7p9I058iJyjvUNatSAwUMa.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftyRCGMxC9Rt0lC1CvLBiEQQloye.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Lewis Black Unleashed",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Himself",
+ "order" : 0,
+ "name" : "Lewis Black",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frtlzszC0uPvHZtrXzwYNT9jYPsU.jpg/"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Life's Too Short, The Finale Special",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyjzKaFqAyBQKntE89qnFLOS4Waz.jpg/",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyjzKaFqAyBQKntE89qnFLOS4Waz.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3nvNxX52raO2DKeZ4gh1C1QOM7p.jpg/"
+ },
+ "runtime" : 3360,
+ "playcount" : 0,
+ "originaltitle" : "Life's Too Short, The Finale Special",
+ "movieid" : 178,
+ "title" : "Life's Too Short, The Finale Special",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Life's Too Short (2006).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "He may be short, but Warwick Davis is not about to short fans of 'Life's Too Short' as he returns for the special one-hour conclusion of the HBO comedy series. Created by Davis with Ricky Gervais and Stephen Merchant, the show followed Davis as he played a conceited, self-absorbed version of himself trying to be British entertainment's go-to little person. As the finale begins, he now claims he's a changed man, with an altruistic outlook and an exciting film opportunity that involves Val Kilmer.",
+ "rating" : 6,
+ "director" : [],
+ "writer" : [],
+ "country" : [],
+ "votes" : "2",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3nvNxX52raO2DKeZ4gh1C1QOM7p.jpg/"
+ },
+ {
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Lingerie Fighting Championships features the world's most controversial MMA league where beautiful mixed martial artists, dressed only in lingerie, train and do battle. Starring Lingerie Football star Michelle \"Scrapper\" Blanchard and ex-pro wrestler Arik Loegen, go behind the scenes for an action-packed mix of combat sports, drama and humor in the tradition of UFC and WWE.",
+ "director" : [],
+ "country" : [],
+ "writer" : [],
+ "playcount" : 0,
+ "runtime" : 5400,
+ "originaltitle" : "Lingerie Fighting Championships",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Linger (2013).mp4",
+ "title" : "Lingerie Fighting Championships",
+ "movieid" : 181,
+ "lastplayed" : "",
+ "genre" : [],
+ "top250" : 0,
+ "thumbnail" : "",
+ "year" : 2013,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "0",
+ "trailer" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "Lingerie Fighting Championships",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {},
+ "imdbnumber" : "tt3311004",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : ""
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhOnZzzsWGGLxMEogZ4GjtRoggKy.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhOnZzzsWGGLxMEogZ4GjtRoggKy.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffqoyX043nB5400ZqPfll4cr8u2X.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "Los Angeles Lakers: 1984-1985 NBA Champions Return To Glory",
+ "cast" : [
+ {
+ "name" : "Magic Johnson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fveliPuVyjfeGmXr5Gt9LgSdNGGn.jpg/",
+ "order" : 0,
+ "role" : "Himself"
+ },
+ {
+ "name" : "Kareem Abdul-Jabbar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fouYcoXwHmxiOEI5eRHuYTyAXCos.jpg/",
+ "order" : 1,
+ "role" : "Himself"
+ },
+ {
+ "order" : 2,
+ "role" : "Himself",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1KRnQVsXS8mz4tHHWD1yPAQBXq2.jpg/",
+ "name" : "Larry Bird"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "Avenging their loss to the Celtics in the previous year, experience the excitement of the Lakers historic ninth NBA Championship",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffqoyX043nB5400ZqPfll4cr8u2X.jpg/",
+ "year" : 2007,
+ "genre" : [],
+ "movieid" : 233,
+ "title" : "Los Angeles Lakers: 1984-1985 NBA Champions Return To Glory",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Return to Glory (1986).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 3600,
+ "originaltitle" : "Los Angeles Lakers: 1984-1985 NBA Champions Return To Glory",
+ "director" : [],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "Rated",
+ "plot" : "Led by Earvin 'Magic' Johnson and Kareem Abdul-Jabbar, relive the return to glory as the Los Angeles Lakers take on Larry Bird and the Boston Celtics in a legendary 1984-85 NBA Finals match up. Avenging their loss to the Celtics in the previous year, experience the excitement of the Lakers historic ninth NBA Championship.",
+ "rating" : 0
+ },
+ {
+ "director" : [
+ "Julien Duvivier"
+ ],
+ "writer" : [
+ "Ben Hecht",
+ "Samuel Hoffenstein"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "mpaa" : "Rated",
+ "plot" : "Lydia MacMillan, a wealthy old woman who has never married, invites several men her own age to her home to reminisce about the times when they were young and courted her. In memory, each romance seemed splendid and destined for happiness, but in each case, Lydia realizes, the truth was less romantic, and ill-starred.",
+ "rating" : 0,
+ "title" : "Lydia",
+ "movieid" : 183,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Lydia (2012).mp4",
+ "lastplayed" : "",
+ "runtime" : 6240,
+ "originaltitle" : "Lydia",
+ "playcount" : 0,
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1941,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwmKeA0M3sztE4LSOPp7MvgJEPsg.jpg/",
+ "genre" : [
+ "Drama",
+ "Romance"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Lydia",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Lydia MacMillan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fVU43s3xGFTaNloSh183leyrX6B.jpg/",
+ "name" : "Merle Oberon"
+ },
+ {
+ "role" : "Sarah MacMillan",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f608RGBhwEyzOtqZtq1NP7GMFJPf.jpg/",
+ "name" : "Edna May Oliver"
+ },
+ {
+ "name" : "Alan Marshal",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqX4fon82yP8aDJOE4fI0qR0bDvN.jpg/",
+ "role" : "Richard Mason",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbTUTrTnzacCQV4F0rs1xH4QaETf.jpg/",
+ "name" : "Joseph Cotten",
+ "role" : "Michael Fitzpatrick",
+ "order" : 3
+ },
+ {
+ "name" : "Hans Jaray",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7lCekO7sXNb5dWxfk0vrrDLicC2.jpg/",
+ "order" : 4,
+ "role" : "Frank Andre"
+ },
+ {
+ "role" : "Bob Willard",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f98aYzkJmmsMHPmY77IUHVc2sbgy.jpg/",
+ "name" : "George Reeves"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhGyCXvUXp96Mp43gmEosGgQjG3q.jpg/",
+ "name" : "John Halliday",
+ "order" : 6,
+ "role" : "Fitzpatrick"
+ },
+ {
+ "role" : "Mary",
+ "order" : 7,
+ "name" : "Sara Allgood",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzW8UUD9qmABdwdULypmVdG1pZ1s.jpg/"
+ },
+ {
+ "order" : 8,
+ "role" : "Johnny",
+ "name" : "Billy Ray"
+ },
+ {
+ "order" : 9,
+ "role" : "Old Ned",
+ "name" : "Frank Conlan"
+ }
+ ],
+ "studio" : [
+ "United Artists"
+ ],
+ "tagline" : "The Story of a free woman and her romances!",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwmKeA0M3sztE4LSOPp7MvgJEPsg.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frqxSSJxMggFWrOc2NPmlPAZ3cVu.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frqxSSJxMggFWrOc2NPmlPAZ3cVu.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0033858"
+ },
+ {
+ "genre" : [],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1990,
+ "thumbnail" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "plot" : "A Demon gives a photographer the power to kill wrongdoers by taking their picture.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Steve Fagin"
+ ],
+ "runtime" : 7200,
+ "originaltitle" : "The Machine That Killed Bad People",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "title" : "The Machine That Killed Bad People",
+ "movieid" : 309,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Machine That Killed Bad People (1990).mp4",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {},
+ "sorttitle" : "",
+ "imdbnumber" : "tt1930520",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "label" : "The Machine That Killed Bad People"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd4QSDYqAnzCgUeou7VIgyErSVPa.jpg/",
+ "year" : 2009,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Toyin Agbetu"
+ ],
+ "rating" : 0,
+ "plot" : "Toyin Agbetu shares the results of his journey across three continents seeking solutions to the many problems African people all over the world face as a result of Maafa. The Maisha film series features contributions from various voices across the world with a strong emphasis placed upon independent learning and the empowerment of young people and women. The final edition of this two part series explores themes such as cults, rites of passage, traditional spirituality and the continuing oppression of African women. The series is uncompromising and invites concerned viewers to take active leadership roles. Toyin advocates that people everywhere become Pan African community workers that utilise progressive traditional customs in order to successfully tackle many of the challenges faced by Africans today. Maisha is the Kiswahili word for - Life Directed and Produced by Toyin Agbetu",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Choices (2010).mp4",
+ "movieid" : 56,
+ "title" : "Maisha Choices",
+ "runtime" : 8040,
+ "playcount" : 0,
+ "originaltitle" : "Maisha Choices",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd4QSDYqAnzCgUeou7VIgyErSVPa.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Maisha Choices",
+ "tagline" : "Part 2: When Fear Enters, Truth Escapes",
+ "studio" : [],
+ "cast" : []
+ },
+ {
+ "mpaa" : "Rated",
+ "plot" : "A detective arrives at the scene of a grisly murder to find a mysterious young boy who may know more than he is letting on.",
+ "rating" : 0,
+ "director" : [
+ "Aaron B. Koontz"
+ ],
+ "writer" : [
+ "Cameron Burns"
+ ],
+ "country" : [],
+ "playcount" : 0,
+ "runtime" : 720,
+ "originaltitle" : "Malevolence",
+ "title" : "Malevolence",
+ "movieid" : 186,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Malevolence (2012).mp4",
+ "lastplayed" : "",
+ "genre" : [
+ "Horror"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2012,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faLTqpemGXlvxrYRyXtxWRI58Mvd.jpg/",
+ "votes" : "0",
+ "trailer" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Cole",
+ "name" : "David Matthew-Garcia"
+ },
+ {
+ "name" : "Mitchell Rad",
+ "order" : 1,
+ "role" : "Detective Denslow"
+ },
+ {
+ "role" : "Sloan",
+ "order" : 2,
+ "name" : "Jillian Eichler"
+ },
+ {
+ "order" : 3,
+ "role" : "Officer Manning",
+ "name" : "Joe Farris"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Malevolence",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faLTqpemGXlvxrYRyXtxWRI58Mvd.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2558860",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : ""
+ },
+ {
+ "genre" : [
+ "Comedy",
+ "Romance"
+ ],
+ "top250" : 0,
+ "year" : 1998,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feb2YMIZQqDrFcaAB858sMJmM4eQ.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "2",
+ "trailer" : "",
+ "mpaa" : "Rated NR",
+ "rating" : 5,
+ "plot" : "Simon Eskenazy is a gay Parisian clarinet player who lives his single life to the fullest. One day, he receives a very tempting offer from his homophobic uncle, looking to continue the family legacy – if he gets married and has a child, he will receive ten million francs and inherit his uncle's luxurious mansion. After meeting Rosalie Baumann at his cousin David's wedding, and with some convincing on his mother's part, Simon sees an opportunity to fulfill his uncle's wishes and the pair go ahead and get married, but not before traveling to New York to meet Rosalie's Orthodox Jewish family. As Simon tries to develop real feelings for Rosalie, he struggles with his feelings for his newlywed cousin David.",
+ "director" : [
+ "Jean-Jacques Zilbermann"
+ ],
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "Jean-Jacques Zilbermann",
+ "Gilles Taurand"
+ ],
+ "runtime" : 6000,
+ "playcount" : 0,
+ "originaltitle" : "L'homme est une femme comme les autres",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Mezczyzna (1918).mp4",
+ "title" : "Man Is a Woman",
+ "movieid" : 191,
+ "lastplayed" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f95eAAmZ8Z1Gh0ghaLfAZiZZsieR.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feb2YMIZQqDrFcaAB858sMJmM4eQ.jpg/"
+ },
+ "imdbnumber" : "tt0119307",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f95eAAmZ8Z1Gh0ghaLfAZiZZsieR.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [
+ "M6 Films"
+ ],
+ "cast" : [
+ {
+ "role" : "Simon Eskenazy",
+ "order" : 0,
+ "name" : "Antoine de Caunes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdOClwyjbDU7PIltbXVOlAPzbEbU.jpg/"
+ },
+ {
+ "role" : "Rosalie Baumann",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fktGsPLpwOULOhKyKSeikAYn2NdI.jpg/",
+ "name" : "Elsa Zylberstein"
+ },
+ {
+ "role" : "David Eskenazi",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fay3csj0Wmn8OppIcArmHRiwmBLc.jpg/",
+ "name" : "Gad Elmaleh"
+ },
+ {
+ "role" : "Uncle Salomon",
+ "order" : 3,
+ "name" : "Michel Aumont",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faGl19GSqxR6pnipbNMy3FY32Uth.jpg/"
+ },
+ {
+ "role" : "Simon's mother",
+ "order" : 4,
+ "name" : "Judith Magre",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmLSoxnfGhsl6pfa9HDSrJgDSMeN.jpg/"
+ },
+ {
+ "role" : "Rosalie's father",
+ "order" : 5,
+ "name" : "Maurice Bénichou",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwHyw6K7H5e1hExFixTrZDmlivC1.jpg/"
+ },
+ {
+ "name" : "Catherine Hiegel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy3vJ3bVR0Bnic0onWEGP89a9g0i.jpg/",
+ "order" : 6,
+ "role" : "Rosalie's mother"
+ },
+ {
+ "role" : "Daniel Baumann",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flrQthI3W6FkNQ4W4dFiD5QykHM6.jpg/",
+ "name" : "Stéphane Metzger"
+ },
+ {
+ "order" : 8,
+ "role" : "Yitshak Baumann",
+ "name" : "Edwin Gerard"
+ }
+ ],
+ "tagline" : "It's an experience that every man ought to have at least once in his life... to be for just a moment a woman in the arms of a man...",
+ "label" : "Man Is a Woman"
+ },
+ {
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgjWoboNYO6dVpk4ELqRS2jkIg2Z.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Veeramohan",
+ "name" : "M. G. Ramachandran",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faXAcR3OOahO39nS2tR2zfxRm5NM.jpg/"
+ },
+ {
+ "name" : "G. Sakunthala",
+ "order" : 2,
+ "role" : "Princess Jeeva"
+ },
+ {
+ "order" : 3,
+ "role" : "Royal Priest",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx2hK2PBAHWgsgByCyuoglZbRs15.jpg/",
+ "name" : "M. N. Nambiar"
+ },
+ {
+ "role" : "",
+ "order" : 4,
+ "name" : "Padmini",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4v1XzGwuXZ7fsChcihQKZJO8Wr2.jpg/"
+ },
+ {
+ "name" : "Raghini",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "T. P. Muthulakshmi",
+ "order" : 6,
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Lalitha"
+ },
+ {
+ "name" : "Madhuri Devi",
+ "order" : 8,
+ "role" : ""
+ },
+ {
+ "name" : "S. A. Natarajan",
+ "order" : 9,
+ "role" : "Parthiban"
+ }
+ ],
+ "label" : "Manthiri Kumari",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgjWoboNYO6dVpk4ELqRS2jkIg2Z.jpg/",
+ "year" : 1950,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Manthiri Kumari",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Manthiri Kumari (1950).mp4",
+ "movieid" : 188,
+ "title" : "Manthiri Kumari",
+ "rating" : 0,
+ "plot" : "What the movie has in store for you, wait and watch this space for more updates.",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "T. R. Sundaram",
+ "Ellis Dungan"
+ ]
+ },
+ {
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "plot" : "\"Masters of Sex\" at PALEYFEST on March 24, 2014. Showtime's \"Masters of Sex\" blazes new dramatic terrain to illuminate the revolutionary scientific research of the postwar era that helped to spark the sexual revolution. Michael Sheen and Lizzy Caplan portray sex researchers William Masters and Virginia Johnson, whose controversial work and scandalous romance challenged suburban normalcy.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "title" : "Masters of Sex: Cast and Creators Live at PALEYFEST",
+ "movieid" : 250,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sex Masters (2004).mp4",
+ "originaltitle" : "Masters of Sex: Cast and Creators Live at PALEYFEST",
+ "runtime" : 0,
+ "playcount" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 2014,
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Masters of Sex: Cast and Creators Live at PALEYFEST",
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "art" : {},
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : ""
+ },
+ {
+ "runtime" : 0,
+ "originaltitle" : "Meri Adalat",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Adalat (1948).mp4",
+ "movieid" : 16,
+ "title" : "Meri Adalat",
+ "rating" : 0,
+ "plot" : "It is the story of a brother played by Rajinikanth who is a tough cop and his sister played by Sonia Sahini.The sister is in love with her College friend played by Mohnish Behl.It is the loves story between them and the future incidents which make the cop take the law in his hand and have his own Adalat called Meri Adalat. Zeenat Aman a journalist plays the love interest of Rajinikanth supported by Kader Khan, Shreeram Lagoo, Rajendra Nath and others.",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsfNNb2BOera0YQjp3nC20rtEsLp.jpg/",
+ "year" : 1984,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxuXBKygwJ9n30vRFP4IxbGG9tfA.jpg/",
+ "name" : "Rajnikanth",
+ "order" : 1,
+ "role" : "The Cop"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA6f6QqGhBgVXLynqNrCxFPSSUod.jpg/",
+ "name" : "Zeenat Aman",
+ "order" : 2,
+ "role" : "The Journalist"
+ }
+ ],
+ "label" : "Meri Adalat",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "imdbnumber" : "tt0268456",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsfNNb2BOera0YQjp3nC20rtEsLp.jpg/"
+ }
+ },
+ {
+ "sorttitle" : "",
+ "imdbnumber" : "tt0967945",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1cqGg0NbTWJgncACmYtZUib8145.jpg/",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1cqGg0NbTWJgncACmYtZUib8145.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr9GngmfzNGZssp59HpqW5uhUA22.jpg/"
+ },
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmXqfwhO8tv2jZe7fX4bkj2HhSi6.jpg/",
+ "name" : "Michael Keaton",
+ "role" : "Frank Logan",
+ "order" : 0
+ },
+ {
+ "name" : "Kelly Macdonald",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fy3F46gN6iZPEeXZMSn1nEFnJYwt.jpg/",
+ "role" : "Kate Frazier",
+ "order" : 1
+ },
+ {
+ "name" : "Tom Bastounes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7uWBeGej2D9f8Htsj9d2ny7mQB3.jpg/",
+ "order" : 2,
+ "role" : "Dave Murcheson"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8J14xP3SksNa5Vo8kInwTVZt8cK.jpg/",
+ "name" : "Mike Bradecich",
+ "role" : "Jerry",
+ "order" : 3
+ },
+ {
+ "role" : "Office Worker at Christmas Party",
+ "order" : 4,
+ "name" : "Debbi Burns",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6PSjSnOTelZmjgCXs9yHBU0qkv8.jpg/"
+ },
+ {
+ "order" : 5,
+ "role" : "Restaurant Patron",
+ "name" : "Maritza Cabrera",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwZbE2kzW5NZGquzMyd9r7nJNeQe.jpg/"
+ },
+ {
+ "order" : 6,
+ "role" : "Michael",
+ "name" : "Bobby Cannavale",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f353743.jpg/"
+ },
+ {
+ "role" : "Restaurant Patron",
+ "order" : 7,
+ "name" : "Esther Claire"
+ },
+ {
+ "name" : "William Dick",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffI995EhgmJzIU34RXNkbxxnDOeG.jpg/",
+ "order" : 8,
+ "role" : "Mr. Weiss"
+ },
+ {
+ "order" : 9,
+ "role" : "Female Co-Worker",
+ "name" : "Lori Ann Gerdisch",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzuBwfFZOp1YX3tRPVM5TpjznOWi.jpg/"
+ }
+ ],
+ "studio" : [
+ "Jackson Income Fund"
+ ],
+ "tagline" : "A man with a secret. A woman with a past.",
+ "label" : "The Merry Gentleman",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "1",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=YXoJEY6ficY&hd",
+ "genre" : [
+ "Drama",
+ "Action"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2008,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr9GngmfzNGZssp59HpqW5uhUA22.jpg/",
+ "originaltitle" : "The Merry Gentleman",
+ "runtime" : 6600,
+ "playcount" : 0,
+ "movieid" : 310,
+ "title" : "The Merry Gentleman",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Merry Gentleman (2008).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "A woman who leaves an abusive relationship to begin a new life in a new city, where she forms an unlikely and ironic relationship with a suicidal hit man (unbeknownst to her). Enter a worn, alcoholic detective to form the third party in a very unusual triangle as this story begins to unfold.",
+ "rating" : 6.5,
+ "director" : [
+ "Michael Keaton"
+ ],
+ "writer" : [
+ "Ron Lazzeretti"
+ ],
+ "country" : [
+ "United States of America"
+ ]
+ },
+ {
+ "label" : "Mexicana",
+ "tagline" : "Hollywood's most colorful panorama of music and gaiety",
+ "cast" : [
+ {
+ "name" : "Tito Guízar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frPWdwUau5T8oN7F2iexy2rzlM6l.jpg/",
+ "role" : "'Pepe' Villarreal",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Alison Calvert",
+ "name" : "Constance Moore",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3twL4z45P8KhrKNGJSPh8GvWLhf.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8CbHqPet0tXDq1kB486F3XKlIwD.jpg/",
+ "name" : "Leo Carrillo",
+ "role" : "Esteban Guzman",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fps9aXuQFkaQ6Dh09faH4Qbp6rvC.jpg/",
+ "name" : "Estelita Rodriguez",
+ "role" : "Lupita",
+ "order" : 4
+ },
+ {
+ "role" : "Beagle",
+ "order" : 5,
+ "name" : "Howard Freeman"
+ },
+ {
+ "role" : "Laredo",
+ "order" : 6,
+ "name" : "Steven Geray",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbYHgnE8wv3zXhMoZAAmZjNes7in.jpg/"
+ },
+ {
+ "name" : "Jean Stevens",
+ "role" : "Bunny Ford",
+ "order" : 7
+ },
+ {
+ "name" : "Guy Zanette",
+ "role" : "Specialty Dancer",
+ "order" : 8
+ },
+ {
+ "name" : "Phyllis Herrin",
+ "order" : 9,
+ "role" : "Specialty Dancer"
+ },
+ {
+ "order" : 10,
+ "role" : "Master of Ceremonies",
+ "name" : "Juan Torena"
+ },
+ {
+ "name" : "Leonardo Scavino",
+ "order" : 11,
+ "role" : "Waiter"
+ },
+ {
+ "name" : "Alma Beltran",
+ "order" : 12,
+ "role" : "Modern Girl"
+ },
+ {
+ "role" : "Caballero",
+ "order" : 13,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmkHEoLawjJEqi053JrVuAa9tQBM.jpg/",
+ "name" : "George J. Lewis"
+ }
+ ],
+ "studio" : [
+ "Republic Pictures (I)"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0037909",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhvz2WSs9VFhoVvSBnGWiTJSlTy1.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "lastplayed" : "",
+ "title" : "Mexicana",
+ "movieid" : 190,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Mexicana (1929).mp4",
+ "originaltitle" : "Mexicana",
+ "runtime" : 4980,
+ "playcount" : 0,
+ "writer" : [
+ "Frank Gill Jr."
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Alfred Santell"
+ ],
+ "plot" : "A Mexican crooner (Tito Guizar) tries to put off fans by faking marriage to his American co-star (Constance Moore).",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "trailer" : "",
+ "votes" : "0",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1945,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhvz2WSs9VFhoVvSBnGWiTJSlTy1.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Romance",
+ "Music"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Mine (2012).mp4",
+ "movieid" : 311,
+ "title" : "The Mines",
+ "originaltitle" : "The Mines",
+ "runtime" : 300,
+ "playcount" : 0,
+ "country" : [
+ "Poland"
+ ],
+ "writer" : [],
+ "director" : [
+ "Grzegorz Jonkajtys"
+ ],
+ "rating" : 7.5,
+ "plot" : "A woman trying to find her way out of a long abandoned Polish Uranium mine encounters the strange world that lies within -- and is invited to stay as a permanent guest.",
+ "mpaa" : "",
+ "trailer" : "",
+ "votes" : "1",
+ "year" : 2012,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "label" : "The Mines",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Michelle Glick",
+ "role" : "Mary",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Miner",
+ "name" : "Michael Quadro"
+ },
+ {
+ "name" : "Bruce Holcomb",
+ "order" : 2,
+ "role" : "Bob"
+ },
+ {
+ "order" : 3,
+ "role" : "Boss",
+ "name" : "Maciej Maciejewski"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=PSlqRBX6hFs",
+ "votes" : "1",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1977,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fea9Ogpd6nae2DwxfWjyxsDCACIp.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Action"
+ ],
+ "lastplayed" : "",
+ "title" : "Mister Deathman",
+ "movieid" : 193,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Mister Deathman (1977).mp4",
+ "playcount" : 0,
+ "runtime" : 5580,
+ "originaltitle" : "Mister Deathman",
+ "writer" : [],
+ "country" : [
+ "South Africa"
+ ],
+ "director" : [],
+ "plot" : "Geoffrey Graves is a secret agent who comes ourt of retirement for a mission in South Africa. Stella Stevens stars as an enemy agent.",
+ "rating" : 7,
+ "mpaa" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0076396",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fea9Ogpd6nae2DwxfWjyxsDCACIp.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Mister Deathman",
+ "tagline" : "Spøk ikke med mr. Graves... - det kan koste deg livet! (Don’t mess with mr. Graves ... - It may cost you your life!), He delivers...",
+ "cast" : [],
+ "studio" : [
+ "Karat Film"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "cast" : [
+ {
+ "name" : "James Cruze",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdOOBEazMAI605zD7NeROIEytYFT.jpg/",
+ "role" : "Lord Trevor",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm8Zsf2DJ9JhYUTVfdF8LNZ2ePw2.jpg/",
+ "name" : "Florence La Badie",
+ "role" : "Nan - Lord Trevor's Ward",
+ "order" : 2
+ }
+ ],
+ "studio" : [
+ "Thanhouser Film Corporation"
+ ],
+ "tagline" : "",
+ "label" : "The Mohammedan's Conspiracy",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0832905",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr3KaTuMtc7aBc17xdAMWmP48lSI.jpg/"
+ },
+ "originaltitle" : "The Mohammedan's Conspiracy",
+ "runtime" : 0,
+ "playcount" : 0,
+ "title" : "The Mohammedan's Conspiracy",
+ "movieid" : 285,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Conspiracy (1914).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "",
+ "rating" : 0,
+ "director" : [
+ "Frederick Sullivan"
+ ],
+ "writer" : [],
+ "country" : [
+ "United States of America"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr3KaTuMtc7aBc17xdAMWmP48lSI.jpg/",
+ "year" : 1914
+ },
+ {
+ "genre" : [
+ "TV Movie",
+ "Drama"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmedlgprTiRL94FBW93NFHCIbATW.jpg/",
+ "year" : 2008,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "Sydney is a troubled teen heading for trouble. After being caught shoplifting and a case of alcohol poisoning, Sydney's desperate single mother sends her off to the country to live with her father, Ben, and his new pregnant wife, Emma. Sydney misses her boyfriend, her city life and doesn't get on with her dad or stepmom. Slowly she starts to settle in as she makes friends with Jess, a local girl whose mother died of cancer. Sydney makes a couple of mistakes but after her grandfather's death the extended family start to heal.",
+ "mpaa" : "Rated",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "director" : [
+ "Anne Wheeler"
+ ],
+ "originaltitle" : "Mom, Dad and Her",
+ "runtime" : 0,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Un Respiro (2015).mp4",
+ "title" : "Mom, Dad and Her",
+ "movieid" : 339,
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmedlgprTiRL94FBW93NFHCIbATW.jpg/"
+ },
+ "imdbnumber" : "tt1092541",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "studio" : [
+ "Insight Film Studios"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Emma",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuecs9JKOqgYj3PrSGECaFzc3E2r.jpg/",
+ "name" : "Melora Hardin"
+ },
+ {
+ "name" : "Paul McGillion",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn6S66CIpNqThe6eugr94WZBbI6u.jpg/",
+ "role" : "Ben",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Sydney",
+ "name" : "Brittney Wilson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f75Js7G0qVKJCQQhsHgL362VUU8A.jpg/"
+ },
+ {
+ "role" : "Lynn",
+ "order" : 3,
+ "name" : "Sarah Deakins"
+ },
+ {
+ "order" : 4,
+ "role" : "Heather",
+ "name" : "Tantoo Cardinal",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2FEYWnf9jbc5VY5fEFiX91vx80k.jpg/"
+ },
+ {
+ "name" : "Jesse Moss",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd4FY9ZdC5imLXq3wp6eCBUjy8vq.jpg/",
+ "order" : 5,
+ "role" : "Zach"
+ },
+ {
+ "order" : 6,
+ "role" : "Jess",
+ "name" : "Kyla Hazelwood"
+ },
+ {
+ "name" : "Anna Amoroso",
+ "order" : 7,
+ "role" : "Tara"
+ }
+ ],
+ "label" : "Mom, Dad and Her"
+ },
+ {
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1DShKeyPz0FNJ4ZyfWgMqVmZBrU.jpg/"
+ },
+ "imdbnumber" : "tt1605800",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Damn",
+ "order" : 0,
+ "name" : "Nat Christian"
+ },
+ {
+ "order" : 1,
+ "role" : "Thomas Bach",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2fES7qrUXubyoW75OmYEnokJMmu.jpg/",
+ "name" : "Victor Browne"
+ },
+ {
+ "name" : "Molly Kidder",
+ "role" : "Katherine Sands",
+ "order" : 2
+ },
+ {
+ "name" : "Jessica Spotts",
+ "role" : "Beth",
+ "order" : 3
+ }
+ ],
+ "label" : "Monday Morning",
+ "genre" : [
+ "Drama",
+ "Foreign"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1DShKeyPz0FNJ4ZyfWgMqVmZBrU.jpg/",
+ "year" : 2012,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "Thomas Bach is on top of his game. A popular right-wing radio talk-show host and a hero of the Tea Party Movement, he is hand picked to run for the U.S. Senate. But first he must fly to Los Angeles and clean up some dirty laundry that might damage his campaign. A victim of an attack, Thomas wakes up on the streets of Los Angeles without his memory. He is also unaware that he is a diabetic. He now wanders Skid Row, inevitably blending in with the homeless population, and without medication, his life is at risk.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [
+ "Nat Christian"
+ ],
+ "director" : [
+ "Nat Christian"
+ ],
+ "playcount" : 0,
+ "runtime" : 6720,
+ "originaltitle" : "Monday Morning",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Monday Morning (2011).mp4",
+ "title" : "Monday Morning",
+ "movieid" : 196
+ },
+ {
+ "label" : "Monsters vs Aliens",
+ "studio" : [
+ "DreamWorks Animation"
+ ],
+ "cast" : [
+ {
+ "role" : "B.O.B. (voice)",
+ "order" : 0,
+ "name" : "Seth Rogen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3U9s4dvXQuk1l3ZT3MqwqpmeRqI.jpg/"
+ },
+ {
+ "order" : 1,
+ "role" : "Susan Murphy / Ginormica (voice)",
+ "name" : "Reese Witherspoon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyuG5AfEDLF2iwVN5SZEPSsKKxNs.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3qCmEHtq5fBW8dbzsYDSy16Zqb0.jpg/",
+ "name" : "Hugh Laurie",
+ "role" : "Dr. Cockroach Ph.D. (voice)",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foUJyLVn3kCmQuFeug4SBIo7Tc02.jpg/",
+ "name" : "Paul Rudd",
+ "role" : "Derek Dietl (voice)",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "General W.R. Monger (voice)",
+ "name" : "Kiefer Sutherland",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4YvDfOfD4TgyzDkLGoq76g5BZNe.jpg/"
+ },
+ {
+ "role" : "Gallaxhar (voice)",
+ "order" : 5,
+ "name" : "Rainn Wilson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAdq8cYhhzmSYRwMWDTc7O53L7FR.jpg/"
+ },
+ {
+ "name" : "Will Arnett",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvHCqn3SHfSV6GOWrxzEtoDaSMoU.jpg/",
+ "order" : 6,
+ "role" : "The Missing Link (voice)"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxVQMuzz4zNX92XFyCybA9JwMCYs.jpg/",
+ "name" : "Stephen Colbert",
+ "role" : "President Hathaway (voice)",
+ "order" : 7
+ },
+ {
+ "role" : "Insectosaurus (voice)",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faIGGgXIQcN2UlReL8I5QCJ3AxOn.jpg/",
+ "name" : "Jimmy Kimmel"
+ },
+ {
+ "order" : 9,
+ "role" : "Wendy Murphy (voice)",
+ "name" : "Julie White",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiYTRxrNPGNLYmKfv5RI7pcLyV2i.jpg/"
+ },
+ {
+ "name" : "Jeffrey Tambor",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzavDMLHU3QpZOLlMlq1mobhzNG0.jpg/",
+ "role" : "Carl Murphy (voice)",
+ "order" : 10
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuMGW762oDZbR8jhFJRImJ1ls5cd.jpg/",
+ "name" : "Amy Poehler",
+ "order" : 11,
+ "role" : "Computer (voice)"
+ },
+ {
+ "role" : "News Reporter (voice)",
+ "order" : 12,
+ "name" : "Ed Helms",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feuQxeETzWnPUqu1vm4hGtFa7zPd.jpg/"
+ },
+ {
+ "order" : 13,
+ "role" : "Katie (voice)",
+ "name" : "Renée Zellweger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frCrIuo5P2DzFOaLC6hwiHsQH9Xv.jpg/"
+ },
+ {
+ "role" : "Private Bullhorn / Helicopter Pilot / Advisor Ortega (voice)",
+ "order" : 14,
+ "name" : "Sean Bishop"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcaMJRrUIYD4wHlbwu1NIqZZWGby.jpg/",
+ "name" : "Rich Dietl",
+ "order" : 15,
+ "role" : "Commander / Advisor Smith (voice)"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv2GPTQ41ZqHtML8W1ft3UJej5xA.jpg/",
+ "name" : "Rob Letterman",
+ "order" : 17,
+ "role" : "Secret Service Man #1 / Lieutenant (voice)"
+ },
+ {
+ "name" : "Tom McGrath",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx522iaZSJUqbPlP3C1PvM5oa0rx.jpg/",
+ "order" : 18,
+ "role" : "Wilson (voice)"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3nwwLDbRaTQHp26cuDNw1KRgCZd.jpg/",
+ "name" : "Chris Miller",
+ "order" : 19,
+ "role" : "Advisor Cole / Army Commander Jones (voice)"
+ },
+ {
+ "role" : "Advisor Wedgie (voice)",
+ "order" : 20,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fthoCDW89KWWaSYrbvUX0adPcg8S.jpg/",
+ "name" : "Mike Mitchell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiszbGHIPuEMa1YDIiJFST3pZfLy.jpg/",
+ "name" : "Kent Osborne",
+ "role" : "Technician Jerry (voice)",
+ "order" : 21
+ },
+ {
+ "role" : "Advisor Ouaou / Mrs. Ronson / Female Advisor #2 / Panicked Guest (voice)",
+ "order" : 22,
+ "name" : "Latifa Ouaou",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgJ0ntOXcs0RRdMAM9b5Avo5REga.jpg/"
+ },
+ {
+ "name" : "Geoffrey Pomeroy",
+ "role" : "Soldier #4 / Pilot / Soldier #3 / News Technician (voice)",
+ "order" : 23
+ },
+ {
+ "order" : 24,
+ "role" : "Soldier #1 / Advisor Jackson (voice)",
+ "name" : "David P. Smith"
+ },
+ {
+ "name" : "Lisa Stewart",
+ "role" : "Bridesmaid Candy (voice)",
+ "order" : 25
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkSyVrs8NtLoQhfBXFBhnTWzC7Vm.jpg/",
+ "name" : "Conrad Vernon",
+ "role" : "Advisor Hawk / Advisor Dither / Minister / Secret Service Man #2 / Mama Dietl (voice)",
+ "order" : 26
+ },
+ {
+ "role" : "Cuthbert (voice)",
+ "order" : 27,
+ "name" : "John Krasinski",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnOWwdZURikW22qo6OUSGFCTukgc.jpg/"
+ },
+ {
+ "name" : "Stephen Kearin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbEMGAE4kdMmcF61kgYWHLM7EfsT.jpg/",
+ "order" : 28,
+ "role" : "Technician Bee (voice)"
+ }
+ ],
+ "tagline" : "When aliens attack, monsters fight back.",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft03uCzKAcYwynMOG4iTcZ75Z23U.jpg/",
+ "imdbnumber" : "tt0892782",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft03uCzKAcYwynMOG4iTcZ75Z23U.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8x0WrDcFQDC2eoXJe6iC34wXZE8.jpg/"
+ },
+ "tag" : [],
+ "setid" : 5,
+ "showlink" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Monsters vs. Aliens (2009).mp4",
+ "title" : "Monsters vs Aliens",
+ "movieid" : 197,
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 5640,
+ "originaltitle" : "Monsters vs Aliens",
+ "director" : [
+ "Rob Letterman",
+ "Conrad Vernon"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Rob Letterman",
+ "Maya Forbes",
+ "Wallace Wolodarsky",
+ "Jonathan Aibel",
+ "Glenn Berger"
+ ],
+ "mpaa" : "Rated PG",
+ "rating" : 5.90000009536743,
+ "plot" : "When Susan Murphy is unwittingly clobbered by a meteor full of outer space gunk on her wedding day, she mysteriously grows to 49-feet-11-inches. The military jumps into action and captures Susan, secreting her away to a covert government compound. She is renamed Ginormica and placed in confinement with a ragtag group of Monsters...",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=bxLAH3M3ywM",
+ "votes" : "622",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8x0WrDcFQDC2eoXJe6iC34wXZE8.jpg/",
+ "year" : 2009,
+ "set" : "Monsters vs Aliens Collection",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Animation",
+ "Family",
+ "Adventure",
+ "Science Fiction"
+ ]
+ },
+ {
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [],
+ "director" : [
+ "Harald Philipp"
+ ],
+ "rating" : 0,
+ "plot" : "1958 West German circus drama directed by Harald Philipp.",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Rivalen der Manege (1958).mp4",
+ "movieid" : 235,
+ "title" : "Mord in der Manege",
+ "runtime" : 5760,
+ "originaltitle" : "Mord in der Manege",
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fufwhwjMl04s5TVfhWbZM5YSigx3.jpg/",
+ "year" : 1958,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Mord in der Manege",
+ "tagline" : "",
+ "studio" : [
+ "Corona Filmproduktion"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Alexander 'Bimbo' Peters",
+ "name" : "Claus Holm",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcdVD2YAvmTrGh017dt6xPrEqbxM.jpg/"
+ },
+ {
+ "name" : "Germaine Damar",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flldGgu4Fx2yf0H50t00koLHHHfe.jpg/",
+ "order" : 1,
+ "role" : "Lilo"
+ },
+ {
+ "role" : "Yvonne",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiqNGFFGs8CPMyPKz4wccKOhoi5z.jpg/",
+ "name" : "Elma Karlowa"
+ },
+ {
+ "name" : "Loni Heuser",
+ "order" : 3,
+ "role" : "Frau Wille, Zirkus-Agentin"
+ },
+ {
+ "name" : "Helmut Schmid",
+ "role" : "Kovacs",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Bert Williams",
+ "name" : "Hans von Borsody",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fitPzViAARSQTj9Ze0VI6kxC51S8.jpg/"
+ },
+ {
+ "name" : "Elke Aberle",
+ "order" : 6,
+ "role" : "Monika, Bimbos Tochter"
+ }
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fufwhwjMl04s5TVfhWbZM5YSigx3.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt0052137",
+ "sorttitle" : ""
+ },
+ {
+ "genre" : [],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftadSy0IXy0BsQcitCUcZTihtmMe.jpg/",
+ "year" : 2005,
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "plot" : "While their owner is having his siesta, two old caged parrots rake up memories from the past. This leads to unexpected consequences for the three of them.",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [
+ "Gil Alkabetz"
+ ],
+ "country" : [
+ "Germany"
+ ],
+ "director" : [
+ "Gil Alkabetz"
+ ],
+ "runtime" : 780,
+ "originaltitle" : "Morir de amor",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "title" : "Morir de amor",
+ "movieid" : 198,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Morir de amor (2005).mp4",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9Cs25DLtpzVQ15vV5X0ITnLzEGp.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftadSy0IXy0BsQcitCUcZTihtmMe.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0472868",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9Cs25DLtpzVQ15vV5X0ITnLzEGp.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Nicky Goldstein",
+ "order" : 0,
+ "role" : "Parot #1"
+ },
+ {
+ "name" : "Johannes Warth",
+ "order" : 1,
+ "role" : "Parot #2"
+ },
+ {
+ "order" : 2,
+ "role" : "Woman",
+ "name" : "Nanny Fornis"
+ },
+ {
+ "role" : "Man",
+ "order" : 3,
+ "name" : "Walter Becker"
+ }
+ ],
+ "studio" : [
+ "Gil Alkabetz Sweet Home Studio"
+ ],
+ "label" : "Morir de amor"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdY6TwR7oOIefg03DZwuDDPz7Uw7.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0093569",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frcgx6XR8Qd1YiWiUOPPdqlC6SYJ.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdY6TwR7oOIefg03DZwuDDPz7Uw7.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Moros y cristianos",
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Don Fernando",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fziKavjyzDlwv7eAnISaro6dfECK.jpg/",
+ "name" : "Fernando Fernán Gómez"
+ },
+ {
+ "order" : 1,
+ "role" : "Ropero",
+ "name" : "Luis Ciges",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1374WzJLyuhkipOefkNcmhAwvu7.jpg/"
+ },
+ {
+ "name" : "José Luis Coll",
+ "role" : "Himself",
+ "order" : 2
+ },
+ {
+ "name" : "Félix Dafauce",
+ "order" : 3,
+ "role" : "Doctor Cervera"
+ }
+ ],
+ "studio" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "",
+ "votes" : "0",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1987,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frcgx6XR8Qd1YiWiUOPPdqlC6SYJ.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Comedy"
+ ],
+ "lastplayed" : "",
+ "title" : "Moros y cristianos",
+ "movieid" : 199,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Moros y cristianos (1926).mp4",
+ "playcount" : 0,
+ "runtime" : 6960,
+ "originaltitle" : "Moros y cristianos",
+ "writer" : [
+ "Luis García Berlanga",
+ "Rafael Azcona"
+ ],
+ "country" : [
+ "Spain"
+ ],
+ "director" : [
+ "Luis García Berlanga"
+ ],
+ "plot" : "A family owned a nougat factory moves to Madrid to promote your product in a food fair, against the advice of family patriarch and founder of the company, Don Fernando Planchadell, which remains true to its principles.",
+ "rating" : 0,
+ "mpaa" : ""
+ },
+ {
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0156803",
+ "sorttitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Mortgage",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "top250" : 0,
+ "year" : 1990,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Bill Bennett"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Dave and Tina Dodd want to buy a house. They make a contract with shifty John Napper who suggests builder George Shooks.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Mortgage (1989).mp4",
+ "movieid" : 200,
+ "title" : "Mortgage",
+ "lastplayed" : "",
+ "runtime" : 5400,
+ "originaltitle" : "Mortgage",
+ "playcount" : 0
+ },
+ {
+ "cast" : [
+ {
+ "name" : "Stephen McHattie",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiGkMgtmCQGc3Tbk1P7TS76j0PMP.jpg/",
+ "role" : "Eddie Moore",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Cam Johnson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsJqpCZrM1IIQetdLrPaLwZDP8Bp.jpg/",
+ "name" : "Kay Lenz"
+ },
+ {
+ "order" : 3,
+ "role" : "Alex Warren",
+ "name" : "Eddie Albert",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftScju2xZ42MpXqx5WSYKFtwzH8r.jpg/"
+ },
+ {
+ "order" : 4,
+ "role" : "Sheriff Rankin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpEhqjNb17zbPavYrY49gVhOis4E.jpg/",
+ "name" : "Lonny Chapman"
+ },
+ {
+ "name" : "Will Geer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4DfSqy8f0d4A3Zb2w4BcEaffnPv.jpg/",
+ "role" : "Rockfield",
+ "order" : 5
+ }
+ ],
+ "studio" : [
+ "Twentieth Century Fox Film Corporation"
+ ],
+ "tagline" : "If you steal it, roll it and wreck it - you're a Moving Violation.",
+ "label" : "Moving Violation",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0074924",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyq8dutSoMOthknPu8mImSKKRple.jpg/"
+ },
+ "runtime" : 5460,
+ "originaltitle" : "Moving Violation",
+ "playcount" : 0,
+ "movieid" : 348,
+ "title" : "Moving Violation",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Violation (1996).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "Eddie Moore is a young drifter passing through the small town of Rockfield when suddenly he gets harassed by corrupt sheriff Leroy Rankin and his Deputy, Tylor. Later he meets up with waitress Camille \"Cam\" Johnson and both skinny dip in a swimming pool owned by H.L. Rockfield, the richest man in the area. Later Tylor shows up at his mansion and starts criticizing his business practices, something that he doesn't know is Sheriff Rankin is also there and hears every word he said, he then shoots Tylor and staggers away and manages to seek refuge in the back of Cam's van. Felling his reputation as Sheriff will be tarnished if anyone finds out about it. He blames Eddie and Cam for the killing and puts out an APB. Endess car chases and shootouts ensue as they try to stay alive.",
+ "rating" : 7.5,
+ "director" : [
+ "Charles S. Dubin"
+ ],
+ "writer" : [
+ "David Osterhout",
+ "William W. Norton"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "votes" : "1",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=-78YYyDljqg",
+ "genre" : [
+ "Drama",
+ "Comedy",
+ "Crime"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 1976,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyq8dutSoMOthknPu8mImSKKRple.jpg/"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Mr. & Mrs. Player",
+ "cast" : [
+ {
+ "name" : "Chapman To",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmq5pyx9q9Lkzq2rHbHG98GypOf3.jpg/",
+ "role" : "Carson",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faTd1mGWkqk8qMoUYlFDchtabr6H.jpg/",
+ "name" : "Chrissie Chau",
+ "order" : 1,
+ "role" : "Chi-Ling"
+ },
+ {
+ "name" : "Iris Chung",
+ "role" : "Big S",
+ "order" : 2
+ },
+ {
+ "name" : "Jeanette Leung",
+ "role" : "Small S",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Pang Ho-Cheung",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzrnMoVvL2S0PX1eHQYxlHgnQhX.jpg/"
+ },
+ {
+ "name" : "Matt Chow",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqPDiIqUIW1YoGz2eC8EsSR7g7E1.jpg/",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Karen",
+ "name" : "Kimmy Tong Fei",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flpAsmaSf9T0cDm1B1KvyQfVdr24.jpg/"
+ },
+ {
+ "role" : "",
+ "order" : 7,
+ "name" : "Michelle Hu"
+ },
+ {
+ "role" : "Daniel Lee",
+ "order" : 8,
+ "name" : "Wilfred Lau"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu0V4TRkCrTPRajvrUSrUGtGr2La.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzwJhhJbzjCrllGcX1zti0ldMkcS.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fu0V4TRkCrTPRajvrUSrUGtGr2La.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt3420064",
+ "director" : [
+ "Wong Jing"
+ ],
+ "writer" : [
+ "Wong Jing"
+ ],
+ "country" : [],
+ "mpaa" : "",
+ "plot" : "Chinese Feng Shui master Carson was a \"Natural Born Player\", taking names and breaking hearts. Fate had it that he would meet his match, the hot veterinarian Chi-Ling. It was love at first sight but neither could stand the other's fickle nature lest the affair might have ended as soon as it began. Chi-Ling's roommates, Big S and Small S came up with a perfect plan – to invite Carson to move in with Chi-Ling and make him promise to have no sexual contact with any girls for 100 days. Carson accepted the challenge without a second thought. Yet, the two sisters and his ex-lovers took turns in seducing him. Ninety difficult days have since passed, the biggest temptation arrived in the form of the hottest bachelor in Hong Kong, Daniel Lee began courting Chi-Ling. At the same time, Karen, Carson’s first love, suddenly came back into his life. Would these star crossed lovers cross the finish line together?",
+ "rating" : 6,
+ "movieid" : 161,
+ "title" : "Mr. & Mrs. Player",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Lan Gun Fu Dou Lan Gun Qi (2013).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 5880,
+ "originaltitle" : "爛滾夫鬥爛滾妻",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzwJhhJbzjCrllGcX1zti0ldMkcS.jpg/",
+ "year" : 2013,
+ "genre" : [
+ "Comedy"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=97wslyExFL8",
+ "votes" : "2"
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6Khvykb3n04f4X8yvWeBM0fWh9M.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2347459",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Mumbo Jumbo",
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1972,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6Khvykb3n04f4X8yvWeBM0fWh9M.jpg/",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Peter De Rome"
+ ],
+ "plot" : "Part of BFI collection \"The Erotic Films of Peter de Rome.\"",
+ "rating" : 0,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "title" : "Mumbo Jumbo",
+ "movieid" : 201,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Mumbo Jumbo (1972).mp4",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Mumbo Jumbo"
+ },
+ {
+ "sorttitle" : "",
+ "imdbnumber" : "tt1694086",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {},
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Günther Ungeheuer",
+ "role" : "Armando Dentice",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Frau Riganò",
+ "name" : "Agnes Fink"
+ },
+ {
+ "name" : "Peter Pasetti",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flgh12MO7JB3vABSWg5KnzLB7xj3.jpg/",
+ "order" : 3,
+ "role" : "Professor Riganò"
+ },
+ {
+ "role" : "Dario",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyDhlR370YUNaSKBvuTbB5I9YZvz.jpg/",
+ "name" : "Jürgen Draeger"
+ },
+ {
+ "name" : "Matthias Ponnier",
+ "role" : "Leonardo",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Maria Singer"
+ }
+ ],
+ "studio" : [],
+ "label" : "Napoleon und Joghurt",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Crime"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 1971,
+ "top250" : 0,
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Napoleon und Joghurt",
+ "lastplayed" : "",
+ "movieid" : 202,
+ "title" : "Napoleon und Joghurt",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Napoleon und Joghurt (1971).mp4",
+ "plot" : "",
+ "rating" : 0,
+ "mpaa" : "",
+ "writer" : [],
+ "country" : [
+ "Germany"
+ ],
+ "director" : [
+ "Ceco Zamurovich"
+ ]
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqyy3UHWNcVfZ7E80vd9ukD1ZIxt.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt1872104",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqyy3UHWNcVfZ7E80vd9ukD1ZIxt.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkhUDz8zeSing6NU4xebkPsK1C8M.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "Napoli Dogs",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkhUDz8zeSing6NU4xebkPsK1C8M.jpg/",
+ "year" : 2006,
+ "genre" : [],
+ "movieid" : 266,
+ "title" : "Napoli Dogs",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Streuner (2015).mp4",
+ "lastplayed" : "",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Napoli Dogs",
+ "director" : [],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "Rated",
+ "plot" : "Documentary - A soap opera set in the charming harbour side of Naples. More resembling a feature film than a documentary we stylishly will follow the fate of a pack of street dogs as they struggle for survival. Love affairs and gang raids guaranteed!",
+ "rating" : 0
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Narrow Margin",
+ "studio" : [
+ "Universal Pictures"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Robert Caulfield",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqEKcmwc1XstymEniGuCs3KIsGfP.jpg/",
+ "name" : "Gene Hackman"
+ },
+ {
+ "name" : "Anne Archer",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1dEu7fqOSogHivUjnXRFnnaOJNR.jpg/",
+ "role" : "Carol Hunnicut",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiNUO38duu0gW91PIOQk3ffxaqXz.jpg/",
+ "name" : "James Sikking",
+ "role" : "Nelson (as James B. Sikking)",
+ "order" : 2
+ },
+ {
+ "role" : "Michael Tarlow",
+ "order" : 3,
+ "name" : "J. T. Walsh",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frJfkdcpmDROTSrSxh2vbnbFol6e.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdLf79xlsmE40rog0gryjxsZJzml.jpg/",
+ "name" : "M. Emmet Walsh",
+ "order" : 4,
+ "role" : "Sergeant Dominick Benti"
+ },
+ {
+ "order" : 5,
+ "role" : "Kathryn Weller",
+ "name" : "Susan Hogan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsBt0r86BsJE3rzxPIIqByfdC8gM.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwx1zmmpMi9luYFGzikSBIvwyDdR.jpg/",
+ "name" : "Nigel Bennett",
+ "order" : 6,
+ "role" : "Jack Wootton"
+ },
+ {
+ "name" : "J. A. Preston",
+ "role" : "Martin Larner",
+ "order" : 7
+ }
+ ],
+ "tagline" : "It will take you to the edge of suspense.",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuwopQ6gDXgdmgYZvhm5fNygzJCF.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1ATDMFvV5gCngdmIPvRVsLJbhhr.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1ATDMFvV5gCngdmIPvRVsLJbhhr.jpg/",
+ "imdbnumber" : "tt0100224",
+ "sorttitle" : "",
+ "director" : [
+ "Peter Hyams"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Peter Hyams",
+ "Earl Felton"
+ ],
+ "mpaa" : "Rated R",
+ "rating" : 5.30000019073486,
+ "plot" : "A Los Angeles District Attorney (Gene Hackman) is attempting to take an unwilling murder witness (Anne Archer) back to the United States from Canada to testify against a top-level mob boss. Frantically attempting to escape two deadly hit men sent to silence her, they board a Vancouver-bound train only to find the killers are on board with them. For the next 20 hours, as the train hurls through the beautiful but isolated Canadian wilderness, a deadly game of cat and mouse ensues in which their ability to tell friend from foe is a matter of life and death.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Narrow Margin (1990).mp4",
+ "movieid" : 203,
+ "title" : "Narrow Margin",
+ "lastplayed" : "",
+ "runtime" : 5820,
+ "originaltitle" : "Narrow Margin",
+ "playcount" : 0,
+ "top250" : 0,
+ "year" : 1990,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuwopQ6gDXgdmgYZvhm5fNygzJCF.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Action",
+ "Thriller",
+ "Crime",
+ "Mystery"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=fVaABnGMCCo",
+ "votes" : "10"
+ },
+ {
+ "mpaa" : "Rated R",
+ "rating" : 6.69999980926514,
+ "plot" : "As children, Kathy, Ruth, and Tommy spend their childhood at an idyllic and secluded English boarding school. As they grow into adults, they must come to terms with the complexity and strength of their love for one another while also preparing for the haunting reality awaiting them.",
+ "director" : [
+ "Mark Romanek"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "Alex Garland"
+ ],
+ "playcount" : 0,
+ "runtime" : 6240,
+ "originaltitle" : "Never Let Me Go",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Let Me Go (2011).mp4",
+ "title" : "Never Let Me Go",
+ "movieid" : 176,
+ "lastplayed" : "",
+ "genre" : [
+ "Drama",
+ "Romance",
+ "Science Fiction"
+ ],
+ "top250" : 0,
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi5sE6EINofvT7Xq0rpZz9jRbRMS.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "votes" : "263",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=sXiRZhDEo8A",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [
+ "Fox Searchlight Pictures"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcLodk7NrsmSXDkVeOJRqSqz8zPC.jpg/",
+ "name" : "Carey Mulligan",
+ "role" : "Kathy",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Tommy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flYzsWRuCdJqrOqWsc2ujzTKuVk5.jpg/",
+ "name" : "Andrew Garfield"
+ },
+ {
+ "role" : "Ruth",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7bDioZhus8QE2yZe0niPFnzBPpi.jpg/",
+ "name" : "Keira Knightley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvAvZLGZb6eik0DuIbLgqcSu9gRS.jpg/",
+ "name" : "Domhnall Gleeson",
+ "role" : "Rodney",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzQPFvKnNjmvpTb1SM66SBnOgth4.jpg/",
+ "name" : "Andrea Riseborough",
+ "order" : 4,
+ "role" : "Chrissie"
+ },
+ {
+ "name" : "Charlotte Rampling",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiuggCphmBfNoUFaUWfpJCTxX4e6.jpg/",
+ "role" : "Miss Emily",
+ "order" : 5
+ },
+ {
+ "role" : "Miss Lucy",
+ "order" : 6,
+ "name" : "Sally Hawkins",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmJwja9UjjNV7E6JQojMxiswvqXT.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frEtcyAA8q3GObOL99EYCJUpAEvF.jpg/",
+ "name" : "Izzy Meikle-Small",
+ "role" : "Young Kathy",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "Young Tommy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5RrPNhLGlA9Yc3VmPqDNpFA5aCv.jpg/",
+ "name" : "Charlie Rowe"
+ },
+ {
+ "order" : 9,
+ "role" : "Young Ruth",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3g0n8TEbQQpLT3ZEbSjlTO8lnK5.jpg/",
+ "name" : "Ella Purnell"
+ },
+ {
+ "order" : 10,
+ "role" : "Hannah",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fndlya4VREXguyeZYLP7OB3HHjzu.jpg/",
+ "name" : "Lydia Wilson"
+ },
+ {
+ "role" : "Madame",
+ "order" : 11,
+ "name" : "Nathalie Richard",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxIPFn1tutGeW3Q4900o5IWRfCip.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fryehH3OHgZY6RVEHzS1zNaU0qDR.jpg/",
+ "name" : "Christina Carrafiell",
+ "role" : "Laura",
+ "order" : 12
+ },
+ {
+ "name" : "Amy Lennox",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvgbWboJ3vD1cUXalHxmf9L2vXmk.jpg/",
+ "order" : 13,
+ "role" : "Sitcom Girl"
+ }
+ ],
+ "tagline" : "The students have everything they need. Except time",
+ "label" : "Never Let Me Go",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi5sE6EINofvT7Xq0rpZz9jRbRMS.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f91usy6D1cqS6xcj7t3gN6wfOBk3.jpg/"
+ },
+ "imdbnumber" : "tt1334260",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f91usy6D1cqS6xcj7t3gN6wfOBk3.jpg/"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "label" : "New York Street Games",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5p3O1IoTQggIjjuxf9ny0fBhiro.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1233332",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "plot" : "Documentary describing various street games played by children in New York.",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "runtime" : 0,
+ "originaltitle" : "New York Street Games",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "movieid" : 205,
+ "title" : "New York Street Games",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/New York Street Games (2010).mp4",
+ "genre" : [],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5p3O1IoTQggIjjuxf9ny0fBhiro.jpg/",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0086012",
+ "sorttitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The Night The Bridge Fell Down",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "James MacArthur",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft2DzrPh00QuOrCbdYzK4SggeG9H.jpg/",
+ "role" : "Cal Miller",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fytOfibb8mMNGF7qjbv62voioLSP.jpg/",
+ "name" : "Desi Arnaz Jr.",
+ "order" : 1,
+ "role" : "Johnny Pyle"
+ },
+ {
+ "name" : "Char Fontane",
+ "order" : 2,
+ "role" : "Dee"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwGFWVVIFCluds0tvaPSAQ86zVGa.jpg/",
+ "name" : "Richard Gilliland",
+ "role" : "Harvey Lewis",
+ "order" : 3
+ },
+ {
+ "role" : "Paul Warren",
+ "order" : 4,
+ "name" : "Leslie Nielsen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcZpuTfE1j63tCEXoSL2A7KZjk5d.jpg/"
+ },
+ {
+ "order" : 5,
+ "role" : "Terry Kelly",
+ "name" : "Eve Plumb",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2OACpDEDQe8i2OFVdixikAQ8rTR.jpg/"
+ },
+ {
+ "order" : 6,
+ "role" : "Elaine Howard",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fftuQ1T5jFYnK1jgZuX28YfwHPMY.jpg/",
+ "name" : "Barbara Rush"
+ },
+ {
+ "order" : 7,
+ "role" : "Diego Ramirez",
+ "name" : "Gregory Sierra",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flbF2GRIs3juRAzfevwsUOq5PzFF.jpg/"
+ },
+ {
+ "name" : "Colleen Davis",
+ "order" : 8,
+ "role" : "Judy"
+ },
+ {
+ "name" : "Philip Baker Hall",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feH7GrivSuLEvhJL85qPkhNvg3E7.jpg/",
+ "role" : "Warren Meech",
+ "order" : 9
+ }
+ ],
+ "tagline" : "",
+ "top250" : 0,
+ "year" : 1983,
+ "thumbnail" : "",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Georg Fenady"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Disaster movie that originally aired on television.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Night the Bridge Fell Down (1983).mp4",
+ "movieid" : 313,
+ "title" : "The Night The Bridge Fell Down",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 10800,
+ "originaltitle" : "The Night The Bridge Fell Down"
+ },
+ {
+ "imdbnumber" : "tt1789074",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fed32mogGJeNidGhhOLIi520EC98.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwCMXrVk0sPQD60PmmAtQfrotKxv.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fed32mogGJeNidGhhOLIi520EC98.jpg/"
+ },
+ "studio" : [
+ "BBC"
+ ],
+ "cast" : [
+ {
+ "name" : "Anna Maxwell Martin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frh3beeSyUKv7yAiyqEH2RnSDhh0.jpg/",
+ "role" : "Kay Langrish",
+ "order" : 0
+ },
+ {
+ "role" : "Helen Giniver",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcE6R6hil91rzKg3yj71czNsuK8K.jpg/",
+ "name" : "Claire Foy"
+ },
+ {
+ "role" : "Vivian Pearce",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1uCyLazOjo1mepIgagMQFTcfPOX.jpg/",
+ "name" : "Jodie Whittaker"
+ },
+ {
+ "name" : "Anna Wilson-Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAnj9obNL0R8PTD1gVcYDWAfZlSv.jpg/",
+ "role" : "Julia Standing",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjqnSVR4J3aCaPBKeSfApJh9ntiN.jpg/",
+ "name" : "Harry Treadaway",
+ "role" : "Duncan Pearce",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv02raCaKQpZTP9pULehv4JaXe11.jpg/",
+ "name" : "Claudie Blakley",
+ "role" : "Nancy Carmichael",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "Horace Mundy",
+ "name" : "Kenneth Cranham",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAbtqNZRiacTCjINwGNxAOKhOOKr.jpg/"
+ },
+ {
+ "order" : 9,
+ "role" : "Iris Knight",
+ "name" : "Jenna Augen"
+ },
+ {
+ "name" : "Neal Barry",
+ "order" : 10,
+ "role" : "Mr. Bryant"
+ },
+ {
+ "order" : 11,
+ "role" : "Policeman",
+ "name" : "Richard Cambridge"
+ },
+ {
+ "order" : 12,
+ "role" : "Jack Brown",
+ "name" : "Tom Weston-Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fGqRGjS46h2NT1cXh0vGy6htp7A.jpg/"
+ },
+ {
+ "role" : "Reggie Nigri",
+ "order" : 13,
+ "name" : "Liam Garrigan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffWAEUMTWeJVxFuAGIunzK0a6EGP.jpg/"
+ },
+ {
+ "order" : 14,
+ "role" : "Robert Fraser",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzxibNg37bvNHqpttpP2q9OSQpms.jpg/",
+ "name" : "J. J. Feild"
+ }
+ ],
+ "tagline" : "",
+ "label" : "The Night Watch",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "2",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=AUOxVAeb8Ec",
+ "genre" : [
+ "Drama",
+ "War",
+ "Romance",
+ "TV Movie"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwCMXrVk0sPQD60PmmAtQfrotKxv.jpg/",
+ "year" : 2011,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "runtime" : 5340,
+ "playcount" : 0,
+ "originaltitle" : "The Night Watch",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Watch (2011).mp4",
+ "title" : "The Night Watch",
+ "movieid" : 326,
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "rating" : 4.30000019073486,
+ "plot" : "Set against the turbulent backdrop of London in the 1940s, this adaptation of Sarah Waters' bestselling novel, The Night Watch, follows four young Londoners inextricably linked by their wartime experiences. In a time when the barriers of sexual morality and social convention have been broken down, Kay, Helen, Viv and Duncan enjoy a freedom never experienced before. Moving back in time through the 1940s into the maelstrom of the Blitz, the lives, loves and losses of these four central characters are unravelled. For them, the post-war victory is bittersweet, for it returns them to the margins of society, from which they hoped they had been liberated. In order to build their future they must each make peace with their past.",
+ "director" : [
+ "Richard Laxton"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "Paula Milne"
+ ]
+ },
+ {
+ "votes" : "3",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=TjN-g-xy1Bs",
+ "genre" : [
+ "Drama"
+ ],
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1947,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3V2TLdDTRXi96g9rK7z1aWja3fa.jpg/",
+ "top250" : 0,
+ "playcount" : 0,
+ "runtime" : 6600,
+ "originaltitle" : "Nightmare Alley",
+ "lastplayed" : "",
+ "movieid" : 165,
+ "title" : "Nightmare Alley",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Le charlatan (1981).mp4",
+ "plot" : "The movie follows the rise and fall of a con man — a story that begins and ends at a seedy travelling carnival. Stanton Carlisle (Tyrone Power) joins the carnival, working with \"Mademoiselle Zeena\" (Joan Blondell) and her alcoholic husband, Pete (Ian Keith).",
+ "rating" : 6.19999980926514,
+ "mpaa" : "Rated",
+ "writer" : [
+ "Jules Furthman"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Edmund Goulding"
+ ],
+ "sorttitle" : "",
+ "imdbnumber" : "tt0039661",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbb0qBNZ68nXnt4okIAoZhW6DOUW.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbb0qBNZ68nXnt4okIAoZhW6DOUW.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3V2TLdDTRXi96g9rK7z1aWja3fa.jpg/"
+ },
+ "tagline" : "He was all things to all men ... but only one thing to all women!",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faLpInX9KhZQWnTcg9goiVDNCD7G.jpg/",
+ "name" : "Tyrone Power",
+ "order" : 0,
+ "role" : "Stanton 'Stan' Carlisle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2KnL9VyFPBxZ4xIxpvCUTMicVY2.jpg/",
+ "name" : "Joan Blondell",
+ "role" : "Zeena Krumbein",
+ "order" : 1
+ },
+ {
+ "role" : "Molly",
+ "order" : 2,
+ "name" : "Coleen Gray",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foQhVm1YUKaAAAT9TcBJ8RtrUuZS.jpg/"
+ },
+ {
+ "name" : "Helen Walker",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk1eYecl9GBDph7xi7NO5NPJYIbY.jpg/",
+ "role" : "Lilith Ritter",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdmdGm5SHP6gJDbbANZMHTrYM4Kn.jpg/",
+ "name" : "Taylor Holmes",
+ "role" : "Ezra Grindle",
+ "order" : 4
+ },
+ {
+ "name" : "Mike Mazurki",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs1alibwL5JiBhBNZQGiN91Hccc3.jpg/",
+ "role" : "Bruno",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Pete Krumbein",
+ "name" : "Ian Keith",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f19ADvpSyq79YBa2p0vNTgBzuu6g.jpg/"
+ },
+ {
+ "role" : "McGraw - Final Carnival Owner (uncredited)",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzKGk6q2As8QFkE4V0OHD3JmF4yA.jpg/",
+ "name" : "Roy Roberts"
+ }
+ ],
+ "studio" : [
+ "Twentieth Century Fox Film Corporation"
+ ],
+ "label" : "Nightmare Alley",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Nights of the Werewolf",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Waldemar Daninsky / Werewolf",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frirpFEpdVUbpBE7ltOzdIzKGjWO.jpg/",
+ "name" : "Paul Naschy"
+ },
+ {
+ "name" : "Peter Beaumont",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Monique Brainville"
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Beba Novak"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Helene Vatelle"
+ }
+ ],
+ "tagline" : "",
+ "art" : {},
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0063362",
+ "sorttitle" : "",
+ "director" : [
+ "René Govar"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "1968 Spanish horror film that is the second in a long series about the werewolf Count Waldemar Daninsky, played by Paul Naschy. The film is considered a lost film. It apparently was never theatrically released, nor has it ever turned up on video. Since Naschy insisted the script was filmed, it has come to be referred to as the second of the 12 Waldemar Daninsky werewolf movies, even though no one has ever seen it. To make matters even stranger, the lead actors whom Naschy attributed to this film (Peter Beaumont and Monique Brainville) apparently never existed. The \"French director\" Rene Govar seems to have directed only this one film as he has no other credits under his name on imdb.com. This is why most Naschy fans regard this movie listing as a hoax, some thinking that Naschy may even have made it up to boost his resume at a time when he was just starting out in the industry.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Las noches del Hombre Lobo (1968).mp4",
+ "title" : "Nights of the Werewolf",
+ "movieid" : 163,
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Las noches del Hombre Lobo",
+ "top250" : 0,
+ "year" : 1968,
+ "thumbnail" : "",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Horror"
+ ],
+ "trailer" : "",
+ "votes" : "0"
+ },
+ {
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxsgTmWEo6ZUO7aFFCM5IP8VUnqg.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6g2sf8XGgaZQhYp5w2e62jkDUY0.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxsgTmWEo6ZUO7aFFCM5IP8VUnqg.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt2523882",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Ninpuu Sentai Hurricaneger Shushuuto: The Movie",
+ "tagline" : "",
+ "studio" : [
+ "Toei Company, Ltd."
+ ],
+ "cast" : [
+ {
+ "name" : "Shun Shioya",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f55DOaXEgiUma7MV45udnuTuQJho.jpg/",
+ "order" : 1,
+ "role" : "Yousuke Shiina / Hurricane Red"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxtODSnQduxl4LQAfY4GhVG3Zhbz.jpg/",
+ "name" : "Nao Nagasawa",
+ "order" : 2,
+ "role" : "Nanami Nono / Hurricane Blue"
+ },
+ {
+ "name" : "Kohei Yamamoto",
+ "role" : "Kouta Bitou / Hurricane Yellow",
+ "order" : 3
+ },
+ {
+ "name" : "Yujiro Shirakawa",
+ "role" : "Ikkou Kasumi / KabutoRaiger",
+ "order" : 4
+ },
+ {
+ "name" : "Nobuo Kyô",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyGCWVY3F2nTYb3LtBCw6zKxZUrY.jpg/",
+ "order" : 5,
+ "role" : "Isshu Kasumi / KuwagaRaiger"
+ },
+ {
+ "role" : "Shurikenger (voice)",
+ "order" : 6,
+ "name" : "Taiki Matsuno"
+ }
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6g2sf8XGgaZQhYp5w2e62jkDUY0.jpg/",
+ "year" : 2002,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Action",
+ "Adventure",
+ "Science Fiction"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=oL15-v7VtcA",
+ "votes" : "2",
+ "country" : [
+ "Japan"
+ ],
+ "writer" : [
+ "Junichi Miyashita"
+ ],
+ "director" : [
+ "Katsuya Watanabe"
+ ],
+ "rating" : 4.30000019073486,
+ "plot" : "The second film outing of the Hurricaneger team. Hurricaneger the theatrical movie introduces new, original hardware and characters, including \"Tenrai Senpuujin,\" the Gattai Robot. Sayaka Yoshino guest stars!",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Ninpu (1992).mp4",
+ "movieid" : 314,
+ "title" : "Ninpuu Sentai Hurricaneger Shushuuto: The Movie",
+ "runtime" : 1800,
+ "originaltitle" : "忍風戦隊ハリケンジャー シュシュッと THE MOVIE",
+ "playcount" : 0
+ },
+ {
+ "genre" : [],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fekgCV9q4RiMQ0vafdFU3gROfNW4.jpg/",
+ "year" : 1960,
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "A kindly woman offers to have her son marry a 17-year-old Jewish girl to protect her from the Nazis. Her son was raised Catholic and would provide a good cover. Unfortunately, he initially rebels and as a result is teased by his friends and ex-girl. He then marries her and eventually comes to love her. But then the Nazis come and arrest her anyway. They take her to a concentration camp and force her to work as a prostitute. Her husband follows and stays nearby. A friend of his runs the camp, and the husband sneaks into camp to try to save her. But she is too weak to scale the barbed wire fence. He then takes her hand and together they are electrocuted on the fence.",
+ "rating" : 0,
+ "director" : [
+ "France Štiglic"
+ ],
+ "writer" : [],
+ "country" : [],
+ "originaltitle" : "Deveti krug",
+ "runtime" : 6420,
+ "playcount" : 0,
+ "movieid" : 315,
+ "title" : "The Ninth Circle",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Ninth Circle (2007).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fekgCV9q4RiMQ0vafdFU3gROfNW4.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0053764",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "The Ninth Circle"
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Nirdoshi (1951).mp4",
+ "movieid" : 208,
+ "title" : "Nirdoshi",
+ "runtime" : 0,
+ "originaltitle" : "Nirdoshi",
+ "playcount" : 0,
+ "country" : [],
+ "writer" : [],
+ "director" : [],
+ "rating" : 0,
+ "plot" : "Dada Mirasi film starring Anjali Devi, Gitanjali and Satyanarayana Kaikala",
+ "mpaa" : "Rated",
+ "trailer" : "",
+ "votes" : "0",
+ "thumbnail" : "",
+ "year" : 1970,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "label" : "Nirdoshi",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0263796",
+ "sorttitle" : "",
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "originaltitle" : "No Fighting in the War Room Or: Dr Strangelove and the Nuclear Threat",
+ "runtime" : 1800,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Fight Room (2014).mp4",
+ "title" : "No Fighting in the War Room Or: Dr Strangelove and the Nuclear Threat",
+ "movieid" : 295,
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "A documentary exploring the historical concept of the narrative of Stanley Kubrick's 1964 film Dr. Strangelove Or: How I Learned to Stop Worrying and Love The Bomb. This short documentary compares the film with the actual events concerning the Cold War and the Cuban Missle Crisis.",
+ "director" : [
+ "John Scheinfeld"
+ ],
+ "country" : [],
+ "writer" : [
+ "John Scheinfeld"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Documentary"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqluoiQOGVXBtlfrfrfTRTq0RSZW.jpg/",
+ "year" : 2004,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "No Fighting in the War Room Or: Dr Strangelove and the Nuclear Threat",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt0445088",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqluoiQOGVXBtlfrfrfTRTq0RSZW.jpg/"
+ }
+ },
+ {
+ "year" : 1950,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw3ASPv3yTKfTv7FJX6dFhzct9m1.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "William Witney"
+ ],
+ "rating" : 0,
+ "plot" : "An Indian agent comes to the rescue when a local tribe's fishing rights are threatened by a greedy cannery owner.",
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/North of the Great Divide (1950).mp4",
+ "movieid" : 209,
+ "title" : "North of the Great Divide",
+ "originaltitle" : "North of the Great Divide",
+ "runtime" : 4020,
+ "playcount" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fw3ASPv3yTKfTv7FJX6dFhzct9m1.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt0042795",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "North of the Great Divide",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Roy Rogers",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnN2lY6Ir6RsFHlYDCRfMXQoitZZ.jpg/",
+ "name" : "Roy Rogers"
+ },
+ {
+ "role" : "Ann Keith",
+ "order" : 1,
+ "name" : "Penny Edwards",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6h59pi2ODWCetnLKHB6paVfsQ9E.jpg/"
+ },
+ {
+ "name" : "Gordon Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn7oKUjkFuwZeZt8dBVqABEYRfLq.jpg/",
+ "order" : 2,
+ "role" : "Splinters McGonagle"
+ },
+ {
+ "name" : "Roy Barcroft",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo6YQnxB8loAwdxQImU6vgHE6bMX.jpg/",
+ "role" : "Banning",
+ "order" : 3
+ },
+ {
+ "name" : "Jack Lambert",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffEKgNtClreXTBECWDxEPGGLpdZK.jpg/",
+ "role" : "Stagg",
+ "order" : 4
+ }
+ ]
+ },
+ {
+ "writer" : [
+ "James Richards"
+ ],
+ "country" : [],
+ "director" : [
+ "James Richards"
+ ],
+ "plot" : "This work is comprised of rhythmic assemblings of sounds and images extracted from various sources, including the internet and DVDs, as well as diaristic material gathered by the artist and his friends. Various light distortions created with a small portable video camera add further texture to the work.",
+ "rating" : 0,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "movieid" : 179,
+ "title" : "Not Blacking Out, Just Turning The Lights Off",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Lights Out (2011).mp4",
+ "runtime" : 960,
+ "playcount" : 0,
+ "originaltitle" : "Not Blacking Out, Just Turning The Lights Off",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "",
+ "year" : 2011,
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Not Blacking Out, Just Turning The Lights Off",
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "art" : {},
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2721252"
+ },
+ {
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj5sRjfQbNAohadKAntmUwT4xfuE.jpg/",
+ "imdbnumber" : "tt3110958",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyRLnriehQfCBsGzr5sAPd4lBG4k.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj5sRjfQbNAohadKAntmUwT4xfuE.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Now You See Me 2",
+ "studio" : [
+ "Summit Entertainment"
+ ],
+ "cast" : [
+ {
+ "role" : "Dylan Rhodes",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fisQ747u0MU8U9gdsNlPngjABclH.jpg/",
+ "name" : "Mark Ruffalo"
+ },
+ {
+ "role" : "Merritt McKinney",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1ecdooAHICUhCZKKEKlFtccEmTU.jpg/",
+ "name" : "Woody Harrelson"
+ },
+ {
+ "name" : "Jesse Eisenberg",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc01G88eCpiLLmT4RIWGkr7nm31o.jpg/",
+ "role" : "J. Daniel Atlas",
+ "order" : 3
+ },
+ {
+ "role" : "Jack Wilder",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvYwZ1ipGWDS4efes5GLuXgt1COi.jpg/",
+ "name" : "Dave Franco"
+ },
+ {
+ "role" : "Thaddeus Bradley",
+ "order" : 5,
+ "name" : "Morgan Freeman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foGJQhOpT8S1M56tvSsbEBePV5O1.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvvj0JMSFpOajXCE46Hy4dyqSP2U.jpg/",
+ "name" : "Michael Caine",
+ "order" : 6,
+ "role" : "Arthur Tressler"
+ },
+ {
+ "order" : 7,
+ "role" : "Lula",
+ "name" : "Lizzy Caplan",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f71016.jpg/"
+ },
+ {
+ "role" : "Walter",
+ "order" : 8,
+ "name" : "Daniel Radcliffe",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkMSMa5tR43TLMR14ahU1neFVytz.jpg/"
+ },
+ {
+ "role" : "Li",
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fg2fvgW2IVgLHt988eYoAl0REILQ.jpg/",
+ "name" : "Jay Chou"
+ },
+ {
+ "order" : 10,
+ "role" : "Allen Scott-Frank",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcO8PvsG3vzIvcoXGwTs6DQqaz7m.jpg/",
+ "name" : "Henry Lloyd-Hughes"
+ },
+ {
+ "role" : "Natalie Austin",
+ "order" : 11,
+ "name" : "Sanaa Lathan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhNGPCe0q8prMkBebLzpi2vBwEWr.jpg/"
+ },
+ {
+ "role" : "Zoey Taylor",
+ "order" : 12,
+ "name" : "Justine Wachsberger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4bYfZWuo7QyORXI6BLJ8MEugdao.jpg/"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=6VjpBQiyGZM",
+ "votes" : "6",
+ "top250" : 0,
+ "year" : 2016,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyRLnriehQfCBsGzr5sAPd4lBG4k.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Thriller",
+ "Action",
+ "Comedy"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Second Act (2008).mp4",
+ "movieid" : 248,
+ "title" : "Now You See Me 2",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Now You See Me 2",
+ "director" : [
+ "Jon M. Chu"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Pete Chiarelli",
+ "Ed Solomon"
+ ],
+ "mpaa" : "Rated",
+ "rating" : 7.90000009536743,
+ "plot" : "One year after outwitting the FBI and winning the public’s adulation with their mind-bending spectacles, the Four Horsemen resurface in Now You See Me: The Second Act only to find themselves face to face with a new enemy who enlists them to pull off their most dangerous heist yet."
+ },
+ {
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "art" : {},
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "The Olive tree of Boul'hivet",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "",
+ "votes" : "0",
+ "thumbnail" : "",
+ "year" : 1978,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/L'olivier (1926).mp4",
+ "title" : "The Olive tree of Boul'hivet",
+ "movieid" : 155,
+ "originaltitle" : "L'olivier de Boul'hilet",
+ "runtime" : 0,
+ "playcount" : 0,
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Mohamed Nadir Azizi"
+ ],
+ "rating" : 0,
+ "plot" : "Directed by Mohamed Nadir Azizi.",
+ "mpaa" : ""
+ },
+ {
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1jrXMIkLdcNH3TBXrWmlzVQCuXC.jpg/",
+ "year" : 2003,
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Zvonimir Jurić"
+ ],
+ "writer" : [
+ "Zvonimir Jurić"
+ ],
+ "country" : [
+ "Croatia"
+ ],
+ "mpaa" : "",
+ "plot" : "A strange individual creature without defined sexual orientation enters the life of disunited spouses.",
+ "rating" : 0,
+ "title" : "The One Who Will Stay Unnoticed",
+ "movieid" : 341,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Unnoticed (2013).mp4",
+ "lastplayed" : "",
+ "originaltitle" : "Onaj koji će ostati neprimjećen",
+ "runtime" : 5520,
+ "playcount" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1jrXMIkLdcNH3TBXrWmlzVQCuXC.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0374925",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The One Who Will Stay Unnoticed",
+ "cast" : [
+ {
+ "name" : "Nataša Dangubić",
+ "order" : 0,
+ "role" : ""
+ },
+ {
+ "name" : "Asja Jovanović",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frMyZ86hw4W3wW1SrB8Gtvu7iCx6.jpg/",
+ "order" : 1,
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcPWaSW9WCiuMPuOaTisuzQAv9ip.jpg/",
+ "name" : "Daria Lorenci Flatz",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgsw9sFV0Su0ObGJy5SMiLQOHHs6.jpg/",
+ "name" : "Krešimir Mikić"
+ },
+ {
+ "name" : "Bojan Navojec",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4UECoTNNqbM8bNExWz3cVrPqfDj.jpg/",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Rakan Rushaidat",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4gqBZwY56bsJMS0LDkRZyk9Kroa.jpg/",
+ "order" : 5,
+ "role" : ""
+ }
+ ],
+ "studio" : [
+ "Propeler Film"
+ ],
+ "tagline" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Only Lovers Left Alive",
+ "tagline" : "",
+ "studio" : [
+ "Pandora Film"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Adam",
+ "name" : "Tom Hiddleston",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frA0aS2GACY2fwrc7mEJR3f5k5FD.jpg/"
+ },
+ {
+ "order" : 1,
+ "role" : "Eve",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feGNo9qwlunvAi4kCVUEFtQFM5X.jpg/",
+ "name" : "Tilda Swinton"
+ },
+ {
+ "order" : 2,
+ "role" : "Ava",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9vjaqsaoW9jzRaWMnbZ06g9KTgP.jpg/",
+ "name" : "Mia Wasikowska"
+ },
+ {
+ "role" : "Marlowe",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frpuH2YRLpxJjMxHq4T1QdOSVtlN.jpg/",
+ "name" : "John Hurt"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcUlF4fJMOYclUHA3bTFwlgFKNaH.jpg/",
+ "name" : "Anton Yelchin",
+ "role" : "Ian",
+ "order" : 4
+ },
+ {
+ "role" : "Bilal",
+ "order" : 5,
+ "name" : "Slimane Dazi"
+ },
+ {
+ "name" : "Jeffrey Wright",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwBh9rwK3aRr1hCrSRLxxPHKzGeU.jpg/",
+ "role" : "Dr. Watson",
+ "order" : 6
+ },
+ {
+ "role" : "Adam's Fan",
+ "order" : 7,
+ "name" : "Cody Stauber"
+ },
+ {
+ "order" : 8,
+ "role" : "Taxi Driver",
+ "name" : "Ali Amine"
+ }
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAfIr2ZUwAW3E5qBPfrJGDyKufAl.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5qoIoGjYm5APqRVTNwhG6JbbfPN.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5qoIoGjYm5APqRVTNwhG6JbbfPN.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt1714915",
+ "sorttitle" : "",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Jim Jarmusch"
+ ],
+ "director" : [
+ "Jim Jarmusch"
+ ],
+ "rating" : 7.09999990463257,
+ "plot" : "After being around for centuries and now living in the modern age, vampire Adam is a rockstar that cannot grow accustomed to the new modern world with all of its new technology. While he lives in Detroit, his wife Eve lives in Tangier, flourishing in the new world. But when she senses Adam's depression with society, she gets on a plane and goes to see him. Shortly after Eve gets there, her little sister, Ava, shows up after 87 years and disrupts the couple's idyll reunion.",
+ "mpaa" : "Rated R",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Only Lovers Left Alive (2013).mp4",
+ "title" : "Only Lovers Left Alive",
+ "movieid" : 213,
+ "playcount" : 0,
+ "runtime" : 7380,
+ "originaltitle" : "Only Lovers Left Alive",
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAfIr2ZUwAW3E5qBPfrJGDyKufAl.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Drama",
+ "Horror",
+ "Romance"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=ycOKvWrwYFo",
+ "votes" : "245"
+ },
+ {
+ "lastplayed" : "",
+ "movieid" : 316,
+ "title" : "The Only Man",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Only Man (1915).mp4",
+ "runtime" : 1320,
+ "originaltitle" : "The Only Man",
+ "playcount" : 0,
+ "writer" : [],
+ "country" : [
+ "Spain"
+ ],
+ "director" : [
+ "Jos Man"
+ ],
+ "plot" : "The story chronicles the last days of a man, victim of an epidemic that has turned mankind into degenerate beings void of consciousness; trying to keep his sanity he fights alone against the disease. Though strong in his will to overcome it, he will fall victim before he is aware of it.",
+ "rating" : 0,
+ "mpaa" : "",
+ "trailer" : "",
+ "votes" : "0",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9f5PdFShABMG0cabjehFMVtyyt8.jpg/",
+ "year" : 2013,
+ "top250" : 0,
+ "genre" : [
+ "Drama",
+ "Fantasy",
+ "Mystery"
+ ],
+ "label" : "The Only Man",
+ "tagline" : "",
+ "cast" : [
+ {
+ "role" : "Tom",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvmH4AAJTRZxPgM8lhTO1FM6xy1l.jpg/",
+ "name" : "Timothy Gibbs"
+ },
+ {
+ "name" : "Molly Malcolm",
+ "order" : 1,
+ "role" : "Sarah"
+ },
+ {
+ "name" : "Alfredo Meixide",
+ "order" : 2,
+ "role" : "Infected"
+ },
+ {
+ "role" : "Infected",
+ "order" : 3,
+ "name" : "Isaac Forteza"
+ },
+ {
+ "role" : "Soldier",
+ "order" : 4,
+ "name" : "Simon Brading"
+ },
+ {
+ "name" : "Mitch Berman",
+ "role" : "Soldier",
+ "order" : 5
+ }
+ ],
+ "studio" : [
+ "Proddigi Films"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt3119792",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9f5PdFShABMG0cabjehFMVtyyt8.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : []
+ },
+ {
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa0qDJYeZwlwRO7DCMsJrr8JjCoH.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyX2cjE5ixeIeANgsCsuzF9PVodP.jpg/"
+ },
+ "imdbnumber" : "tt0897434",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyX2cjE5ixeIeANgsCsuzF9PVodP.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Himself",
+ "name" : "Ozzy Osbourne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9EkHsyIW3xjch0MJ6LtrvMmGhdL.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftISENyjIYi2ueZjSlSZi9Q9lecm.jpg/",
+ "name" : "Sharon Osbourne",
+ "order" : 1,
+ "role" : "Herself"
+ },
+ {
+ "role" : "Himself",
+ "order" : 2,
+ "name" : "Jack Osbourne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f77NlIz2ZmhJoToQrGjhfz93SRCt.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "Herself",
+ "name" : "Jada Pinkett Smith",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9F9om3LeN7xM1yPcUn9e2qSpkDh.jpg/"
+ },
+ {
+ "name" : "Anthrax",
+ "order" : 4,
+ "role" : "Themselves"
+ },
+ {
+ "order" : 5,
+ "role" : "Themselves",
+ "name" : "Black Sabbath"
+ },
+ {
+ "name" : "Slash",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5hhD7gG5XWvGa5BZ6vKNitX1J3V.jpg/",
+ "role" : "Himself",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyolAZ3yukTNn6N7SPBDadHnz7SK.jpg/",
+ "name" : "Rob Zombie",
+ "order" : 7,
+ "role" : "Himself"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Ozzfest 10th Anniversary",
+ "genre" : [
+ "Comedy",
+ "Music"
+ ],
+ "top250" : 0,
+ "year" : 2005,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa0qDJYeZwlwRO7DCMsJrr8JjCoH.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "The longest running rock tour in history comes home at last – on DVD w/ a live CD too – celebrating 10 years on the road! Go inside the Ozzfest Tour’s 10th year, with 60,000 fans at the UK show to the 103º heat of the back lots in Camden, NJ. Ozzy, Sharon & Jack turn out to show, and tell, how a simple idea became one of rock’s biggest festivals. The artists and fans of Ozzfest became a mush of togetherness and the music, well, that’s what it’s all about! Ozzy and his festival are now multi-generational and fans, young and old, show up to prove it. The DVD offers the whole story OR a \"play concert only\" feature. Like Ozzfest, it is ALL about the fan experience.",
+ "director" : [],
+ "country" : [],
+ "writer" : [],
+ "runtime" : 9000,
+ "originaltitle" : "Ozzfest 10th Anniversary",
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Ozzfest: 10th Anniversary (2005).mp4",
+ "title" : "Ozzfest 10th Anniversary",
+ "movieid" : 214,
+ "lastplayed" : ""
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqL8kR0DMhpdrz0CgK8PVWhou75T.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt2933004",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Biljana Mišić",
+ "role" : "Sanja",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2x2PhREg2wf1MxZzqGvEY0zOVjd.jpg/",
+ "name" : "Nebojša Milovanović",
+ "order" : 2,
+ "role" : "Profesor"
+ },
+ {
+ "order" : 3,
+ "role" : "Jovan",
+ "name" : "Slaven Došlo"
+ },
+ {
+ "order" : 4,
+ "role" : "Maja",
+ "name" : "Jovana Stojiljković"
+ },
+ {
+ "role" : "Milan",
+ "order" : 5,
+ "name" : "Miloš Pjevač"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2voWEMHQOLF7Tg6y0vZdaLsMQfU.jpg/",
+ "name" : "Tamara Dragičević",
+ "order" : 6,
+ "role" : "Sandra"
+ },
+ {
+ "name" : "Jelisaveta Orašanin",
+ "order" : 7,
+ "role" : "Milica"
+ }
+ ],
+ "studio" : [
+ "Collapse films"
+ ],
+ "tagline" : "",
+ "label" : "Panama",
+ "genre" : [
+ "Thriller",
+ "Drama"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqL8kR0DMhpdrz0CgK8PVWhou75T.jpg/",
+ "year" : 2015,
+ "votes" : "1",
+ "trailer" : "",
+ "mpaa" : "",
+ "plot" : "A thriller that depicts how digital communication, pornography and vanity obstruct true emotions and love.",
+ "rating" : 4,
+ "director" : [
+ "Pavle Vučković"
+ ],
+ "writer" : [
+ "Pavle Vučković",
+ "Jelena Vuksanović"
+ ],
+ "country" : [
+ "Serbia"
+ ],
+ "runtime" : 6300,
+ "playcount" : 0,
+ "originaltitle" : "Panama",
+ "movieid" : 215,
+ "title" : "Panama",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Panam (1952).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A toda costa (1984).mp4",
+ "title" : "Paris à tout prix",
+ "movieid" : 11,
+ "lastplayed" : "",
+ "originaltitle" : "Paris à tout prix",
+ "runtime" : 5700,
+ "playcount" : 0,
+ "director" : [
+ "Reem Kherici"
+ ],
+ "country" : [
+ "France"
+ ],
+ "writer" : [
+ "Reem Kherici"
+ ],
+ "mpaa" : "Rated G",
+ "rating" : 5.69999980926514,
+ "plot" : "Maya is living the ultimate fashionistas dream: she is working as a stylist for one of the French trend setters, in the capital of haute-couture: Paris. One of the IT girls of fashion, shes following her dreams until one night, when her life takes a sudden turn: shes being deported back to Morocco, after being stopped for over speeding, because her Visa expired some time ago. So in no more than 24 hours, shes deported back to her family and original country. The strong cultural shock and the judgmental differences are pushing the woman to obtain back her place in the city of dreams and her dreams, no matter the costs. But that doesn't mean she will have to return alone, as she finds other things also among her way back to the city.",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=y5tm-QmkydU",
+ "votes" : "40",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faHlFxvtJcEIeyXxbUpaptmQDetU.jpg/",
+ "year" : 2013,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy"
+ ],
+ "label" : "Paris à tout prix",
+ "studio" : [
+ "Mandarin Films"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9ivM4ugrzCAuSxhsropHXjUyEBk.jpg/",
+ "name" : "Reem Kherici",
+ "role" : "Maya",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Tarek",
+ "name" : "Tarek Boudali",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkxZDvHShgONqXNyZzdeOGm4Wq47.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdylkkcSDHbBTGLYOgS2o74aUs06.jpg/",
+ "name" : "Cécile Cassel",
+ "role" : "Alexandra",
+ "order" : 2
+ },
+ {
+ "role" : "Firmin",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc7uygPak9MLfOa6WCTv46ir7muW.jpg/",
+ "name" : "Philippe Lacheau"
+ },
+ {
+ "role" : "Emma",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fppPy7DggwSeTrXwgmiWlXyZ62sv.jpg/",
+ "name" : "Shirley Bousquet"
+ },
+ {
+ "role" : "Medhi",
+ "order" : 5,
+ "name" : "Salim Kechiouche",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fr6RiOVg1ycVWHQclgqGRHLm2voF.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6jvSD50ZebWufJ6oc0KCFyz2x7H.jpg/",
+ "name" : "Stéphane Rousseau",
+ "role" : "Nicolas",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Marine",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnOHQj7sRl7kjOwZKwarZR0a7U8f.jpg/",
+ "name" : "Joséphine Drai"
+ },
+ {
+ "role" : "Jess",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs3Cv5Z11yhrUqBP9cMcLZ6J4cRQ.jpg/",
+ "name" : "Pom Klementieff"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkvzpAnvRHuMBDUO8Z3mMeWhSHe9.jpg/",
+ "imdbnumber" : "tt2420886",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkvzpAnvRHuMBDUO8Z3mMeWhSHe9.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faHlFxvtJcEIeyXxbUpaptmQDetU.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : []
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgtEQEVG3vRR3uoeTQyuOnVvZNLr.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0366880",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgtEQEVG3vRR3uoeTQyuOnVvZNLr.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyC1wSdNEQde8ozmYVXLoN0Rvvq2.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Parwana",
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Parwana",
+ "name" : "Ajay Devgan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flf1Nu2SXX5YO5xDy9GLkmd7GUod.jpg/"
+ },
+ {
+ "role" : "Parwana's associate",
+ "order" : 2,
+ "name" : "Pooja Batra",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbQXh6U50xnE8mEjsiTWPCo6LqJX.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwfkTEEzWyLXLpbr3RKLKk1K0vKp.jpg/",
+ "name" : "Jagdeep",
+ "role" : "Seth Malpani",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Ismailbhai Muskurahat",
+ "name" : "Kader Khan",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjDUDCbclh7CGPowDE8HQAf4PwZi.jpg/"
+ },
+ {
+ "role" : "Inspector Hardev Singh Haryanvi",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn0QGJBy2qDByMjBMYN8Zg2sZEWy.jpg/",
+ "name" : "Sadashiv Amrapurkar"
+ },
+ {
+ "order" : 6,
+ "role" : "Inspector Tode",
+ "name" : "Gulshan Grover",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbGcwuGr8TXRbxoXX4Uzhx0E8G8D.jpg/"
+ },
+ {
+ "role" : "Shahtaj",
+ "order" : 7,
+ "name" : "Sharat Saxena",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7cytp6HHdg04SUsxEivDOqn7D3N.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqTSBi1eBGVvtrrFiA5K2WlD9dXe.jpg/",
+ "name" : "Sayaji Shinde",
+ "order" : 8,
+ "role" : "Yashwantrao Waghmare"
+ },
+ {
+ "role" : "Police Commissioner Tyagi",
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzfSFdrMsPtTNF7UUQHN4mq4e3wm.jpg/",
+ "name" : "Akhilendra Mishra"
+ },
+ {
+ "role" : "P.P. Yadav",
+ "order" : 10,
+ "name" : "Nawab Shah"
+ },
+ {
+ "name" : "Ketki Dave",
+ "order" : 11,
+ "role" : "Kamini Haryanvi"
+ },
+ {
+ "name" : "Sanjay Swaraj",
+ "order" : 12,
+ "role" : ""
+ },
+ {
+ "name" : "Gajendra Chouhan",
+ "order" : 13,
+ "role" : "Ganesh fest dancer / singer"
+ },
+ {
+ "name" : "Raj Tilak",
+ "order" : 14,
+ "role" : ""
+ },
+ {
+ "name" : "Ameesha Patel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa1QFxr63mUw45gfmUMIdHScoyBP.jpg/",
+ "role" : "Pooja",
+ "order" : 15
+ }
+ ],
+ "studio" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "",
+ "votes" : "1",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyC1wSdNEQde8ozmYVXLoN0Rvvq2.jpg/",
+ "year" : 2003,
+ "top250" : 0,
+ "genre" : [],
+ "lastplayed" : "",
+ "title" : "Parwana",
+ "movieid" : 216,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Parwana (2003).mp4",
+ "runtime" : 7200,
+ "playcount" : 0,
+ "originaltitle" : "Parwana",
+ "writer" : [
+ "Rajeev Kaul",
+ "Praful Parekh"
+ ],
+ "country" : [
+ "India"
+ ],
+ "director" : [
+ "Deepak Bahry"
+ ],
+ "plot" : "A con-man/thief robs a suitcase containing explosives belonging to terrorists.",
+ "rating" : 4,
+ "mpaa" : ""
+ },
+ {
+ "imdbnumber" : "tt0183684",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {},
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Tônia Carrero",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3VQLfEKttEI98MmdoOz3dQuQ9HG.jpg/",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Roberto Acácio",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Orlando Villar",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Jackson de Souza"
+ },
+ {
+ "role" : "",
+ "order" : 5,
+ "name" : "Maria Castro"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftcoXiyVdbHPcOUeK5LnTDzkPTC4.jpg/",
+ "name" : "José Lewgoy",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "order" : 7,
+ "name" : "Nidia Licia"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Perdida Pela Paixão (Quando a Noite Acaba)",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "year" : 1950,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "originaltitle" : "Perdida Pela Paixão (Quando a Noite Acaba)",
+ "runtime" : 0,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Quando a Noite Acaba (1950).mp4",
+ "title" : "Perdida Pela Paixão (Quando a Noite Acaba)",
+ "movieid" : 228,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "",
+ "director" : [
+ "Fernando De Barros"
+ ],
+ "country" : [
+ "Brazil"
+ ],
+ "writer" : []
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/O Fantasma (2000).mp4",
+ "title" : "Phantom",
+ "movieid" : 210,
+ "runtime" : 5220,
+ "originaltitle" : "O Fantasma",
+ "playcount" : 0,
+ "country" : [
+ "Portugal"
+ ],
+ "writer" : [
+ "Alexandre Melo",
+ "José Neves",
+ "Paulo Rebelo",
+ "João Pedro Rodrigues"
+ ],
+ "director" : [
+ "João Pedro Rodrigues"
+ ],
+ "rating" : 5,
+ "plot" : "Sergio is a brooding, alienated man who works as a trash collector in Lisbon by day and roams the city streets by night seeking rough, anonymous sex with men. One night he meets an man who seems to be the embodiment of his tormented fantasies, and he becomes obsessed with the stranger until loneliness and unfulfilled desire propel him finally into a dark and dangerous animalistic state.",
+ "mpaa" : "Rated",
+ "trailer" : "",
+ "votes" : "6",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwskO2QDSfP2BB3M760akliVbw01.jpg/",
+ "year" : 2000,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Drama"
+ ],
+ "label" : "Phantom",
+ "tagline" : "No one can live without love!",
+ "studio" : [
+ "Rosa Filmes"
+ ],
+ "cast" : [
+ {
+ "name" : "Ricardo Meneses",
+ "role" : "Sergio",
+ "order" : 0
+ },
+ {
+ "role" : "Fatima",
+ "order" : 1,
+ "name" : "Beatriz Torcato"
+ },
+ {
+ "name" : "Andre Barbosa",
+ "role" : "Joao",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "Virgilio",
+ "name" : "Eurico Vieira"
+ },
+ {
+ "order" : 4,
+ "role" : "Mario",
+ "name" : "Joaquim Oliveira"
+ },
+ {
+ "name" : "Florindo Lourenço",
+ "role" : "Matos",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Young man in bathroom",
+ "name" : "Rodrigo Garin"
+ },
+ {
+ "role" : "Police 1",
+ "order" : 7,
+ "name" : "Jorge Almeida"
+ },
+ {
+ "name" : "Maria Paola Porru",
+ "order" : 8,
+ "role" : "João's Mother"
+ },
+ {
+ "name" : "Luis Zorro",
+ "role" : "Young man in Sergio's room",
+ "order" : 9
+ },
+ {
+ "role" : "Man with Doberman",
+ "order" : 10,
+ "name" : "Salomão"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk7JtPX5OgV5UHqDrSG0B7fBbSRi.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0239381",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk7JtPX5OgV5UHqDrSG0B7fBbSRi.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwskO2QDSfP2BB3M760akliVbw01.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "label" : "The Piano Tuner",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt1907704",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvkzCDWvVBKegktrDYQm3LTBvcv5.jpg/"
+ },
+ "runtime" : 840,
+ "playcount" : 0,
+ "originaltitle" : "L'accordeur",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Piano Tuner (2007).mp4",
+ "movieid" : 317,
+ "title" : "The Piano Tuner",
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 5.90000009536743,
+ "plot" : "Adrien is a young pianist prodigy. He collapsed psychologically having failed in a renowned competition and henceforth works as a piano tuner. As remedy to this life, he invents a blind person's mask to penetrate into the intimacy of his customers. This subtlety allows Adrien to get back the taste for music. But since he sees things he should not see, Adrien ends up witnessing a murder.",
+ "director" : [
+ "Olivier Treiner"
+ ],
+ "country" : [],
+ "writer" : [
+ "Olivier Treiner"
+ ],
+ "votes" : "5",
+ "trailer" : "",
+ "genre" : [
+ "Drama",
+ "Thriller"
+ ],
+ "top250" : 0,
+ "year" : 2011,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvkzCDWvVBKegktrDYQm3LTBvcv5.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38"
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmPZDle9QGRnHmlQ5v1nPIuZN6vx.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpRN3J1gZFH8FcaGgX2NryA5liSx.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpRN3J1gZFH8FcaGgX2NryA5liSx.jpg/",
+ "imdbnumber" : "tt0371878",
+ "sorttitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Piccadilly Jim",
+ "studio" : [
+ "Myriad Pictures"
+ ],
+ "cast" : [
+ {
+ "name" : "Sam Rockwell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsKmpynD57Nwd62hrkjlXFK9hzGg.jpg/",
+ "order" : 0,
+ "role" : "Jim Crocker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxLUO4E1lwkwOJ4uWmHuothCHah.jpg/",
+ "name" : "Frances O'Connor",
+ "role" : "Ann Chester",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbXUpxFsIowySRyyqchaE1XprptI.jpg/",
+ "name" : "Tobias Menzies",
+ "order" : 2,
+ "role" : "Reg 3"
+ }
+ ],
+ "tagline" : "What's Wrong with Love?",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmPZDle9QGRnHmlQ5v1nPIuZN6vx.jpg/",
+ "year" : 2005,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy",
+ "Romance"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "John McKay"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "Julian Fellowes"
+ ],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Set in the 1930s, an American with a scandalous reputation on both sides of the Atlantic must do an about-face in order to win back the woman of his dreams.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Piccadilly Jim (2005).mp4",
+ "title" : "Piccadilly Jim",
+ "movieid" : 219,
+ "lastplayed" : "",
+ "runtime" : 5820,
+ "playcount" : 0,
+ "originaltitle" : "Piccadilly Jim"
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcqD4FZisEVfFMn8uBWbZEGf4t0C.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fR1C3mLnyC7LbWoH3mhT3ZZZobv.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0073540",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcqD4FZisEVfFMn8uBWbZEGf4t0C.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Vivean Gray",
+ "role" : "Miss McCraw",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "Mlle. de Poitiers",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkS9ZDqT9kzSSH8GdRxJgX0BuiKk.jpg/",
+ "name" : "Helen Morse"
+ },
+ {
+ "name" : "Kirsty Child",
+ "order" : 2,
+ "role" : "Miss Lumley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8VCKF5s8BFeVhEUjv5qZaZ3B8O9.jpg/",
+ "name" : "Jacki Weaver",
+ "order" : 3,
+ "role" : "Minnie"
+ },
+ {
+ "name" : "Rachel Roberts",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA5wjJSXsG7nbBhHfsGxUJcgY8eK.jpg/",
+ "order" : 4,
+ "role" : "Mrs. Appleyard"
+ },
+ {
+ "name" : "Tony Llewellyn-Jones",
+ "role" : "Tom",
+ "order" : 5
+ },
+ {
+ "name" : "Karen Robson",
+ "order" : 7,
+ "role" : "Irma"
+ },
+ {
+ "role" : "Marion",
+ "order" : 8,
+ "name" : "Jane Vallis"
+ },
+ {
+ "order" : 9,
+ "role" : "Edith",
+ "name" : "Christine Schuler"
+ },
+ {
+ "order" : 10,
+ "role" : "Sara",
+ "name" : "Margaret Nelson"
+ },
+ {
+ "name" : "Ingrid Mason",
+ "role" : "Rosamund",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "Blanche",
+ "name" : "Jenny Lovell"
+ },
+ {
+ "role" : "Juliana",
+ "order" : 13,
+ "name" : "Janet Murray"
+ },
+ {
+ "name" : "Wyn Roberts",
+ "order" : 14,
+ "role" : "Sgt. Bumpher"
+ },
+ {
+ "order" : 15,
+ "role" : "Michael Fitzhubert",
+ "name" : "Dominic Guard"
+ },
+ {
+ "role" : "Albert Crundall",
+ "order" : 16,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyRUY3lMYP5NTkxc54Wrj8NgXxAu.jpg/",
+ "name" : "John Jarratt"
+ },
+ {
+ "order" : 17,
+ "role" : "Mrs. Fitzhubert",
+ "name" : "Olga Dickie"
+ },
+ {
+ "name" : "Anne-Louise Lambert",
+ "role" : "Miranda",
+ "order" : 18
+ }
+ ],
+ "studio" : [
+ "The Australian Film Commission"
+ ],
+ "tagline" : "On St. Valentine's Day in 1900 a party of schoolgirls set out to picnic at Hanging Rock. ...Some were never to return.",
+ "label" : "Picnic at Hanging Rock",
+ "genre" : [
+ "Thriller",
+ "Drama",
+ "Mystery"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1975,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fR1C3mLnyC7LbWoH3mhT3ZZZobv.jpg/",
+ "votes" : "27",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=x05QuAhpq6o",
+ "mpaa" : "Rated PG",
+ "plot" : "On Saint Valentine's Day in 1900, the female students at a private Australian school are given permission by their stern headmistress to travel to an ancient volcanic outcropping for an afternoon picnic. The beautiful day turns into a nightmare when a few among them, including the beautiful and enigmatic Miranda, vanish without explanation on Hanging Rock.",
+ "rating" : 6.59999990463257,
+ "director" : [
+ "Peter Weir"
+ ],
+ "writer" : [
+ "Clifford Green"
+ ],
+ "country" : [
+ "Australia"
+ ],
+ "playcount" : 0,
+ "runtime" : 6420,
+ "originaltitle" : "Picnic at Hanging Rock",
+ "movieid" : 90,
+ "title" : "Picnic at Hanging Rock",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Enigma (1977).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcbY7dZMCJSEmcuvikuKRhgAbP2x.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc57PCxjzX4ZFV3XGA8PcoS87ksv.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1943689",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc57PCxjzX4ZFV3XGA8PcoS87ksv.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "cast" : [
+ {
+ "role" : "Christine",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8zaqoSPo3VHTwLYnSE5BsBAKluE.jpg/",
+ "name" : "Zabou Breitman"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiQU5ViIGmkG1CP2ikII3JiQ2pn4.jpg/",
+ "name" : "Tchéky Karyo",
+ "order" : 1,
+ "role" : "Edern"
+ },
+ {
+ "name" : "Adèle Exarchopoulos",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftPXch7Cb8NLg1pQ2n2Rd8CqaCFd.jpg/",
+ "order" : 2,
+ "role" : "Erell"
+ },
+ {
+ "name" : "Adélaïde Leroux",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo3phfz7KZs1dN9bwCQA74D27ElW.jpg/",
+ "role" : "Sarah",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faYltrcpgwa9CxSD2wy1UfFp9u4q.jpg/",
+ "name" : "Bruno Lochet",
+ "role" : "Bob",
+ "order" : 4
+ },
+ {
+ "name" : "Martin Pautard",
+ "role" : "Antoine",
+ "order" : 5
+ },
+ {
+ "role" : "Javier",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjZP5iOPzSsiZkeg6vuYb64ETCvO.jpg/",
+ "name" : "Théo Cholbi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa4MyCXyloRshUaf5XBIYyDKoO2A.jpg/",
+ "name" : "Côme Levin",
+ "order" : 7,
+ "role" : "Gabin"
+ },
+ {
+ "order" : 8,
+ "role" : "Majeur",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frctSbXAxJX1keEN46XeriSaYAfL.jpg/",
+ "name" : "Grégory Gatignol"
+ },
+ {
+ "name" : "Aurelie Lemanceau",
+ "role" : "Marie-Antoinette",
+ "order" : 9
+ }
+ ],
+ "studio" : [
+ "Tokib Productions"
+ ],
+ "label" : "Pieces of Me",
+ "genre" : [
+ "Drama"
+ ],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2013,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcbY7dZMCJSEmcuvikuKRhgAbP2x.jpg/",
+ "top250" : 0,
+ "votes" : "3",
+ "trailer" : "",
+ "plot" : "A crazy father old before his time, a tyrannical, sick mother, a sister who disappeared four years ago and me, Erell, who films everything, all the time... A fine family portrait. I live in the same town I've always lived in. You're born here, you die here. And between the two, there's nothing to do except hang out with my buddies, Gabin, Javier and The Major. One night, my sister Sarah reappears. The pieces of me are put together again.",
+ "rating" : 4.19999980926514,
+ "mpaa" : "",
+ "writer" : [
+ "Nolwenn Lemesle"
+ ],
+ "country" : [
+ "France"
+ ],
+ "director" : [
+ "Nolwenn Lemesle"
+ ],
+ "playcount" : 0,
+ "runtime" : 5400,
+ "originaltitle" : "Des morceaux de moi",
+ "lastplayed" : "",
+ "title" : "Pieces of Me",
+ "movieid" : 220,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Pieces of Me (2015).mp4"
+ },
+ {
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnymCA11tb3kPq2Z2Wblqu4BakgN.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fubWPFJwd4ula5EJV53sKFTgNyVB.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnymCA11tb3kPq2Z2Wblqu4BakgN.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt1121985",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Pinoy Sunday",
+ "tagline" : "",
+ "studio" : [
+ "NHK"
+ ],
+ "cast" : [
+ {
+ "name" : "Bayani Agbayani",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvLDzg52zJPrNiATmW4aHFV2aOT9.jpg/",
+ "order" : 0,
+ "role" : "Dado Tagalo"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhHvV4XSUdWjIKk1z9ePA9f3mfWM.jpg/",
+ "name" : "Jeffrey Quizon",
+ "order" : 1,
+ "role" : "Manuel dela Cruz (as Epy Quezon)"
+ },
+ {
+ "role" : "Carros",
+ "order" : 2,
+ "name" : "Nor Domingo"
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Dave Ronald Chang"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjopPfCZpS7aPVTAqhbeb9Uoy6PB.jpg/",
+ "name" : "Meryll Soriano"
+ },
+ {
+ "name" : "Alessandra de Rossi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmTTcoin7lTzx4aEHj1OSnLebn3X.jpg/",
+ "order" : 5,
+ "role" : "Celia"
+ },
+ {
+ "name" : "Maria Thalia Rogacion",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Merlie Castillo",
+ "order" : 7,
+ "role" : ""
+ },
+ {
+ "name" : "Allen Chiu",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "name" : "Ernie Ko",
+ "order" : 9,
+ "role" : ""
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Cristopher Porcia"
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Antonio Padua"
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "Jean Claude"
+ },
+ {
+ "name" : "Melenie Hung",
+ "role" : "Joy",
+ "order" : 13
+ },
+ {
+ "role" : "Grace",
+ "order" : 14,
+ "name" : "Julia Chen"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6r7utK8LUZxUHYptCQoGGse6M4D.jpg/",
+ "name" : "Mok Chi-Yee",
+ "order" : 15,
+ "role" : ""
+ }
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fubWPFJwd4ula5EJV53sKFTgNyVB.jpg/",
+ "year" : 2010,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "genre" : [
+ "Comedy",
+ "Drama"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=QvLb9eJ6x0E",
+ "votes" : "2",
+ "country" : [
+ "Philippines"
+ ],
+ "writer" : [
+ "Wi Ding Ho",
+ "Ajay Balakrishnan"
+ ],
+ "director" : [
+ "Wi Ding Ho"
+ ],
+ "rating" : 4.80000019073486,
+ "plot" : "The discovery of a discarded sofa, in Taipei city, transforms a routine Sunday into a capricious adventure of perseverance and self-discovery for - Filipino guest workers - Manuel and Dado.",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sunday (2009).mp4",
+ "title" : "Pinoy Sunday",
+ "movieid" : 270,
+ "originaltitle" : "Pinoy Sunday",
+ "runtime" : 6000,
+ "playcount" : 0
+ },
+ {
+ "genre" : [
+ "Documentary"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhSV7muVfPK8tl0jvsWjwuUquunJ.jpg/",
+ "year" : 2010,
+ "votes" : "0",
+ "trailer" : "",
+ "mpaa" : "Rated",
+ "plot" : "The story of three men's life-long search for a diet which is good for our health, the environment and the future of our planet - showcasing some of the best food you have ever seen.",
+ "rating" : 0,
+ "director" : [
+ "Shelley Lee Davies",
+ "Or Shlomi"
+ ],
+ "writer" : [],
+ "country" : [],
+ "runtime" : 5220,
+ "originaltitle" : "Planeat",
+ "playcount" : 0,
+ "title" : "Planeat",
+ "movieid" : 221,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Plan (2010).mp4",
+ "lastplayed" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo7sFaujiwHyDswftPIw2J7HsvCJ.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhSV7muVfPK8tl0jvsWjwuUquunJ.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1467030",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo7sFaujiwHyDswftPIw2J7HsvCJ.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Yvonne O'Grady",
+ "role" : "Voice",
+ "order" : 0
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Planeat"
+ },
+ {
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "year" : 1993,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feSRSj6p5SfDpXqTQm9SMhz4FfQY.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "runtime" : 3300,
+ "originaltitle" : "Playboy: Erotic Fantasies II",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Playboy: Erotic Fantasies II (1993).mp4",
+ "movieid" : 222,
+ "title" : "Playboy: Erotic Fantasies II",
+ "rating" : 0,
+ "plot" : "Seven difference sh etches featuring the most erotic fantasies by random men with their dream women.",
+ "mpaa" : "Rated NR",
+ "country" : [],
+ "writer" : [],
+ "director" : [],
+ "imdbnumber" : "tt0330261",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feSRSj6p5SfDpXqTQm9SMhz4FfQY.jpg/"
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Samantha Dorman"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Morgan Fox",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5UI3tPX49n1rnTs4i43RhB5NqpZ.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Tiffany Sloan"
+ }
+ ],
+ "label" : "Playboy: Erotic Fantasies II",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Rafael Mitos",
+ "order" : 1,
+ "name" : "Luis Fernando Hoyos"
+ },
+ {
+ "role" : "Camila's Friend",
+ "order" : 2,
+ "name" : "Maria Tereza Barreto"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Poker",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "imdbnumber" : "tt1278429",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhJGtB7kiaaWz2RNDfFiWrTm8x78.jpg/",
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhJGtB7kiaaWz2RNDfFiWrTm8x78.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faHpkrTmpV5L4WI5q7GBc7qaEGRa.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 60,
+ "originaltitle" : "Poker",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Poker (1951).mp4",
+ "title" : "Poker",
+ "movieid" : 224,
+ "lastplayed" : "",
+ "mpaa" : "",
+ "rating" : 6,
+ "plot" : "Five strangers on the brink of despair agree to meet and bet large in a poker game.",
+ "director" : [
+ "Juan Sebastián Valencia"
+ ],
+ "country" : [],
+ "writer" : [],
+ "votes" : "1",
+ "trailer" : "",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faHpkrTmpV5L4WI5q7GBc7qaEGRa.jpg/",
+ "year" : 2011,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38"
+ },
+ {
+ "label" : "The Portal",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Tahmoh Penikett",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuHnfPSFXdJJTaE0rjwj3I2b91I8.jpg/",
+ "role" : "Alar",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzYqwFR661S8pPigwHci6HlTnPly.jpg/",
+ "name" : "Erin Karpluk",
+ "role" : "Kim",
+ "order" : 1
+ },
+ {
+ "name" : "Penelope Corrin",
+ "role" : "Tracy",
+ "order" : 2
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuMoUXROJigEYwu8xwn1M6jM7DNH.jpg/",
+ "imdbnumber" : "tt3009714",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuMoUXROJigEYwu8xwn1M6jM7DNH.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbJGDZY49bwGInEWxl1YWweX1Fp2.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Portal (2014).mp4",
+ "title" : "The Portal",
+ "movieid" : 318,
+ "lastplayed" : "",
+ "originaltitle" : "The Portal",
+ "runtime" : 660,
+ "playcount" : 0,
+ "director" : [
+ "Jonathan Williams"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "Rated",
+ "rating" : 7,
+ "plot" : "A dimension-traveling wizard gets stuck in the 21st century because cell-phone radiation interferes with his magic. With his home world on the brink of war, he seeks help from a jaded travel agent who he mistakes for a great sorceress. Without his powers to prove his identity, she has trouble taking him seriously, but finally agrees to reveal the secrets of our world in exchange for a lunch date.",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=4x2Icxr37kc",
+ "votes" : "2",
+ "top250" : 0,
+ "year" : 2014,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbJGDZY49bwGInEWxl1YWweX1Fp2.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Science Fiction",
+ "Comedy",
+ "Fantasy"
+ ]
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxqDq9L7dRRAZtIDiSGaYrmgEfTa.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "imdbnumber" : "tt1773062",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fTQDpj3YyXEJAJj3Lvk1E7n9o4t.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxqDq9L7dRRAZtIDiSGaYrmgEfTa.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "Powderfinger: Sunsets Farewell Tour",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Himself",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2felIgcXR7wEK13iB0wuodCeVsgrU.jpg/",
+ "name" : "Bernard Fanning"
+ },
+ {
+ "order" : 1,
+ "role" : "Himself",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgNaMXhj1JqwjspwRxP7UX2oRI21.jpg/",
+ "name" : "Darren Middleton"
+ },
+ {
+ "name" : "Ian Haug",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flGJmDVXROiraMU8DNdVTiGaMjeb.jpg/",
+ "role" : "Himself",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc5ED3AyiRc0BAx32AXmZitXCmsj.jpg/",
+ "name" : "John Collins",
+ "role" : "Himself",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frO9TkD3qnKbMi5SySRAywTnCnuQ.jpg/",
+ "name" : "Jon Coghill",
+ "role" : "Himself",
+ "order" : 4
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=9Tecc7OMuHc",
+ "votes" : "2",
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fTQDpj3YyXEJAJj3Lvk1E7n9o4t.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Music"
+ ],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sunset to Sunset (2010).mp4",
+ "movieid" : 271,
+ "title" : "Powderfinger: Sunsets Farewell Tour",
+ "runtime" : 6360,
+ "originaltitle" : "Powderfinger: Sunsets Farewell Tour",
+ "playcount" : 0,
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Gregor Jordan"
+ ],
+ "rating" : 5.30000019073486,
+ "plot" : "Filmed at various concerts throughout Powderfinger's final Australian tour.",
+ "mpaa" : ""
+ },
+ {
+ "title" : "Prince and the Pauper",
+ "movieid" : 319,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Prince and the Pauper (1996).mp4",
+ "lastplayed" : "",
+ "runtime" : 0,
+ "originaltitle" : "Prince and the Pauper",
+ "playcount" : 0,
+ "director" : [],
+ "writer" : [],
+ "country" : [],
+ "mpaa" : "Rated",
+ "plot" : "The story began in the 1860s in London, England. For as long as he could remember, twelve year old Tom Canty had dreamed of being a Prince. Whenever he was not begging for money for his cruel father, Tom played \"being Prince\" with his friends. Tom Canty and Prince Edward, the soon to be king, bear a striking resemblance to one another and decide to swap places. Unfortunately, the once innocent trick turns into a nightmare, and the Pauper and the Prince become desperate in their struggle to prove their real identity before it is too late and the Pauper is crowned King.",
+ "rating" : 0,
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 1996,
+ "genre" : [],
+ "label" : "Prince and the Pauper",
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "",
+ "art" : {},
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : []
+ },
+ {
+ "plot" : "Phillip Filmore is a naive, 15-year-old, preoccupied with sex, who develops a crush on Nicole Mallow, the new 30-something, French housekeeper and sitter to look after him when Phillip's father is out of town for the summer on a \"business\" trip. But Mr. Filmore's unscrupulous chauffeur, Lester Lewis, takes advantage of Phillip's crush on Nicole to hire her to seduce the youth, then draws her into a plot to fake her own death in a blackmail scheme aimed to drain Phillip's trust fund.",
+ "rating" : 5.90000009536743,
+ "mpaa" : "Rated R",
+ "writer" : [
+ "Dan Greenburg"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Alan Myerson"
+ ],
+ "runtime" : 5220,
+ "playcount" : 0,
+ "originaltitle" : "Private Lessons",
+ "lastplayed" : "",
+ "title" : "Private Lessons",
+ "movieid" : 175,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Lessons (1981).mp4",
+ "genre" : [
+ "Romance",
+ "Comedy"
+ ],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzMhUcqWv7eTHIw1PW7l6jdFyPm9.jpg/",
+ "year" : 1981,
+ "top250" : 0,
+ "votes" : "8",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=cJ5rqXCk0wY",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "When EMANUELLE's Sylvia Kristel is your teacher the bedroom is the classroom",
+ "cast" : [
+ {
+ "role" : "Nicole Mallow",
+ "order" : 0,
+ "name" : "Sylvia Kristel",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmGVT8S1SREQc6ix5dVaqUIw0hRX.jpg/"
+ },
+ {
+ "name" : "Howard Hesseman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fq0glWtVUVnPoB3AoAMe8SqMRJ5e.jpg/",
+ "role" : "Lester Lewis",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgW00rULDjlwFMG6TGWlQRhiNf0A.jpg/",
+ "name" : "Eric Brown",
+ "order" : 2,
+ "role" : "Phillip Fillmore"
+ },
+ {
+ "name" : "Meridith Baer",
+ "order" : 3,
+ "role" : "Miss Phipps"
+ },
+ {
+ "name" : "Pamela Jean Bryant",
+ "role" : "Joyce",
+ "order" : 4
+ },
+ {
+ "name" : "Peter Elbling",
+ "role" : "Waiter",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm264FJDCnB5H6qyU2sDKjs9tM86.jpg/",
+ "name" : "Ed Begley Jr.",
+ "role" : "Jack Travis",
+ "order" : 6
+ },
+ {
+ "name" : "Ron Foster",
+ "order" : 7,
+ "role" : "Mr. Fillmore"
+ },
+ {
+ "name" : "Beans Morocco",
+ "order" : 8,
+ "role" : "Green, The Gardener"
+ }
+ ],
+ "studio" : [
+ "Jensen Farley Pictures"
+ ],
+ "label" : "Private Lessons",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzMhUcqWv7eTHIw1PW7l6jdFyPm9.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAg79NZflbKFB5cWqf5ZptqQkE48.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0082948",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAg79NZflbKFB5cWqf5ZptqQkE48.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8zsWXyBggCYU8pbiKeuDqo3fvi2.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Queen: Greatest Flix I and II",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Queen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcRmkbYDSLw9qtychetevHFCHemr.jpg/",
+ "role" : "Themselves",
+ "order" : 0
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "",
+ "votes" : "1",
+ "top250" : 0,
+ "year" : 1991,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8zsWXyBggCYU8pbiKeuDqo3fvi2.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Queen: Greatest Flix I & II (1998).mp4",
+ "title" : "Queen: Greatest Flix I and II",
+ "movieid" : 229,
+ "lastplayed" : "",
+ "runtime" : 9300,
+ "originaltitle" : "Queen: Greatest Flix I and II",
+ "playcount" : 0,
+ "director" : [],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 10,
+ "plot" : "This DVDs (Greatest Flix I and II) were the very first version of Queen's \"Greatest Hits\" on DVD. Even though most people consider them a bootleg, on the original Queen Web site they were listed as official. It's a great collection, with great sound and the original videos (some of them were later changed)."
+ },
+ {
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=suqrGeNzEfQ",
+ "votes" : "1",
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuQ56KZxCWEgoBkRvW4Nzi80VV1J.jpg/",
+ "year" : 1961,
+ "genre" : [
+ "Drama",
+ "Crime"
+ ],
+ "movieid" : 230,
+ "title" : "Rag Doll",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Rag Doll (2011).mp4",
+ "lastplayed" : "",
+ "runtime" : 4620,
+ "playcount" : 0,
+ "originaltitle" : "Rag Doll",
+ "director" : [
+ "Lance Comfort"
+ ],
+ "writer" : [
+ "Derry Quinn",
+ "Brock Williams"
+ ],
+ "country" : [
+ "United Kingdom"
+ ],
+ "mpaa" : "",
+ "plot" : "A British drama about a girl becoming a woman after she relocates to London. She and her young boyfriend become tempted by one of her older admirers money.",
+ "rating" : 5.5,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7cUW2DxuT0poTg9jwYlcaRgPUz6.jpg/",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0250682",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7cUW2DxuT0poTg9jwYlcaRgPUz6.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuQ56KZxCWEgoBkRvW4Nzi80VV1J.jpg/"
+ },
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "label" : "Rag Doll",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Shane",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyNQDlxpQNAT1ETUmFvMZWjH4VBh.jpg/",
+ "name" : "Jess Conrad"
+ },
+ {
+ "order" : 1,
+ "role" : "Princess",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8SRb4fkFn9Wqx8mCb81KGEK4OcV.jpg/",
+ "name" : "Hermione Baddeley"
+ },
+ {
+ "name" : "Kenneth Griffith",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9ufRxOmwkQDwUCuJKk6ORgXQO7T.jpg/",
+ "role" : "Wilson",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f97RYoo5XQj0R8rr5Fvua9HlB55E.jpg/",
+ "name" : "Patrick Magee",
+ "order" : 4,
+ "role" : "Flynn"
+ },
+ {
+ "name" : "Patrick Jordan",
+ "role" : "Wills",
+ "order" : 5
+ }
+ ],
+ "studio" : [
+ "Blakeley's Films (M/C) Ltd."
+ ],
+ "tagline" : "Youth seeking thrills and finding them... the wrong kind!",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "Ballhaus Erna",
+ "order" : 0,
+ "name" : "Gina Falckenberg"
+ },
+ {
+ "name" : "Friedrich Gnaß",
+ "role" : "Matrosen Karl",
+ "order" : 1
+ },
+ {
+ "name" : "Wolfgang Zilzer",
+ "order" : 2,
+ "role" : "Musiker Leo"
+ },
+ {
+ "name" : "Charly Wittong",
+ "role" : "Volkssänger",
+ "order" : 3
+ },
+ {
+ "role" : "Kneipenwirt",
+ "order" : 4,
+ "name" : "Max Zilzer"
+ },
+ {
+ "name" : "Ernst Busch",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f1MJPlrm4ES1qznHcYeI1ONmW8WX.jpg/",
+ "order" : 5,
+ "role" : "Sänger"
+ },
+ {
+ "name" : "Kurt Appel",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "order" : 7,
+ "name" : "Käte Hüter"
+ },
+ {
+ "name" : "Friedrich Rittmeyer",
+ "order" : 8,
+ "role" : ""
+ }
+ ],
+ "label" : "Razzia in St. Pauli",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "imdbnumber" : "tt0023376",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9kHytKVszkVkAw46RZM6hW7mr9w.jpg/"
+ },
+ "playcount" : 0,
+ "runtime" : 4440,
+ "originaltitle" : "Razzia in St. Pauli",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Razzia in St. Pauli (1932).mp4",
+ "movieid" : 231,
+ "title" : "Razzia in St. Pauli",
+ "rating" : 0,
+ "plot" : "Illustrates both the powerlessness of the ordinary worker as well as an intimate portrait of the joys and sorrows of a small group of people in the harbor section of Hamburg.",
+ "mpaa" : "",
+ "country" : [
+ "Germany"
+ ],
+ "writer" : [
+ "Werner Hochbaum"
+ ],
+ "director" : [
+ "Werner Hochbaum"
+ ],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [
+ "Crime"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9kHytKVszkVkAw46RZM6hW7mr9w.jpg/",
+ "year" : 1932,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0
+ },
+ {
+ "writer" : [],
+ "country" : [
+ "Germany"
+ ],
+ "director" : [
+ "Dieter Kehler"
+ ],
+ "plot" : "",
+ "rating" : 0,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "title" : "Rebecca Ryman - Wer Liebe verspricht",
+ "movieid" : 232,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Rebecca Ryman: Wer Liebe verspricht (2008).mp4",
+ "runtime" : 0,
+ "playcount" : 0,
+ "originaltitle" : "Rebecca Ryman - Wer Liebe verspricht",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 2008,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fibQ4rdv6ASFttdl2bO2bCVPwiqQ.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "label" : "Rebecca Ryman - Wer Liebe verspricht",
+ "tagline" : "",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4BkrPsP8KFTuah5Qe7AewvLqvvc.jpg/",
+ "name" : "Eva Habermann",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Erol Sander",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5xVyGIqOyaiGL5PZsumU8cEXV0C.jpg/"
+ }
+ ],
+ "studio" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fibQ4rdv6ASFttdl2bO2bCVPwiqQ.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1196683"
+ },
+ {
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {},
+ "imdbnumber" : "tt0497655",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Brett Haley",
+ "role" : "Blake",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Noah",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5zGsCNf22oU0igutuIQbONPbzbV.jpg/",
+ "name" : "Neal Bledsoe"
+ }
+ ],
+ "label" : "The Ridge",
+ "genre" : [
+ "Thriller"
+ ],
+ "year" : 2005,
+ "thumbnail" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "rating" : 0,
+ "plot" : "Some people travel to their vacation property, and are attacked by a hooded killer.",
+ "mpaa" : "Rated R",
+ "country" : [],
+ "writer" : [
+ "Brett Haley"
+ ],
+ "director" : [
+ "Brett Haley"
+ ],
+ "originaltitle" : "The Ridge",
+ "runtime" : 5160,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Ridge (2005).mp4",
+ "movieid" : 320,
+ "title" : "The Ridge"
+ },
+ {
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Lone Rider (1927).mp4",
+ "title" : "Ringo: The Lone Rider",
+ "movieid" : 308,
+ "runtime" : 5220,
+ "originaltitle" : "Dos hombres van a morir",
+ "playcount" : 0,
+ "country" : [
+ "Spain"
+ ],
+ "writer" : [
+ "Mario Caiano"
+ ],
+ "director" : [
+ "Rafael Romero Marchent"
+ ],
+ "rating" : 0,
+ "plot" : "A town is being terrorized by a gang of marauders led by Bill Anderson, a clever bandit boss. The town's leadership is deciding to do something against the problem, but it does not believe bringing in the military will be a solution. It is agreed upon that they will request help from the well-known Pinkerton agency. At the same time, Ringo, a gunslinger, is chasing after the bandits. He suspects a deeper-sitting conspiracy than random bandit assaults. He joins forces with the newly arrived under cover Pinkerton agent, to uncover a plot between a local businessman, the Mexican revolution and bandit's heist loot of gold. But the bandits have long planned to move on. Disguised as Mormons, they are moving west to start a new life of farming during the day and robbing stage coaches at night. Ringo and the agent track them down....",
+ "mpaa" : "",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=4t5rKE0g1XQ",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo7vFXPOKbpgi6NKXu7gYzVlMblo.jpg/",
+ "year" : 1968,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Western"
+ ],
+ "label" : "Ringo: The Lone Rider",
+ "tagline" : "",
+ "studio" : [
+ "Cinematografica Emmeci"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Ringo",
+ "name" : "Pietro Martellanza"
+ },
+ {
+ "name" : "Piero Lulli",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkd84hadpbKoC3Qty7WKQEvgpN7j.jpg/",
+ "order" : 1,
+ "role" : "Dan Samuelson"
+ },
+ {
+ "role" : "Bill Anderson",
+ "order" : 2,
+ "name" : "Armando Calvo"
+ },
+ {
+ "role" : "Michael aka 'Kid'",
+ "order" : 3,
+ "name" : "Paolo Herzl"
+ },
+ {
+ "name" : "José Jaspe",
+ "order" : 4,
+ "role" : "Zachary"
+ },
+ {
+ "name" : "Jesús Puente",
+ "role" : "Mayor Gorbet",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "Sheriff",
+ "name" : "Antonio Pica"
+ },
+ {
+ "name" : "Jesús Tordesillas",
+ "order" : 7,
+ "role" : "Jefe mormón"
+ },
+ {
+ "name" : "Frank Braña",
+ "role" : "Juez",
+ "order" : 8
+ },
+ {
+ "role" : "Guillermo Mendez",
+ "order" : 9,
+ "name" : "Guillermo Méndez"
+ },
+ {
+ "role" : "Antonio Peral",
+ "order" : 10,
+ "name" : "Juan Antonio Peral"
+ },
+ {
+ "name" : "Joaquín Burgos",
+ "order" : 11,
+ "role" : "Joaquín Burgos"
+ },
+ {
+ "name" : "José Sepúlveda",
+ "role" : "Jose Sepulveda",
+ "order" : 12
+ },
+ {
+ "name" : "Dyanik Zurakowska",
+ "order" : 13,
+ "role" : "Lucy"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faNnNhDMrV86r615Axm7kbjnT56B.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt0061593",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo7vFXPOKbpgi6NKXu7gYzVlMblo.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faNnNhDMrV86r615Axm7kbjnT56B.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0
+ },
+ {
+ "rating" : 0,
+ "plot" : "Adaptation of Miyamoto Teru's novel.",
+ "mpaa" : "",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Eizo Sugawa"
+ ],
+ "runtime" : 6900,
+ "originaltitle" : "Hotaru-gawa",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Hotaru-gawa (1987).mp4",
+ "title" : "River of Fireflies",
+ "movieid" : 126,
+ "genre" : [],
+ "thumbnail" : "",
+ "year" : 1987,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [],
+ "label" : "River of Fireflies",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {},
+ "imdbnumber" : "tt0093216",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ }
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcwzpchQNo7sme1OP4zSsPalmDGx.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkgGWTmfzt9nDL1jaHNCNwxlipc6.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0056424",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkgGWTmfzt9nDL1jaHNCNwxlipc6.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "name" : "Troy Donahue",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f53FpBBfRDva2XYjxbQijNxsC8Vd.jpg/",
+ "role" : "Don Porter",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3pnCoPtk3Fv5IJywId5hUjQ33yR.jpg/",
+ "name" : "Angie Dickinson",
+ "role" : "Lyda Kent",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "Roberto Orlandi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdUPvEX4qQMX9Cu4tknkLgN0eePV.jpg/",
+ "name" : "Rossano Brazzi"
+ },
+ {
+ "role" : "Prudence Bell",
+ "order" : 3,
+ "name" : "Suzanne Pleshette",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9KdhSa4QpLQgD1cwXmjoz60bgHo.jpg/"
+ }
+ ],
+ "studio" : [
+ "Warner Bros."
+ ],
+ "tagline" : "THIS was her European plan for learning about love...",
+ "label" : "Rome Adventure",
+ "genre" : [
+ "Drama",
+ "Romance"
+ ],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1962,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcwzpchQNo7sme1OP4zSsPalmDGx.jpg/",
+ "votes" : "0",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=yAJQJhgD0xo",
+ "mpaa" : "Rated",
+ "plot" : "A beautiful American schoolteacher vacationing in Rome is courted by two men. Released in 1962, starring Suzanne Pleshette, Troy Donahue, Rossano Brazzi and Angie Dickinson.",
+ "rating" : 0,
+ "director" : [
+ "Delmer Daves"
+ ],
+ "writer" : [
+ "Delmer Daves"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "runtime" : 7140,
+ "originaltitle" : "Rome Adventure",
+ "playcount" : 0,
+ "title" : "Rome Adventure",
+ "movieid" : 21,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Amor al can (2010).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "art" : {},
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0366979",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Roughcut",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8e1KM2XCGh8X2Ekoc6AB9yvUaYS.jpg/",
+ "name" : "Richard Lynch",
+ "order" : 1,
+ "role" : "Mr. Caine"
+ },
+ {
+ "order" : 2,
+ "role" : "Garrett",
+ "name" : "Sean P. Donahue"
+ }
+ ],
+ "studio" : [],
+ "tagline" : "",
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 1994,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0",
+ "director" : [
+ "Sean P. Donahue"
+ ],
+ "writer" : [
+ "Sean P. Donahue",
+ "Shawn Flanagan",
+ "Marty Sheridan"
+ ],
+ "country" : [],
+ "mpaa" : "Rated",
+ "plot" : "While on a hunting trip, two friends witness a gangland style execution by Mr. Caine, a diamond smuggler. Garret and Paulie then become the hunted. Paulie is killed and Garret vows to avenge his friend's death.",
+ "rating" : 0,
+ "title" : "Roughcut",
+ "movieid" : 237,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Roughcut (1994).mp4",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 5100,
+ "originaltitle" : "Roughcut"
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Rubbers",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "Marcus Chin"
+ },
+ {
+ "name" : "Julian Hee",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "order" : 3,
+ "name" : "Chau Min Lee"
+ }
+ ],
+ "tagline" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqZXa1fx6TtRPuiVqhfZeXjfNoXB.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt3914454",
+ "sorttitle" : "",
+ "director" : [
+ "Yew Kwang Han"
+ ],
+ "country" : [],
+ "writer" : [
+ "Yew Kwang Han"
+ ],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Quirky Singaporean comedy, centered on condoms and loaded with local talent, asks you to do the deed and laugh more.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Rubbers (2004).mp4",
+ "movieid" : 238,
+ "title" : "Rubbers",
+ "lastplayed" : "",
+ "playcount" : 0,
+ "runtime" : 5160,
+ "originaltitle" : "Rubbers",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqZXa1fx6TtRPuiVqhfZeXjfNoXB.jpg/",
+ "year" : 2015,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "0"
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnVvfdIJyAfU6rTWeKlYSHperkVn.jpg/",
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnVvfdIJyAfU6rTWeKlYSHperkVn.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Rumours",
+ "studio" : [],
+ "cast" : [],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "thumbnail" : "",
+ "year" : 2011,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Animation"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Rumours (2011).mp4",
+ "title" : "Rumours",
+ "movieid" : 239,
+ "lastplayed" : "",
+ "runtime" : 480,
+ "originaltitle" : "Rumeurs",
+ "playcount" : 0,
+ "director" : [
+ "Frits Standaert"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "In the calm of the jungle, an unusual noise scares the animals who panic one after the other ; as the rumour spreads, their behaviour becomes increasingly irrational."
+ },
+ {
+ "trailer" : "",
+ "votes" : "0",
+ "top250" : 0,
+ "year" : 1995,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feoM2Zb0enpDTK3BEav0p7jBTpqn.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Saigon Baby (1995).mp4",
+ "title" : "Saigon Baby",
+ "movieid" : 240,
+ "lastplayed" : "",
+ "runtime" : 5400,
+ "playcount" : 0,
+ "originaltitle" : "Saigon Baby",
+ "director" : [
+ "David Attwood"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 0,
+ "plot" : "Desperation for a child prompts a British executive's (Douglas Hodge) wife (Kerry Fox) to submit to an illegal adoption scheme in Vietnam",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "",
+ "sorttitle" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feoM2Zb0enpDTK3BEav0p7jBTpqn.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Saigon Baby",
+ "studio" : [],
+ "cast" : [
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "John Hurt",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frpuH2YRLpxJjMxHq4T1QdOSVtlN.jpg/"
+ },
+ {
+ "role" : "",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi2O8aHEPRFvuJwRpwDNg6jv8JT6.jpg/",
+ "name" : "Kerry Fox"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffaOSyKFdO2ugLHt2SMjxVRQcw5A.jpg/",
+ "name" : "Douglas Hodge",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Julio Miguel Angeles"
+ },
+ {
+ "name" : "Sornchai Chatwiriyachai",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "Beng Jordan",
+ "order" : 6,
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Prapas Khoothiar"
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Christopher Layog"
+ },
+ {
+ "name" : "Dina Padilla",
+ "order" : 9,
+ "role" : ""
+ },
+ {
+ "name" : "Jennilyn Pocornio",
+ "order" : 10,
+ "role" : ""
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Betty Ponce"
+ },
+ {
+ "role" : "",
+ "order" : 12,
+ "name" : "Lorna Recidocruz"
+ },
+ {
+ "order" : 13,
+ "role" : "",
+ "name" : "Hernan Robies"
+ },
+ {
+ "name" : "Arnon Siriphop",
+ "order" : 14,
+ "role" : ""
+ },
+ {
+ "name" : "Augusto Victa",
+ "role" : "",
+ "order" : 15
+ },
+ {
+ "order" : 16,
+ "role" : "",
+ "name" : "Tony Woods"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : ""
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftOyw1ltGd74v4JNlQwIY8qZuWbS.jpg/",
+ "imdbnumber" : "tt2357664",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftOyw1ltGd74v4JNlQwIY8qZuWbS.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7sxdQJ6qFWTEV8ev2JBewu2E34U.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "label" : "Sanandresito",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "Agente Tenorio",
+ "name" : "Andrés Parra"
+ },
+ {
+ "role" : "Sargento Fanny",
+ "order" : 2,
+ "name" : "Verónica Orozco"
+ },
+ {
+ "name" : "Carolina Acevedo",
+ "order" : 3,
+ "role" : "Tatiana"
+ }
+ ],
+ "tagline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "trailer" : "",
+ "votes" : "1",
+ "top250" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7sxdQJ6qFWTEV8ev2JBewu2E34U.jpg/",
+ "year" : 2012,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Comedy",
+ "Action"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sanandresito (2012).mp4",
+ "title" : "Sanandresito",
+ "movieid" : 244,
+ "lastplayed" : "",
+ "runtime" : 0,
+ "originaltitle" : "Sanandresito",
+ "playcount" : 0,
+ "director" : [
+ "Alessandro Angulo"
+ ],
+ "country" : [],
+ "writer" : [],
+ "mpaa" : "",
+ "rating" : 8,
+ "plot" : ""
+ },
+ {
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0058545",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4H1dbRezAF5Bq1ZYgr2jUwmgIxm.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "label" : "Sandokan Fights Back",
+ "tagline" : "",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwPIIYwJMw6GcoM6CGtlqJtkOa1R.jpg/",
+ "name" : "Ray Danton",
+ "order" : 1,
+ "role" : "Sandokan"
+ },
+ {
+ "role" : "Yanez",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuQjtqtkcl2FUKgSXYGw7SXSEizY.jpg/",
+ "name" : "Guy Madison"
+ },
+ {
+ "order" : 3,
+ "role" : "Samoa",
+ "name" : "Franca Bettoia",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzPMA0p2kYrZTtpMVJfaMo458SEU.jpg/"
+ },
+ {
+ "role" : "Sir Charles Brooks",
+ "order" : 4,
+ "name" : "Mario Petri"
+ }
+ ],
+ "studio" : [],
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "trailer" : "",
+ "votes" : "0",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4H1dbRezAF5Bq1ZYgr2jUwmgIxm.jpg/",
+ "year" : 1964,
+ "top250" : 0,
+ "genre" : [
+ "Adventure"
+ ],
+ "lastplayed" : "",
+ "title" : "Sandokan Fights Back",
+ "movieid" : 245,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sandokan alla riscossa (1964).mp4",
+ "runtime" : 0,
+ "originaltitle" : "Sandokan alla riscossa",
+ "playcount" : 0,
+ "writer" : [
+ "Luigi Capuano",
+ "Dietmar Behnke",
+ "Arpad DeRiso",
+ "Emilio Salgari"
+ ],
+ "country" : [],
+ "director" : [
+ "Luigi Capuano"
+ ],
+ "plot" : "When Sandokan learns he is the rightful heir to the throne of Malaysia, he immediately sets of to claim his land back.",
+ "rating" : 0,
+ "mpaa" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "",
+ "cast" : [],
+ "studio" : [],
+ "label" : "Saturday Night Live: The Best of Saturday TV Funhouse",
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4nocI1RF1i0dnFKwo77UMdQ86P.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0818577",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "plot" : "Sometimes controversial but always hilarious, Robert Smigel's \"TV Funhouse\" cartoons have contained some of Saturday Night Live's most memorable material in recent years. Ace and Gary, \"The Ambiguously Gay Duo\" (voiced by Steve Carell and Stephen Colbert), host this critically acclaimed collection, which features hits like \"X-Presidents,\" \"Saddam and Osama,\" \"The Narrator That Ruined Christmas,\" \"Smurfette,\" \"The New Adventures of Mr. T,\" \"Fun With Real Audio\" and more, with appearances by the full cast of SNL. No subject is off limits. Learn what's really inside the Disney vault, what Jewish folks do on Christmas Eve, and what makes Michael Jackson float. As Mr. T would say, \"If you believe in yourself, drink your school, stay in drugs, and don't do milk, you can get work!\"",
+ "rating" : 0,
+ "mpaa" : "Rated",
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "runtime" : 5040,
+ "playcount" : 0,
+ "originaltitle" : "Saturday Night Live: The Best of Saturday TV Funhouse",
+ "lastplayed" : "",
+ "movieid" : 246,
+ "title" : "Saturday Night Live: The Best of Saturday TV Funhouse",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Saturday Night Live: The Best of Saturday TV Funhouse (2006).mp4",
+ "genre" : [],
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2006,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4nocI1RF1i0dnFKwo77UMdQ86P.jpg/",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "name" : "Marisa Paredes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvUCGRyx1IjRvlNekMkqoFQAf8sD.jpg/",
+ "order" : 0,
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkBM23IB6xM722b1nNW9lHk1JJDy.jpg/",
+ "name" : "Imanol Arias"
+ },
+ {
+ "role" : "",
+ "order" : 2,
+ "name" : "Manuel Morón",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcjCofubxF0C4aZfiIonC5Varw7O.jpg/"
+ },
+ {
+ "name" : "Roger Casamajor",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f72Sn6Ztaz9ieaQkkgdsJeiuuG0l.jpg/",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "name" : "María Isasi",
+ "role" : "",
+ "order" : 4
+ }
+ ],
+ "label" : "Savages",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa2KLKIcACacWqjM5ltXiqJG1fSm.jpg/"
+ },
+ "imdbnumber" : "tt0295581",
+ "sorttitle" : "",
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "rating" : 0,
+ "plot" : "Spanish drama about anti-immigrant racism and family problems. Berta is a single nurse raising her deceased sister's three teenage children in a Spanish port city. The two boys are neo-Nazis with a flaming hatred for African immigrants, and the girl has a boyfriend who runs an underground business smuggling illegal aliens from Africa. Into this time bomb comes a cop, Eduardo, who is investigating the vicious assault of a black man. He and Berta fall for each other and make tigerish love in scenes that are much hotter than you might expect from middle-aged actors.",
+ "mpaa" : "Rated",
+ "country" : [],
+ "writer" : [],
+ "director" : [
+ "Carlos Molinero"
+ ],
+ "originaltitle" : "Salvajes",
+ "runtime" : 5880,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Salvajes (1989).mp4",
+ "title" : "Savages",
+ "movieid" : 241,
+ "genre" : [
+ "Drama",
+ "Foreign",
+ "Romance"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa2KLKIcACacWqjM5ltXiqJG1fSm.jpg/",
+ "year" : 2001,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "0",
+ "trailer" : ""
+ },
+ {
+ "cast" : [],
+ "studio" : [],
+ "tagline" : "",
+ "label" : "Scotch Highball",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "sorttitle" : "",
+ "imdbnumber" : "tt0152308",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {},
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Scotch Highball",
+ "title" : "Scotch Highball",
+ "movieid" : 247,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Scotch Highball (1930).mp4",
+ "lastplayed" : "",
+ "mpaa" : "Rated",
+ "plot" : "Various anthropomorphic animals flock to the stadium to watch a horse race. Released November 16, 1930",
+ "rating" : 0,
+ "director" : [
+ "Frank Moser"
+ ],
+ "writer" : [],
+ "country" : [],
+ "votes" : "0",
+ "trailer" : "",
+ "genre" : [],
+ "top250" : 0,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1930,
+ "thumbnail" : ""
+ },
+ {
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2007,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fma2tVU3EjgGnPn0uYQUwSCRTE50.jpg/",
+ "top250" : 0,
+ "genre" : [
+ "Mystery",
+ "Thriller",
+ "Drama"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "writer" : [],
+ "country" : [],
+ "director" : [],
+ "plot" : "",
+ "rating" : 0,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "title" : "Senza via d'uscita - Un amore spezzato",
+ "movieid" : 249,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Senza via d'uscita - Un amore spezzato (2007).mp4",
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Senza via d'uscita - Un amore spezzato",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fma2tVU3EjgGnPn0uYQUwSCRTE50.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0494183",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Senza via d'uscita - Un amore spezzato",
+ "tagline" : "",
+ "cast" : [],
+ "studio" : []
+ },
+ {
+ "writer" : [
+ "Wanderley Nogueira"
+ ],
+ "country" : [
+ "Brazil"
+ ],
+ "director" : [
+ "Francisco Cavalcanti"
+ ],
+ "plot" : "",
+ "rating" : 0,
+ "mpaa" : "",
+ "lastplayed" : "",
+ "title" : "Sexo, Sexo, Sexo",
+ "movieid" : 251,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sexo, Sexo, Sexo (1984).mp4",
+ "playcount" : 0,
+ "runtime" : 0,
+ "originaltitle" : "Sexo, Sexo, Sexo",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "thumbnail" : "",
+ "year" : 1984,
+ "top250" : 0,
+ "genre" : [
+ "Crime"
+ ],
+ "trailer" : "",
+ "votes" : "0",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Sexo, Sexo, Sexo",
+ "tagline" : "",
+ "cast" : [
+ {
+ "name" : "Livi Bianco",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Francisco Cavalcanti",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foUdo3i2uddskL6sTwyMNiQx2E9J.jpg/",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Francisco Di Franco",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdcGvsnhkUgsxFBUZqMMG4qXCZJL.jpg/",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Tatiana Dantas"
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmyjFSqPpNdbubE28N8PKnYmMNLU.jpg/",
+ "name" : "Turíbio Ruiz"
+ }
+ ],
+ "studio" : [
+ "Platéia Filmes"
+ ],
+ "art" : {},
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0441480"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "tagline" : "Where temptation lurks!",
+ "studio" : [
+ "Metro-Goldwyn-Mayer (MGM)"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Joe Norson",
+ "name" : "Farley Granger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuMawvHjbqcg2s1UnedJwD9Njzy5.jpg/"
+ },
+ {
+ "name" : "Cathy O'Donnell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdyBLKR0uajqDrHNkZxU4tm94nT9.jpg/",
+ "role" : "Ellen Norson",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "George Garsell / Mr. Howard",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8CunQATdgoNpj69xTTtxXDDxh1n.jpg/",
+ "name" : "James Craig"
+ },
+ {
+ "order" : 3,
+ "role" : "Capt. Walter Anderson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faG1o4eqMnbtBIRmlda25r2o4pan.jpg/",
+ "name" : "Paul Kelly"
+ },
+ {
+ "role" : "Harriette Sinton",
+ "order" : 4,
+ "name" : "Jean Hagen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuCuVvXXE392OWx0xptr9tnqoM0s.jpg/"
+ },
+ {
+ "order" : 5,
+ "role" : "Emil Lorrison",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxDk9GgK3ykYIiXeM5ybhoJUwlzg.jpg/",
+ "name" : "Paul Harvey"
+ },
+ {
+ "name" : "Edmon Ryan",
+ "role" : "Victor Backett",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Det. Stan Simon",
+ "name" : "Charles McGraw",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fm6jBxQ3ZnePMBtCEy3eTu168kg3.jpg/"
+ },
+ {
+ "role" : "Nick Drumman / Stevenson",
+ "order" : 8,
+ "name" : "Edwin Max"
+ },
+ {
+ "name" : "Adele Jergens",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f54sawiD0U5Vvw0Y9rjymyeebOZT.jpg/",
+ "order" : 9,
+ "role" : "Lucille 'Lucky' Colner"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmE3Rf2KI0RTnTNKlMUGuLAdqZCk.jpg/",
+ "name" : "Harry Bellaver",
+ "role" : "Larry Giff (cabdriver)",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "Harold Simpson (chief teller)",
+ "name" : "Whit Bissell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9NyUefvv8sbKVxkrhqubQp3V4Xr.jpg/"
+ },
+ {
+ "name" : "John Gallaudet",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fznauONmHXyCk0cXaZjr9YVzBgKW.jpg/",
+ "order" : 12,
+ "role" : "Gus Heldon (bar owner)"
+ },
+ {
+ "name" : "Esther Somers",
+ "order" : 13,
+ "role" : "Mrs. Malby (Ellen's mother)"
+ },
+ {
+ "order" : 14,
+ "role" : "Mr. Malby (Ellen's father)",
+ "name" : "Harry Antrim"
+ },
+ {
+ "name" : "Kind Donovan",
+ "role" : "Detective",
+ "order" : 15
+ },
+ {
+ "role" : "Charlie (policeman)",
+ "order" : 16,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs8Ian9N1Y5VVvB8C8OchOoQzRwk.jpg/",
+ "name" : "James Westerfield"
+ },
+ {
+ "role" : "Nurse Carter",
+ "order" : 17,
+ "name" : "Kathryn Givney"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5aAdqKXOZeWmAEGoMBOdJI3ZU0I.jpg/",
+ "name" : "Norman Leavitt",
+ "role" : "Bartender",
+ "order" : 18
+ },
+ {
+ "role" : "News Photographer",
+ "order" : 19,
+ "name" : "Herb Vigran"
+ },
+ {
+ "name" : "Sid Tomack",
+ "role" : "Louie",
+ "order" : 20
+ },
+ {
+ "order" : 21,
+ "role" : "Policeman",
+ "name" : "John Maxwell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmJbYXIQzEOVuxLopiCx0jKrDzcF.jpg/"
+ },
+ {
+ "order" : 22,
+ "role" : "Landlady",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fgMG30MRyu03iSkUSEnL6BHVORQB.jpg/",
+ "name" : "Minerva Urecal"
+ }
+ ],
+ "label" : "Side Street",
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3syhdejJZHnABB00K3WbBKzzLXy.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkuqC9BvMHEXkADGDQmDzbyxAkIb.jpg/"
+ },
+ "imdbnumber" : "tt0042960",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkuqC9BvMHEXkADGDQmDzbyxAkIb.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "rating" : 4.69999980926514,
+ "plot" : "A struggling young father-to-be gives in to temptation and impulsively steals an envelope of money from the office of a corrupt attorney. Instead of a few hundred dollars it contains $30,000 and when he decides to return the money things go wrong and that is only the beginning of his troubles.",
+ "mpaa" : "Rated",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Sydney Boehm"
+ ],
+ "director" : [
+ "Anthony Mann"
+ ],
+ "originaltitle" : "Side Street",
+ "runtime" : 4980,
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Side Street (1949).mp4",
+ "title" : "Side Street",
+ "movieid" : 252,
+ "genre" : [
+ "Crime"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3syhdejJZHnABB00K3WbBKzzLXy.jpg/",
+ "year" : 1950,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "votes" : "5",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=zR7gRki-XKM"
+ },
+ {
+ "top250" : 0,
+ "year" : 1992,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyDX66jzCGVt5dGpQwSMjh6mqiej.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "genre" : [
+ "Thriller"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=haWU10ipWQ8",
+ "votes" : "0",
+ "director" : [
+ "Amy Goldstein"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "Scott Kraft",
+ "Amy Goldstein"
+ ],
+ "mpaa" : "Rated",
+ "rating" : 0,
+ "plot" : "Lynette Walden and Chris Mulkey star in this action-packed ride through the sexy and dangerous world of flesh for sale and murder for hire.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Silencer (2013).mp4",
+ "movieid" : 322,
+ "title" : "The Silencer",
+ "lastplayed" : "",
+ "runtime" : 5400,
+ "playcount" : 0,
+ "originaltitle" : "The Silencer",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyDX66jzCGVt5dGpQwSMjh6mqiej.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "imdbnumber" : "tt0105408",
+ "sorttitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "The Silencer",
+ "studio" : [
+ "Crown International Pictures"
+ ],
+ "cast" : [
+ {
+ "role" : "Angelica",
+ "order" : 0,
+ "name" : "Lynette Walden"
+ },
+ {
+ "order" : 1,
+ "role" : "George",
+ "name" : "Chris Mulkey",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fibXN9Ho0nCF4jbGHeQYRHI8AMjH.jpg/"
+ },
+ {
+ "name" : "Paul Ganus",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fua4aYvUMVGcEar5HqKSXADIr6NT.jpg/",
+ "role" : "Tony",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fk1ZZlcZtQfnf26Lgthsb2URPpIt.jpg/",
+ "name" : "Jaime Gomez",
+ "role" : "Drew",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "Michael Keating",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvvaBkpr0r6az3DtOSKojVKfiBBc.jpg/",
+ "name" : "Morton Downey, Jr."
+ },
+ {
+ "order" : 5,
+ "role" : "Didi",
+ "name" : "Brook Susan Parker"
+ }
+ ],
+ "tagline" : "...a deadly game!"
+ },
+ {
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "Sinful Intrigue",
+ "tagline" : "",
+ "cast" : [
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Becky Mullen",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsDfrMxwAJNYTaBGvZqd31DPtS4E.jpg/"
+ },
+ {
+ "role" : "",
+ "order" : 2,
+ "name" : "Bobby Johnston",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyK94kE9LK9UjS7dQTMWGlvOgtbh.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwika6pwq5MRPCOMUlAHoJfC7wVH.jpg/",
+ "name" : "Griffin Drew",
+ "order" : 3,
+ "role" : ""
+ },
+ {
+ "name" : "Pía Reyes",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "name" : "Lorissa McComas",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ftphqF6TRChlIaxc9NvCJacTHuXM.jpg/",
+ "role" : "",
+ "order" : 24
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxfoAvfg01lsInrPDNLVQUKgOjEL.jpg/",
+ "name" : "Venesa Talor",
+ "order" : 25,
+ "role" : ""
+ },
+ {
+ "name" : "Teresa Politi",
+ "order" : 26,
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "order" : 27,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fo0ZLqM29kF8HfzZgZOc1cLvpX9h.jpg/",
+ "name" : "Cal Bartlett"
+ }
+ ],
+ "studio" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcRwgKy5QydgzfQ16KCu0KXUxj1Z.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "fanart" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0114455",
+ "writer" : [],
+ "country" : [],
+ "director" : [
+ "Edward Holzman"
+ ],
+ "plot" : "A mysterious attacker is preying on the rich and decadent set in an elite community.",
+ "rating" : 4,
+ "mpaa" : "Rated",
+ "lastplayed" : "",
+ "movieid" : 253,
+ "title" : "Sinful Intrigue",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sinful Intrigue (1995).mp4",
+ "runtime" : 5280,
+ "playcount" : 0,
+ "originaltitle" : "Sinful Intrigue",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "year" : 1995,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcRwgKy5QydgzfQ16KCu0KXUxj1Z.jpg/",
+ "top250" : 0,
+ "genre" : [],
+ "trailer" : "",
+ "votes" : "1"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "plotoutline" : "",
+ "label" : "Snow Angels",
+ "studio" : [
+ "Crossroads Films"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Annie Marchand",
+ "name" : "Kate Beckinsale",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjQoItQzlKokuhWydbwXUGg3i6bX.jpg/"
+ },
+ {
+ "name" : "Sam Rockwell",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsKmpynD57Nwd62hrkjlXFK9hzGg.jpg/",
+ "order" : 1,
+ "role" : "Glenn Marchand"
+ },
+ {
+ "role" : "Arthur Parkinson",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzNoj0cJHoD8RPUDOgTpVgJ0KcXM.jpg/",
+ "name" : "Michael Angarano"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fn3UV7ulkrqbY6BJ0RjrNbEam2cy.jpg/",
+ "name" : "Olivia Thirlby",
+ "role" : "Lila Raybern",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fahe3x5UzqGG83uHupLM4l1e0elt.jpg/",
+ "name" : "Amy Sedaris",
+ "order" : 4,
+ "role" : "Barb Petite"
+ },
+ {
+ "order" : 5,
+ "role" : "Louise Parkinson",
+ "name" : "Jeannetta Arnette",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuVaqZLhpTh5OmJDFSv7wim63sV1.jpg/"
+ },
+ {
+ "order" : 6,
+ "role" : "Don Parkinson",
+ "name" : "Griffin Dunne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fv3ahyscvpy5kt97TmfnGJ6w5xL6.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdbAeUQXzyf2HDFYtifWkHfE3SNW.jpg/",
+ "name" : "Nicky Katt",
+ "role" : "Nate Petite",
+ "order" : 7
+ },
+ {
+ "role" : "Warren Hardesky",
+ "order" : 8,
+ "name" : "Connor Paolo",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foOUW9uOmIjWXb98oPlmJlm4PZEJ.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcpINV4Q8IeVgSLyKz9ldzzAGr5n.jpg/",
+ "name" : "Tom Noonan",
+ "order" : 9,
+ "role" : "Mr. Chervenick"
+ }
+ ],
+ "tagline" : "Some will fall. Some will fly.",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa5pfKNyfQnd7Xsplnuwspf4IgJU.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjuFPUlJ0A1FCCDX2U3buaE4fm1i.jpg/"
+ },
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa5pfKNyfQnd7Xsplnuwspf4IgJU.jpg/",
+ "imdbnumber" : "tt0453548",
+ "sorttitle" : "",
+ "director" : [
+ "David Gordon Green"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [
+ "David Gordon Green"
+ ],
+ "mpaa" : "Rated R",
+ "rating" : 6.80000019073486,
+ "plot" : "Waitress Annie has separated from her suicidal alcoholic husband, Glenn. Glenn has become an evangelical Christian, but his erratic attempts at getting back into Annie's life have alarmed her. High school student Arthur works at Annie's restaurant, growing closer to a new kid in town, Lila, after class. When Glenn and Annie's daughter go missing, the whole town searches for her, as he increasingly spirals out of control.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Engel (2008).mp4",
+ "title" : "Snow Angels",
+ "movieid" : 89,
+ "lastplayed" : "",
+ "originaltitle" : "Snow Angels",
+ "runtime" : 6360,
+ "playcount" : 0,
+ "top250" : 0,
+ "year" : 2008,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjuFPUlJ0A1FCCDX2U3buaE4fm1i.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "genre" : [
+ "Drama",
+ "Romance"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=R1MH_8F0A24",
+ "votes" : "9"
+ },
+ {
+ "runtime" : 5340,
+ "playcount" : 0,
+ "originaltitle" : "Snow Day",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Snow Day (2014).mp4",
+ "title" : "Snow Day",
+ "movieid" : 255,
+ "rating" : 4.80000019073486,
+ "plot" : "When a school in upstate New York is snowed in, a group of students hi-jack a plow to keep the school closed..",
+ "mpaa" : "Rated PG",
+ "country" : [
+ "United States of America"
+ ],
+ "writer" : [],
+ "director" : [
+ "Chris Koch"
+ ],
+ "votes" : "8",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=C8ZMRDUd8F8",
+ "genre" : [
+ "Comedy",
+ "Family"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f21junCH93BjKhVZz1i8vLZ1NuxB.jpg/",
+ "year" : 2000,
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "top250" : 0,
+ "tagline" : "Roads closed. Schools shut. Rules were made to be frozen!",
+ "studio" : [
+ "Paramount Pictures"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Tom Brandston",
+ "name" : "Chevy Chase",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsvjpyYtPwtjvRxX9IZnOmOkhDOt.jpg/"
+ },
+ {
+ "order" : 1,
+ "role" : "Roger the Snowplowman",
+ "name" : "Chris Elliott",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feJwNqqR1957kTpRPbFsCRQdYIpZ.jpg/"
+ },
+ {
+ "name" : "Jean Smart",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjkCvCeviX1zFSBpvoAT6LRi6kTF.jpg/",
+ "order" : 2,
+ "role" : "Laura Brandston"
+ },
+ {
+ "role" : "Mr. Zellweger",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2forkeTSZYiHVKqeTntsD6e6VHuqc.jpg/",
+ "name" : "Iggy Pop"
+ },
+ {
+ "name" : "Pam Grier",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8NaNIFhKySQ2fkwSlhoOGFgqtHO.jpg/",
+ "role" : "Tina",
+ "order" : 4
+ },
+ {
+ "role" : "Claire Bonner",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foEvHO6yJnGHvD5vObI31UglPcwP.jpg/",
+ "name" : "Emmanuelle Chriqui"
+ },
+ {
+ "name" : "John Schneider",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f58389.jpg/",
+ "role" : "Chad Symmonz",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Lane Leonard",
+ "name" : "Schuyler Fisk",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fayjUYmT5XFPDoS4XEaAbvQchhpM.jpg/"
+ },
+ {
+ "role" : "Hal Brandston",
+ "order" : 8,
+ "name" : "Mark Webber",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6AA05AS6lnOjgFrA1nreIm9gBEP.jpg/"
+ }
+ ],
+ "label" : "Snow Day",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "imdbnumber" : "tt0184907",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft3eWXNlTb6pnZhw6jgTT1yS9DUc.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ft3eWXNlTb6pnZhw6jgTT1yS9DUc.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f21junCH93BjKhVZz1i8vLZ1NuxB.jpg/"
+ }
+ },
+ {
+ "year" : 1972,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffm05lzLf0Q5MLeN6DqtZObvqPSO.jpg/",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Thriller"
+ ],
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=QbRsz6ni3aM",
+ "votes" : "1",
+ "country" : [
+ "Italy"
+ ],
+ "writer" : [
+ "Italo Fasan",
+ "Luigi Angelo",
+ "Roberto Bianchi Montero"
+ ],
+ "director" : [
+ "Roberto Bianchi Montero"
+ ],
+ "rating" : 7,
+ "plot" : "A serial killer is on the loose. His victims are unfaithful wives and he always leaves compromising photographs at the crime scene.",
+ "mpaa" : "",
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/A Sweet Man (2006).mp4",
+ "title" : "So Sweet, So Dead",
+ "movieid" : 10,
+ "playcount" : 0,
+ "runtime" : 5700,
+ "originaltitle" : "Rivelazioni di un maniaco sessuale al capo della squadra mobile",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqWWBjgYvYZNzLBKREFPLUkfkDlG.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffm05lzLf0Q5MLeN6DqtZObvqPSO.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqWWBjgYvYZNzLBKREFPLUkfkDlG.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "imdbnumber" : "tt0069186",
+ "sorttitle" : "",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "label" : "So Sweet, So Dead",
+ "tagline" : "One day you'll get closer to the violence of death... but THIS IS AS FAR AS WE DARE TAKE YOU... with any hope of bringing you back!",
+ "studio" : [
+ "Produzioni Cinematografiche Romane (P.C.R.)"
+ ],
+ "cast" : [
+ {
+ "role" : "Inspector Capuana",
+ "order" : 0,
+ "name" : "Farley Granger",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fuMawvHjbqcg2s1UnedJwD9Njzy5.jpg/"
+ },
+ {
+ "role" : "Barbara Capuana",
+ "order" : 1,
+ "name" : "Sylva Koscina",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjwkKgsRYHIkHMSNcGAeuYA829i3.jpg/"
+ },
+ {
+ "role" : "Rosella",
+ "order" : 2,
+ "name" : "Jessica Dublin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiFosZL3i9LyyfGbhamzINEiK6xF.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "Renata",
+ "name" : "Krista Nell"
+ },
+ {
+ "name" : "Silvano Tranquilli",
+ "role" : "Paolo Santangeli",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "Franca Santangeli",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fh3pSwtCbBQQybMr01gOGQ6uGAWc.jpg/",
+ "name" : "Annabella Incontrera"
+ },
+ {
+ "order" : 6,
+ "role" : "Professor Casali",
+ "name" : "Chris Avram"
+ },
+ {
+ "name" : "Femi Benussi",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi8r9ePuoQX1KM3hs1WRHWhNwEZx.jpg/",
+ "role" : "Serena",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Andrea Scotti"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdsyndJvqLtVVnWaVTyiJKmg5uCq.jpg/",
+ "name" : "Luciano Rossi",
+ "order" : 9,
+ "role" : "Gastone"
+ },
+ {
+ "order" : 10,
+ "role" : "Lilly (as Susan Scott)",
+ "name" : "Nieves Navarro",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8JY8t5ZKvkjLihErseiFGgku02n.jpg/"
+ }
+ ]
+ },
+ {
+ "setid" : 0,
+ "tag" : [],
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhKTwHT6WtYhtG8U2PJQSQH2y4oD.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8AazWuNBQV7QFjb9XNzJLox0Zey.jpg/"
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt1285016",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8AazWuNBQV7QFjb9XNzJLox0Zey.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "cast" : [
+ {
+ "role" : "Mark Zuckerberg",
+ "order" : 0,
+ "name" : "Jesse Eisenberg",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc01G88eCpiLLmT4RIWGkr7nm31o.jpg/"
+ },
+ {
+ "name" : "Andrew Garfield",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flYzsWRuCdJqrOqWsc2ujzTKuVk5.jpg/",
+ "order" : 1,
+ "role" : "Eduardo Saverin"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flB3pku743f3N82AVXz10fGGBAgL.jpg/",
+ "name" : "Justin Timberlake",
+ "order" : 2,
+ "role" : "Sean Parker"
+ },
+ {
+ "role" : "Erica",
+ "order" : 3,
+ "name" : "Rooney Mara",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhV6vuYtrnxWUOFsL0EGv3quK8II.jpg/"
+ },
+ {
+ "role" : "Billy Olsen",
+ "order" : 4,
+ "name" : "Bryan Barter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7OOfftiFK4eszUA5WFSCsoo2nvT.jpg/"
+ },
+ {
+ "role" : "Phoenix Club President",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fj8SdVfAPgotZDbCtPoBCCJ26F1V.jpg/",
+ "name" : "Dustin Fitzsimons"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbqzKfZJdchWCgB3mZ7WjYE6lyar.jpg/",
+ "name" : "Armie Hammer",
+ "role" : "Cameron Winklevoss / Tyler Winklevoss",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "Dustin Moskovitz",
+ "name" : "Joseph Mazzello",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fzsBGvymDqB737PerJTqhS9dPuBd.jpg/"
+ },
+ {
+ "order" : 8,
+ "role" : "Chris Hughes",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8OGFpQD6gH6krExv5VoNi9VOyWA.jpg/",
+ "name" : "Patrick Mapel"
+ },
+ {
+ "name" : "Max Minghella",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl3Nln69A24hs5qB9BLNsCs8da3V.jpg/",
+ "role" : "Divya Narendra",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "Phoenix Member Playing Facemash",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f4GxaRS1kK15K6e86NiKvUNH6zf8.jpg/",
+ "name" : "Toby Meuli"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcT29b1741g4WCHDnJ21akeq0sWO.jpg/",
+ "name" : "Malese Jow",
+ "role" : "Alice",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "Christy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fh5zeq4ZahHxcLYivgyeyfSYGmmh.jpg/",
+ "name" : "Brenda Song"
+ },
+ {
+ "name" : "Dakota Johnson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fA4CWEXsxIhKiarHRRmwaGNF3igd.jpg/",
+ "order" : 13,
+ "role" : "Amelia Ritter"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2foSdfAF2W6v7ELe0yQKWVMJDjXp5.jpg/",
+ "name" : "Trevor Wright",
+ "role" : "B.U. Guy in Bra",
+ "order" : 14
+ },
+ {
+ "order" : 15,
+ "role" : "Gretchen's Associate",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5nSo6tSC7eT4Yum5Qd38yIJ2K5M.jpg/",
+ "name" : "Adina Porter"
+ },
+ {
+ "name" : "Rashida Jones",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fAfzR031nrmKhnsfrU7VDqpG8pQd.jpg/",
+ "order" : 16,
+ "role" : "Marylin Delpy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f9MofujgqZ8kikXkHgNsBI17Lnt2.jpg/",
+ "name" : "Felisha Terrell",
+ "order" : 17,
+ "role" : "Beautiful Woman"
+ },
+ {
+ "role" : "Facebook Lawyer",
+ "order" : 18,
+ "name" : "Peter Holden",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxMCjCyynanDlcX0GdnsEhseSINZ.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f31FZf0TdcYm53S9R9q1KWNNxVaH.jpg/",
+ "name" : "David Selby",
+ "role" : "Gage",
+ "order" : 19
+ },
+ {
+ "order" : 20,
+ "role" : "Phoenix Club Pledge",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3fN9Lc0MZhleEiPaVUZO2Fu0rH1.jpg/",
+ "name" : "Chris Gouchoe"
+ },
+ {
+ "role" : "Student Playing Facemash",
+ "order" : 21,
+ "name" : "James Dastoli"
+ },
+ {
+ "order" : 22,
+ "role" : "Student Playing Facemash",
+ "name" : "Robert Dastoli"
+ },
+ {
+ "role" : "Student Playing Facemash",
+ "order" : 23,
+ "name" : "Scotty Crowe"
+ },
+ {
+ "role" : "Erica's Roommate",
+ "order" : 24,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feMxlMzKb1qRLr1fnjORhwAJCNL4.jpg/",
+ "name" : "Marcella Lentz-Pope"
+ },
+ {
+ "name" : "Barry Livingston",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmttrxc8jZnd2y0qAmdSKJpSUDNe.jpg/",
+ "role" : "Mr. Cox",
+ "order" : 25
+ },
+ {
+ "order" : 26,
+ "role" : "Student in Communications Office",
+ "name" : "Randy Evans"
+ },
+ {
+ "name" : "Denise Grayson",
+ "order" : 27,
+ "role" : "Gretchen"
+ },
+ {
+ "order" : 28,
+ "role" : "Sy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa0uOMxCiYqvcr3h49jopyKzKVfX.jpg/",
+ "name" : "John Getz"
+ },
+ {
+ "order" : 29,
+ "role" : "Court Reporter",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flP1Gcifg2deGO8GicwfNfCIFbAt.jpg/",
+ "name" : "Carrie Armstrong"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnNMhtY1gBYwnjZZpeGGW16fVXC5.jpg/",
+ "name" : "Josh Pence",
+ "order" : 30,
+ "role" : "Tyler Winklevoss"
+ },
+ {
+ "order" : 31,
+ "role" : "Ad Board Chairwoman",
+ "name" : "Pamela Roylance"
+ },
+ {
+ "role" : "CS Lab Professor",
+ "order" : 32,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f43BX6IIcT8krVKLIGPEy9v2OOcD.jpg/",
+ "name" : "Brian Palermo"
+ },
+ {
+ "name" : "Brett Leigh",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnl4eus0kRy4L1i6uma88zDpS9uZ.jpg/",
+ "role" : "Phoenix Club Hazer",
+ "order" : 33
+ },
+ {
+ "order" : 34,
+ "role" : "KC's Friend",
+ "name" : "Cali Fredrichs"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fp5AgNnqgGC4FyZoQTIjwykwQxOy.jpg/",
+ "name" : "Shelby Young",
+ "role" : "KC",
+ "order" : 35
+ },
+ {
+ "name" : "Abhi Sinha",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffEw3JFbkxBLOi0hDjk8Zpgs2Ceo.jpg/",
+ "order" : 36,
+ "role" : "Vikram"
+ },
+ {
+ "order" : 37,
+ "role" : "Bob",
+ "name" : "Mark Saul",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fivtI1ny3U650gTfzBDoFLfnVgA7.jpg/"
+ },
+ {
+ "role" : "Reggie",
+ "order" : 38,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f37kPpQe3juNupCgPbwBrZK3BXlk.jpg/",
+ "name" : "Cedric Sanders"
+ },
+ {
+ "order" : 39,
+ "role" : "Larry Summers' Secretary",
+ "name" : "Nancy Linari"
+ },
+ {
+ "role" : "Larry Summers",
+ "order" : 40,
+ "name" : "Douglas Urbanski",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fpISbMb3NbOb6meKgl4GrKLp7hUo.jpg/"
+ },
+ {
+ "role" : "Anne",
+ "order" : 41,
+ "name" : "Inger Tudor"
+ },
+ {
+ "role" : "Ad Executive",
+ "order" : 42,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwmvbawQwKeaDYb2GzoOMyfxQogI.jpg/",
+ "name" : "Aaron Sorkin"
+ },
+ {
+ "role" : "Tori",
+ "order" : 43,
+ "name" : "Mariah Bonner",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc8zup1I9XwkdtOpPpBqHpkiESwn.jpg/"
+ },
+ {
+ "name" : "Kyle Fain",
+ "order" : 44,
+ "role" : "Intern Eric"
+ },
+ {
+ "name" : "Christopher Khai",
+ "order" : 45,
+ "role" : "Intern Ian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f346IZeYxGDhLwWJEUHn25MykyRc.jpg/",
+ "name" : "Emma Fitzpatrick",
+ "role" : "Sharon",
+ "order" : 46
+ },
+ {
+ "name" : "James Shanklin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwkxQIGquwfH4SjcTFNHedge4kYx.jpg/",
+ "order" : 47,
+ "role" : "Prince Albert"
+ },
+ {
+ "role" : "Prince Albert's Aide",
+ "order" : 48,
+ "name" : "Alex Reznik"
+ },
+ {
+ "role" : "Howard Winklevoss",
+ "order" : 49,
+ "name" : "John Hayden"
+ },
+ {
+ "role" : "Mr. Kenwright",
+ "order" : 50,
+ "name" : "Oliver Muirhead",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvyWab6wD6r3yP56FA87hwInmdPZ.jpg/"
+ },
+ {
+ "name" : "Amy Ferguson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f3d3WDkIYiRSkwpgkmAHB2jaDonW.jpg/",
+ "role" : "Stoned Girl",
+ "order" : 51
+ },
+ {
+ "order" : 52,
+ "role" : "Bank Teller",
+ "name" : "Monique Edwards"
+ },
+ {
+ "role" : "Peter Thiel's Assistant",
+ "order" : 53,
+ "name" : "Cayman Grant"
+ },
+ {
+ "name" : "Wallace Langham",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fUODZ2FuyJixy8CCqv190KIlncR.jpg/",
+ "role" : "Peter Thiel",
+ "order" : 54
+ },
+ {
+ "name" : "Scott Lawrence",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmschdp0EoTCi93GY4So08YlyeYI.jpg/",
+ "role" : "Maurice",
+ "order" : 55
+ },
+ {
+ "order" : 56,
+ "role" : "Facebook Lawyer",
+ "name" : "Darin Cooper",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fewACr0jcusD6d3psRFpVdjAq4La.jpg/"
+ },
+ {
+ "role" : "Mackey",
+ "order" : 57,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdy388XRLRhBagFHpYICFcgZ3AH7.jpg/",
+ "name" : "Jared Hillman"
+ },
+ {
+ "order" : 58,
+ "role" : "Ashleigh",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fsE8EzhEraE2D7AwioglnpIMcCK8.jpg/",
+ "name" : "Caitlin Gerard"
+ },
+ {
+ "role" : "Sorority Girl",
+ "order" : 59,
+ "name" : "Lacey Beeman",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fh8coFumNNoCK6wJ0XYXSeO6Q6C7.jpg/"
+ },
+ {
+ "role" : "Sorority Girl",
+ "order" : 60,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fvMrk1vtdKZPFcPlfl7KTJhRTXwp.jpg/",
+ "name" : "Cherilyn Wilson"
+ },
+ {
+ "order" : 61,
+ "role" : "Fraternity Guy",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f73T6DLPggbDaIDLz162o01dCg6I.jpg/",
+ "name" : "Caleb Landry Jones"
+ },
+ {
+ "name" : "Franco Vega",
+ "role" : "Policeman",
+ "order" : 62
+ },
+ {
+ "name" : "Andrew Thacher",
+ "role" : "Policeman",
+ "order" : 63
+ },
+ {
+ "name" : "Noah Baron",
+ "role" : "Student (uncredited)",
+ "order" : 64
+ },
+ {
+ "order" : 65,
+ "role" : "Student (uncredited)",
+ "name" : "Jesse Heiman"
+ },
+ {
+ "name" : "David Broyles",
+ "order" : 66,
+ "role" : "Student Playing Facemash (uncredited)"
+ },
+ {
+ "name" : "Mike Bash",
+ "order" : 67,
+ "role" : "Bob (uncredited)"
+ },
+ {
+ "name" : "Tony Calle",
+ "order" : 68,
+ "role" : "Harvard Student (uncredited)"
+ },
+ {
+ "name" : "Elliott Ehlers",
+ "role" : "Harvard Student (uncredited)",
+ "order" : 69
+ },
+ {
+ "name" : "Brett A. Newton",
+ "order" : 70,
+ "role" : "Harvard Student (uncredited)"
+ },
+ {
+ "role" : "Harvard Student (uncredited)",
+ "order" : 71,
+ "name" : "Nathan Dean Snyder"
+ },
+ {
+ "order" : 72,
+ "role" : "Harvard Student (uncredited)",
+ "name" : "Patrick Michael Strange"
+ },
+ {
+ "name" : "Kristen Clement",
+ "role" : "Party Girl (uncredited)",
+ "order" : 73
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkEuagiGVKX3UlNWTXM2dCnYygND.jpg/",
+ "name" : "Tatum Miranda",
+ "order" : 74,
+ "role" : "Party Girl (uncredited)"
+ },
+ {
+ "name" : "Chad Davis",
+ "role" : "B.U. Guy in Bra #2 (uncredited)",
+ "order" : 75
+ },
+ {
+ "name" : "Calvin Dean",
+ "role" : "Mr. Edwards (uncredited)",
+ "order" : 76
+ },
+ {
+ "order" : 77,
+ "role" : "Waiter (uncredited)",
+ "name" : "Tony DeSean"
+ },
+ {
+ "name" : "Vincent Rivera",
+ "order" : 78,
+ "role" : "Waiter (uncredited)"
+ },
+ {
+ "role" : "Luther (uncredited)",
+ "order" : 79,
+ "name" : "Jeffrey Feingold"
+ },
+ {
+ "role" : "Regatta Spectator (uncredited)",
+ "order" : 80,
+ "name" : "Jason Flemyng",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkzzQoiO3bbi2UeDJL9QtBT5jaQn.jpg/"
+ },
+ {
+ "order" : 81,
+ "role" : "Pedestrian (uncredited)",
+ "name" : "Shawn Fogarty"
+ },
+ {
+ "order" : 82,
+ "role" : "MIT Student (uncredited)",
+ "name" : "Carlos Foglia"
+ },
+ {
+ "order" : 83,
+ "role" : "Popular Harvard Student (uncredited)",
+ "name" : "Bryan Forrest"
+ },
+ {
+ "name" : "Jessica Franz",
+ "role" : "Sorority Girl (uncredited)",
+ "order" : 84
+ },
+ {
+ "name" : "Eli Jane",
+ "role" : "Dancer (uncredited)",
+ "order" : 85
+ },
+ {
+ "order" : 86,
+ "role" : "Dancer (uncredited)",
+ "name" : "Sara Murphy"
+ },
+ {
+ "role" : "Go-Go Dancer (uncredited)",
+ "order" : 87,
+ "name" : "Kandis Mak"
+ },
+ {
+ "order" : 88,
+ "role" : "Harvard Note-Passer (uncredited)",
+ "name" : "Eric La Barr"
+ },
+ {
+ "role" : "Final Club Girl (uncredited)",
+ "order" : 89,
+ "name" : "Naina Michaud"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fl9aXKjK1AZxTT9Z04vorgDPLhkE.jpg/",
+ "name" : "Riley Voelkel",
+ "role" : "Final Club Girl (uncredited)",
+ "order" : 90
+ },
+ {
+ "name" : "Miriam Pultro",
+ "role" : "Romantic Girlfriend (uncredited)",
+ "order" : 91
+ },
+ {
+ "order" : 92,
+ "role" : "Club Waitress (uncredited)",
+ "name" : "Tia Robinson"
+ },
+ {
+ "order" : 93,
+ "role" : "Dorm Room Guy #2 (uncredited)",
+ "name" : "Jeff Rosick"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhXr0qgdA3kmlba45GaFIVfTqpgv.jpg/",
+ "name" : "Alexandra Ruddy",
+ "order" : 94,
+ "role" : "Ruby Skye Waitress (uncredited)"
+ },
+ {
+ "name" : "Adrienne Rusk",
+ "role" : "Club 66 Girl (uncredited)",
+ "order" : 95
+ },
+ {
+ "order" : 96,
+ "role" : "Art History Professor (uncredited)",
+ "name" : "Rebecca Tilney",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fa5QT8ClAg6yTacjNIpAbG2d6EJh.jpg/"
+ },
+ {
+ "name" : "Georgina Tolentino",
+ "role" : "Club-Goer (uncredited)",
+ "order" : 97
+ }
+ ],
+ "studio" : [
+ "Columbia Pictures"
+ ],
+ "tagline" : "You don't get to 500 million friends without making a few enemies.",
+ "label" : "The Social Network",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "year" : 2010,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhKTwHT6WtYhtG8U2PJQSQH2y4oD.jpg/",
+ "votes" : "1522",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=2RB3edZyeYw",
+ "mpaa" : "Rated PG-13",
+ "plot" : "On a fall night in 2003, Harvard undergrad and computer programming genius Mark Zuckerberg sits down at his computer and heatedly begins working on a new idea. In a fury of blogging and programming, what begins in his dorm room as a small site among friends soon becomes a global social network and a revolution in communication. A mere six years and 500 million friends later, Mark Zuckerberg is the youngest billionaire in history... but for this entrepreneur, success leads to both personal and legal complications.",
+ "rating" : 7,
+ "director" : [
+ "David Fincher"
+ ],
+ "writer" : [
+ "Aaron Sorkin"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "playcount" : 0,
+ "runtime" : 7200,
+ "originaltitle" : "The Social Network",
+ "title" : "The Social Network",
+ "movieid" : 312,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/The Network (2011).mp4",
+ "lastplayed" : ""
+ },
+ {
+ "tag" : [],
+ "setid" : 0,
+ "showlink" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8cV0BDiJJECUBEBMakIiW5YaC6I.jpg/",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkV4cgi60QZ25nxTPJtLI68HWNNo.jpg/"
+ },
+ "imdbnumber" : "tt1224455",
+ "sorttitle" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fkV4cgi60QZ25nxTPJtLI68HWNNo.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plotoutline" : "",
+ "studio" : [
+ "Sahamongkolfilm Co."
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Tobias Christiansen",
+ "name" : "Nicolas Bro",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbPfMDMjbFZzelnZQfLzVTk6qlwi.jpg/"
+ },
+ {
+ "role" : "Koi",
+ "order" : 1,
+ "name" : "Pimwalee Thampanyasan"
+ },
+ {
+ "role" : "Cha",
+ "order" : 2,
+ "name" : "Petch Mekoh"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f5UT1pq4kVwOn5yRZSvvansYC96m.jpg/",
+ "name" : "Somrak Khamsing",
+ "role" : "Uncle",
+ "order" : 3
+ },
+ {
+ "name" : "Art Supawatt Purdy",
+ "order" : 4,
+ "role" : ""
+ },
+ {
+ "name" : "Natee Srimanta",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fc0tLB15WCDmSoSkei2Ji7R8ouOf.jpg/",
+ "name" : "Porntip Papanai"
+ }
+ ],
+ "tagline" : "",
+ "label" : "Soi Cowboy",
+ "genre" : [
+ "Drama"
+ ],
+ "top250" : 0,
+ "year" : 2008,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8cV0BDiJJECUBEBMakIiW5YaC6I.jpg/",
+ "set" : "",
+ "dateadded" : "2016-01-16 13:48:38",
+ "votes" : "2",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=z2xJAsr2vO8",
+ "mpaa" : "Rated",
+ "rating" : 3.29999995231628,
+ "plot" : "This film concerns a Scandinavian gentleman who works in film, perhaps as a sort of financier/director/producer. He lives in Thailand with his Thai girlfriend, and most of the film is an exploration of that relationship. We also see her brother, and a gangster that he works for.",
+ "director" : [
+ "Thomas Clay"
+ ],
+ "country" : [
+ "Thailand"
+ ],
+ "writer" : [
+ "Thomas Clay"
+ ],
+ "originaltitle" : "ซอยคาวบอย",
+ "runtime" : 7020,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Soi Cowboy (2008).mp4",
+ "movieid" : 256,
+ "title" : "Soi Cowboy",
+ "lastplayed" : ""
+ },
+ {
+ "trailer" : "",
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f652fOXLiFo8EOGO9PvQl9luF9cQ.jpg/",
+ "year" : 2010,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "genre" : [
+ "Drama"
+ ],
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Anywhere But Here (2013).mp4",
+ "title" : "Some Dogs Bite",
+ "movieid" : 24,
+ "runtime" : 5100,
+ "originaltitle" : "Some Dogs Bite",
+ "playcount" : 0,
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [
+ "Lin Coghlan"
+ ],
+ "director" : [
+ "Marc Munden"
+ ],
+ "rating" : 0,
+ "plot" : "Halliday (19), Casey (14) and baby Severino have been split up after their mothers death. Casey is in care; Severino has been fostered with a view to adoption, and no one really cares what Halliday does; even his mum thought he was a waste of space.",
+ "mpaa" : "Rated",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fifR1UeQk4j6Cmwrhqhts8UREDCW.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "imdbnumber" : "tt1518191",
+ "sorttitle" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fifR1UeQk4j6Cmwrhqhts8UREDCW.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f652fOXLiFo8EOGO9PvQl9luF9cQ.jpg/"
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "label" : "Some Dogs Bite",
+ "tagline" : "",
+ "studio" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Aaron D. Taylor"
+ },
+ {
+ "role" : "",
+ "order" : 1,
+ "name" : "Thomas Brodie-Sangster",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fcN47YiZhB6yOZwSNShgMPD8VwQ2.jpg/"
+ },
+ {
+ "name" : "Kian Smith",
+ "order" : 2,
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Cory Smith"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Lewis Ryan Dickinson"
+ }
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "label" : "Song of Norway",
+ "tagline" : "A song for the heart to sing...for the world to love!",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "Edvard Grieg",
+ "name" : "Toralv Maurstad"
+ },
+ {
+ "order" : 1,
+ "role" : "Nina Hagerup",
+ "name" : "Florence Henderson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faVHh2lJOB7T3UAHAhGDbb5Qvqqz.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "Therese Berg",
+ "name" : "Christina Schollin",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnLbyNdX6Yk9miRV3QhjJeIzjYgg.jpg/"
+ },
+ {
+ "order" : 3,
+ "role" : "Richard Nordraak",
+ "name" : "Frank Porretta"
+ },
+ {
+ "name" : "Harry Secombe",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fyRCCb8HiBy7ynq1dG0Cq88p5Bin.jpg/",
+ "order" : 4,
+ "role" : "Bioernstjerne Bjoernson"
+ },
+ {
+ "order" : 5,
+ "role" : "Berg",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7R4jQRl8CTFYCYpiQ1O2AjYtiK6.jpg/",
+ "name" : "Robert Morley"
+ },
+ {
+ "order" : 6,
+ "role" : "Krogstad",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faf1aBRi4UccaxtmDPWEtlfy1vXE.jpg/",
+ "name" : "Edward G. Robinson"
+ },
+ {
+ "name" : "Elizabeth Larner",
+ "order" : 7,
+ "role" : "Mrs. Bjoernson"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjhKFc29QjUTfgqNMQqpAO79swQq.jpg/",
+ "name" : "Oskar Homolka",
+ "role" : "Engstrand",
+ "order" : 8
+ },
+ {
+ "name" : "Frederick Jaeger",
+ "role" : "Henrik Ibsen",
+ "order" : 10
+ },
+ {
+ "role" : "Franz Liszt",
+ "order" : 11,
+ "name" : "Henry Gilbert"
+ },
+ {
+ "name" : "Richard Wordsworth",
+ "role" : "Hans Christian Andersen",
+ "order" : 12
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fq72Xm6o0O6rr72rrIfMWW1co4HA.jpg/",
+ "name" : "Bernard Archard",
+ "role" : "George Nordraak",
+ "order" : 13
+ },
+ {
+ "role" : "Mr. Hagerup",
+ "order" : 14,
+ "name" : "John Barrie"
+ },
+ {
+ "name" : "Wenche Foss",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6RmsOTav5ZTCAKYtBJBQiaX2eRr.jpg/",
+ "role" : "Mrs. Hagerup",
+ "order" : 15
+ },
+ {
+ "role" : "Gade",
+ "order" : 16,
+ "name" : "Ronald Adam"
+ },
+ {
+ "role" : "Mrs. Thoresen",
+ "order" : 17,
+ "name" : "Aline Towne",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6F75tJg7WY5p4C5b1UrOkkFQzBo.jpg/"
+ },
+ {
+ "order" : 18,
+ "role" : "Angry Woman",
+ "name" : "Nan Munro"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fb3aczw5adgqvNv6uC4NHYWGDCGL.jpg/",
+ "name" : "James Hayter",
+ "role" : "Butler to Berg",
+ "order" : 19
+ },
+ {
+ "name" : "Erik Chitty",
+ "role" : "Helsted",
+ "order" : 20
+ },
+ {
+ "name" : "Manoug Parikian",
+ "role" : "Violinist",
+ "order" : 21
+ },
+ {
+ "name" : "Richard Vernon",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fbl4auPonPHOCZcxdPbePbpeK5hS.jpg/",
+ "role" : "Councilman",
+ "order" : 22
+ },
+ {
+ "name" : "Ernest Clark",
+ "role" : "Councilman",
+ "order" : 23
+ },
+ {
+ "order" : 24,
+ "role" : "Bjornson's Secretary",
+ "name" : "Eli Lindtner"
+ }
+ ],
+ "studio" : [
+ "ABC Pictures"
+ ],
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7oB51Ve9gCEYjxYKuFmvqRuCHS7.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "sorttitle" : "",
+ "imdbnumber" : "tt0066393",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f7oB51Ve9gCEYjxYKuFmvqRuCHS7.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqiFkn5QuVtnD8lMs844y0NgXBfp.jpg/"
+ },
+ "showlink" : [],
+ "setid" : 0,
+ "tag" : [],
+ "lastplayed" : "",
+ "movieid" : 258,
+ "title" : "Song of Norway",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Song of Norway (1970).mp4",
+ "originaltitle" : "Song of Norway",
+ "runtime" : 8280,
+ "playcount" : 0,
+ "writer" : [
+ "Homer Curran",
+ "Andrew L. Stone"
+ ],
+ "country" : [
+ "United States of America"
+ ],
+ "director" : [
+ "Andrew L. Stone"
+ ],
+ "plot" : "Like the play from which it derived, the film tells of the early struggles of composer Edvard Grieg and his attempts to develop an authentic Norwegian national music. It stars Toralv Maurstad as Grieg and features an international cast including Florence Henderson, Christina Schollin, Robert Morley, Harry Secombe, Oskar Homolka, Edward G. Robinson and Frank Porretta (as Rikard Nordraak). Filmed in Super Panavision 70 by Davis Boulton and presented in single-camera Cinerama in some countries, it was an attempt to capitalise on the success of The Sound of Music.",
+ "rating" : 1.79999995231628,
+ "mpaa" : "Rated G",
+ "trailer" : "",
+ "votes" : "1",
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fqiFkn5QuVtnD8lMs844y0NgXBfp.jpg/",
+ "year" : 1970,
+ "top250" : 0,
+ "genre" : [
+ "Music",
+ "Drama"
+ ]
+ },
+ {
+ "imdbnumber" : "tt1805412",
+ "sorttitle" : "",
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fux3IpwLhske3yK6sVWicn7GjDLq.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "showlink" : [],
+ "tag" : [],
+ "setid" : 0,
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fux3IpwLhske3yK6sVWicn7GjDLq.jpg/",
+ "poster" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxaUa4HYsSsFGlas8YctOWhwJwm0.jpg/"
+ },
+ "tagline" : "High Fidelity with a northern accent",
+ "studio" : [],
+ "cast" : [],
+ "label" : "Sound It Out",
+ "plotoutline" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "votes" : "2",
+ "trailer" : "plugin://plugin.video.youtube/?action=play_video&videoid=rWo56xSJf0w",
+ "genre" : [
+ "Documentary"
+ ],
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxaUa4HYsSsFGlas8YctOWhwJwm0.jpg/",
+ "year" : 2011,
+ "dateadded" : "2016-01-16 13:48:38",
+ "set" : "",
+ "top250" : 0,
+ "runtime" : 4500,
+ "originaltitle" : "Sound It Out",
+ "playcount" : 0,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/movies/Sound It Out (2011).mp4",
+ "title" : "Sound It Out",
+ "movieid" : 259,
+ "rating" : 4.80000019073486,
+ "plot" : "Over the last five years an independent record shop has closed in the UK every three days. SOUND IT OUT is a documentary portrait of the very last surviving vinyl record shop in Teesside, North East England. A cultural haven in one of the most deprived areas in the UK, SOUND IT OUT documents a place that is thriving against the odds and the local community that keeps it alive. Directed by Jeanie Finlay who grew up three miles from the shop. A distinctive, funny and intimate film about men, the North and the irreplaceable role music plays in our lives. High Fidelity with a Northern Accent.",
+ "mpaa" : "",
+ "country" : [
+ "United Kingdom"
+ ],
+ "writer" : [],
+ "director" : [
+ "Jeanie Finlay"
+ ]
+ }
+ ],
+ "limits" : {
+ "start" : 0,
+ "end" : 300,
+ "total" : 363
+ }
+ },
+ "jsonrpc" : "2.0"
+}
diff --git a/app/src/debug/assets/VideoLibrary.GetEpisodes.json b/app/src/debug/assets/VideoLibrary.GetEpisodes.json
new file mode 100644
index 0000000..2677f9b
--- /dev/null
+++ b/app/src/debug/assets/VideoLibrary.GetEpisodes.json
@@ -0,0 +1,50320 @@
+{
+ "id" : "libTVShowEpisodes",
+ "jsonrpc" : "2.0",
+ "result" : {
+ "limits" : {
+ "start" : 0,
+ "end" : 8,
+ "total" : 8
+ },
+ "episodes" : [
+ {
+ "votes" : "1",
+ "thumbnail" : "",
+ "playcount" : 1,
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 10
+ }
+ },
+ "plot" : "During the series premiere of \"3,\" 29-year-old entrepreneur April Francis, 34-year-old pharmaceutical sales rep Rachel Harley and 24-year-old model Libby Lopez meet for the first time at their luxurious lakeside home in Chicago, where they will begin their quest for love by meeting eligible men from across the country.",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E1.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "My Guy Is Out There",
+ "seasonid" : 6,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "4360458"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "2017-01-16 17:12:43",
+ "tvshowid" : 2,
+ "label" : "1x01. My Guy Is Out There",
+ "firstaired" : "2012-07-26",
+ "cast" : [],
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 9,
+ "rating" : 10,
+ "showtitle" : "3",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1
+ },
+ {
+ "cast" : [],
+ "firstaired" : "2012-07-29",
+ "director" : [],
+ "label" : "1x02. We Will Meet Again",
+ "rating" : 0,
+ "showtitle" : "3",
+ "episodeid" : 10,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E2.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "April, Libby and Rachel set off in different directions across the country to begin their one-on-one dates.",
+ "episode" : 2,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "playcount" : 1,
+ "specialsortepisode" : -1,
+ "fanart" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ "seasonid" : 6,
+ "title" : "We Will Meet Again",
+ "userrating" : 0,
+ "tvshowid" : 2,
+ "lastplayed" : "2017-02-06 16:38:57",
+ "uniqueid" : {
+ "unknown" : "4364123"
+ },
+ "runtime" : 3600
+ },
+ {
+ "plot" : "The men are shocked when the ladies' loved ones crash their next round of dates.",
+ "episode" : 3,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E3.mp4",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "You'll See the Sparkle",
+ "seasonid" : 6,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4367233"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 2,
+ "label" : "1x03. You'll See the Sparkle",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-08-05",
+ "writer" : [],
+ "episodeid" : 11,
+ "rating" : 0,
+ "showtitle" : "3",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1
+ },
+ {
+ "label" : "1x04. It's Totally Worth the Wait...I Promise",
+ "director" : [],
+ "firstaired" : "2012-08-12",
+ "cast" : [],
+ "writer" : [],
+ "episodeid" : 12,
+ "rating" : 0,
+ "showtitle" : "3",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "plot" : "Libby has a change of heart, and says goodbye to one of her suitors. Rachel learns to relax and enjoy her dates confirming that she is ready to move on.",
+ "episode" : 4,
+ "playcount" : 1,
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E4.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "It's Totally Worth the Wait...I Promise",
+ "seasonid" : 6,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4727067"
+ },
+ "lastplayed" : "2017-02-06 16:56:12",
+ "tvshowid" : 2
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "episode" : 5,
+ "plot" : "Romance buds when the ladies visit their guys' hometowns all over the country.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E5.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "",
+ "specialsortepisode" : -1,
+ "title" : "You Should Feel Lucky",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 6,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4727068"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 2,
+ "label" : "1x05. You Should Feel Lucky",
+ "cast" : [],
+ "firstaired" : "2012-08-20",
+ "director" : [],
+ "episodeid" : 13,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "3",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1
+ },
+ {
+ "tvshowid" : 2,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4727069"
+ },
+ "lastplayed" : "",
+ "seasonid" : 6,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Butterfly Thing",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E6.mp4",
+ "plot" : "The ladies face their most difficult decision yet - paring their potential boyfriends down to 2.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 6,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "3",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 14,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-08-26",
+ "label" : "1x06. Butterfly Thing"
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-08-30",
+ "label" : "1x07. Life Is Right Now In Paradise",
+ "showtitle" : "3",
+ "rating" : 0,
+ "episodeid" : 15,
+ "writer" : [],
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ "seasonid" : 6,
+ "title" : "Life Is Right Now In Paradise",
+ "userrating" : 0,
+ "tvshowid" : 2,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4727070"
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E7.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 7,
+ "playcount" : 0,
+ "plot" : "The ladies and their men travel to the tropical paradise of Hawaii for the penultimate round of dates.",
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : ""
+ },
+ {
+ "tvshowid" : 2,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4727071"
+ },
+ "lastplayed" : "",
+ "seasonid" : 6,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "You're It, Mister",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/Season 1/S1E8.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 8,
+ "plot" : "In the final stage, the 3 women decide if they've found love during their journey.",
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "3",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 16,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-09-05",
+ "label" : "1x08. You're It, Mister"
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 1,
+ "episode" : 1,
+ "plot" : "I 4-Stjerners Middag i aften har tidligere professionel fodboldspiller nu spilleragent Allan Nielsen inviteret springrytter Tina Lund, skuespiller Laura Drasbæk og ejendomsmægler Jan Fog til middag i villaen i Holte. Menuen står på sushi og andre lækkerier, som kokken fra Allans egen sushi-restaurant har hjulpet med at tilberede. Så nu vil det vise sig, om alle gæsterne er til rå fisk - og hvad mon de siger til, at Allan ikke har lavet al maden selv? Til gengæld har Allan Nielsen ommøbleret hele stuen for at lave et gennemført japansk tema - og det bliver virkelig gennemført!",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E1.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Hos Allan Nielsen",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "lastplayed" : "2017-02-06 16:52:28",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826271"
+ },
+ "tvshowid" : 3,
+ "label" : "1x01. Hos Allan Nielsen",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-01-25",
+ "episodeid" : 17,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1
+ },
+ {
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Hos Laura Drasbæk",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "1826291"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "2017-02-06 16:52:05",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E2.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "",
+ "votes" : "0",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "plot" : "I 4-Stjerners Middag i aften har skuespiller Laura Drasbæk inviteret fodboldspiller Allan Nielsen, springrytteren Tina Lund og ejendomsmægleren Jan Fog til middag i sin lejlighed på Nørrebro. Laura er næsten lige flyttet ind, og det bærer hjemmet præg af. Menuen står bla. på indisk Mollygatawny-suppe, og Laura har hyret en ølkender til at komme og fortælle om drikkevarerne. Laura elsker mad men er meget utålmodig, så hun improviserer sig gerne frem. Hendes gæster kender ikke så meget til skuespillerbranchen, men lytter nysgerrigt når Laura fortæller om, hvor svært det har været at få karriere og forhold til at gå op i en højere enhed.",
+ "playcount" : 0,
+ "episode" : 2,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "cast" : [],
+ "firstaired" : "2010-01-26",
+ "director" : [],
+ "label" : "1x02. Hos Laura Drasbæk",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 18
+ },
+ {
+ "lastplayed" : "2017-02-06 17:02:53",
+ "uniqueid" : {
+ "unknown" : "1826301"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "playcount" : 1,
+ "episode" : 3,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E3.mp4",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 19,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "1x03",
+ "cast" : [],
+ "firstaired" : "2010-01-27",
+ "director" : []
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-01-28",
+ "label" : "1x04",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 20,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E4.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "episode" : 4,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826311"
+ }
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E5.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 5,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "1826321"
+ },
+ "runtime" : 3600,
+ "cast" : [],
+ "firstaired" : "2010-02-01",
+ "director" : [],
+ "label" : "1x05",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 21,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "1826331"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 6,
+ "playcount" : 0,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E6.mp4",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 22,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x06",
+ "cast" : [],
+ "firstaired" : "2010-02-02",
+ "director" : []
+ },
+ {
+ "writer" : [],
+ "episodeid" : 23,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "1x07",
+ "cast" : [],
+ "firstaired" : "2010-02-03",
+ "director" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 7,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E7.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "1826341"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 8,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E8.mp4",
+ "uniqueid" : {
+ "unknown" : "1826351"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "writer" : [],
+ "episodeid" : 24,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x08",
+ "cast" : [],
+ "firstaired" : "2010-02-04",
+ "director" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "label" : "1x09",
+ "cast" : [],
+ "firstaired" : "2010-02-08",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 25,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "thumbnail" : "",
+ "votes" : "0",
+ "episode" : 9,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E9.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "1826371"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3
+ },
+ {
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "1826381"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E10.mp4",
+ "specialsortseason" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "episode" : 10,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 26,
+ "cast" : [],
+ "firstaired" : "2010-02-09",
+ "director" : [],
+ "label" : "1x10"
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 27,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x11",
+ "director" : [],
+ "firstaired" : "2010-02-10",
+ "cast" : [],
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826391"
+ },
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 11,
+ "votes" : "0",
+ "thumbnail" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E11.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "episode" : 12,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E12.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "1826401"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "label" : "1x12",
+ "cast" : [],
+ "firstaired" : "2010-02-11",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 28,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1
+ },
+ {
+ "label" : "1x13",
+ "cast" : [],
+ "firstaired" : "2010-02-15",
+ "director" : [],
+ "episodeid" : 29,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E13.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "1826411"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "episode" : 14,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "plot" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E14.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "1826421"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "writer" : [],
+ "episodeid" : 30,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x14",
+ "cast" : [],
+ "firstaired" : "2010-02-16",
+ "director" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "1826431"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 15,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E15.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x15",
+ "cast" : [],
+ "firstaired" : "2010-02-17",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 31,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-02-18",
+ "label" : "1x16",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 32,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E16.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "",
+ "episode" : 16,
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826441"
+ }
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-02-22",
+ "label" : "1x17",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 33,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E17.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 17,
+ "plot" : "",
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826601"
+ }
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826661"
+ },
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 18,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E18.mp4",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 34,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x18",
+ "director" : [],
+ "firstaired" : "2010-02-23",
+ "cast" : []
+ },
+ {
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826671"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "episode" : 19,
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E19.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x19",
+ "director" : [],
+ "firstaired" : "2010-02-24",
+ "cast" : [],
+ "writer" : [],
+ "episodeid" : 35,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E20.mp4",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 20,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "1826681"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "cast" : [],
+ "firstaired" : "2010-02-25",
+ "director" : [],
+ "label" : "1x20",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 36,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "writer" : [],
+ "episodeid" : 37,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "1x21",
+ "cast" : [],
+ "firstaired" : "2010-03-01",
+ "director" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 21,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E21.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "1826691"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-03-02",
+ "label" : "1x22",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 38,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E22.mp4",
+ "specialsortseason" : -1,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 22,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826731"
+ },
+ "lastplayed" : ""
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E23.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "episode" : 23,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826741"
+ },
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-03-03",
+ "label" : "1x23",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 39,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 24,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E24.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826751"
+ },
+ "tvshowid" : 3,
+ "label" : "1x24",
+ "director" : [],
+ "firstaired" : "2010-03-04",
+ "cast" : [],
+ "episodeid" : 40,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "label" : "1x25",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-03-08",
+ "episodeid" : 41,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826761"
+ },
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 25,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E25.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "label" : "1x26",
+ "cast" : [],
+ "firstaired" : "2010-03-09",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 42,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 26,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E26.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "1826781"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3
+ },
+ {
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "1826791"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E27.mp4",
+ "specialsortseason" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 27,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "cast" : [],
+ "firstaired" : "2010-03-10",
+ "director" : [],
+ "label" : "1x27",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 43
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [],
+ "episodeid" : 44,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x28",
+ "cast" : [],
+ "firstaired" : "2010-03-11",
+ "director" : [],
+ "uniqueid" : {
+ "unknown" : "1826771"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 28,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E28.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 45,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2010-03-15",
+ "label" : "1x29",
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E29.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 29,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "1826801"
+ },
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0
+ },
+ {
+ "cast" : [],
+ "firstaired" : "2010-03-16",
+ "director" : [],
+ "label" : "1x30",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 46,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E30.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 30,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "1826811"
+ },
+ "runtime" : 3600
+ },
+ {
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 31,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E31.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "1826821"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "label" : "1x31",
+ "cast" : [],
+ "firstaired" : "2010-03-17",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 47,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E32.mp4",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 32,
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "1826831"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 48,
+ "cast" : [],
+ "firstaired" : "2010-03-18",
+ "director" : [],
+ "label" : "1x32",
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "1x33",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 49,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E33.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 33,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3714021"
+ },
+ "runtime" : 3600
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 34,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E34.mp4",
+ "specialsortseason" : -1,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714031"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "writer" : [],
+ "episodeid" : 50,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x34",
+ "director" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E35.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 35,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3714041"
+ },
+ "runtime" : 3600,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "1x35",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 51,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "label" : "1x36",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "episodeid" : 52,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 36,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E36.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714051"
+ },
+ "tvshowid" : 3
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 37,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E37.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714061"
+ },
+ "tvshowid" : 3,
+ "label" : "1x37",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "episodeid" : 53,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3714071"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 38,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E38.mp4",
+ "specialsortseason" : -1,
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 54,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "1x38",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : []
+ },
+ {
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714081"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E39.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "episode" : 39,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 55,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "1x39"
+ },
+ {
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714091"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "plot" : "",
+ "episode" : 40,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E40.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "label" : "1x40",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "writer" : [],
+ "episodeid" : 56,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "1x41",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 57,
+ "writer" : [],
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3714101"
+ },
+ "runtime" : 3600,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E41.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "episode" : 41,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ {
+ "writer" : [],
+ "episodeid" : 58,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x42",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "episode" : 42,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E42.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "3714111"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "uniqueid" : {
+ "unknown" : "3714121"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 43,
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E43.mp4",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [],
+ "episodeid" : 59,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x43",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : []
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "1x44",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 60,
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714131"
+ },
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E44.mp4",
+ "specialsortseason" : -1,
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 44,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 61,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "1x45",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E45.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 45,
+ "votes" : "0",
+ "thumbnail" : "",
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714141"
+ },
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9,
+ "title" : "",
+ "userrating" : 0
+ },
+ {
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 9,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "3714151"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 46,
+ "plot" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E46.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x46",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 62,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0
+ },
+ {
+ "seasonid" : 9,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3714161"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E47.mp4",
+ "episode" : 47,
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "1x47",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 63
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 64,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "1x48",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3714171"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 9,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 48,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E48.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "episodeid" : 65,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "1x49",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 49,
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 1/S1E49.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3714181"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 9
+ },
+ {
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E1.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "3713391"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "label" : "2x01",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 66,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2
+ },
+ {
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 67,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x02",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713401"
+ },
+ "lastplayed" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E2.mp4",
+ "playcount" : 0,
+ "episode" : 2,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59"
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x03",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 68,
+ "writer" : [],
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713411"
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E3.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 3,
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E4.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713421"
+ },
+ "runtime" : 3600,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x04",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 69,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2
+ },
+ {
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 70,
+ "director" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "label" : "2x05",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E5.mp4",
+ "specialsortseason" : -1,
+ "plot" : "",
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713431"
+ },
+ "lastplayed" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : ""
+ },
+ {
+ "votes" : "0",
+ "thumbnail" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 6,
+ "plot" : "",
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E6.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "3713441"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "label" : "2x06",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 71,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2
+ },
+ {
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713451"
+ },
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 7,
+ "playcount" : 0,
+ "votes" : "0",
+ "thumbnail" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E7.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x07",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "episodeid" : 72,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x08",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 73,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E8.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 8,
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713461"
+ }
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x09",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 74,
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713471"
+ },
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E9.mp4",
+ "specialsortseason" : -1,
+ "plot" : "",
+ "episode" : 9,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 75,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "2x10",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713481"
+ },
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 10,
+ "thumbnail" : "",
+ "votes" : "0",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E10.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E11.mp4",
+ "playcount" : 0,
+ "episode" : 11,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713491"
+ },
+ "lastplayed" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 76,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x11",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713501"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E12.mp4",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 12,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "label" : "2x12",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 77
+ },
+ {
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713511"
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E13.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 13,
+ "plot" : "",
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x13",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 78,
+ "writer" : []
+ },
+ {
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x14",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 79,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E14.mp4",
+ "specialsortseason" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "",
+ "episode" : 14,
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "3713521"
+ },
+ "runtime" : 3600,
+ "lastplayed" : ""
+ },
+ {
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713531"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "plot" : "",
+ "episode" : 15,
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E15.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x15",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "writer" : [],
+ "episodeid" : 80,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713541"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E16.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "plot" : "",
+ "episode" : 16,
+ "playcount" : 0,
+ "thumbnail" : "",
+ "votes" : "0",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 81,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x16"
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E17.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 17,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713551"
+ },
+ "runtime" : 3600,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 82,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x17",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713561"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "episode" : 18,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E18.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2,
+ "label" : "2x18",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "episodeid" : 83,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [],
+ "episodeid" : 84,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "2x19",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713571"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 19,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E19.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 20,
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E20.mp4",
+ "uniqueid" : {
+ "unknown" : "3713581"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [],
+ "episodeid" : 85,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "2x20",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 86,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x21",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E21.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 21,
+ "plot" : "",
+ "thumbnail" : "",
+ "votes" : "0",
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713591"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0
+ },
+ {
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713601"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E22.mp4",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 22,
+ "playcount" : 0,
+ "plot" : "",
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x22",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 87
+ },
+ {
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 88,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x23",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E23.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 23,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713611"
+ },
+ "runtime" : 3600,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E24.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 24,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713621"
+ },
+ "runtime" : 3600,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 89,
+ "writer" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "label" : "2x24",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713631"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "episode" : 25,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E25.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2,
+ "label" : "2x25",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "episodeid" : 90,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 26,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E26.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713641"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "label" : "2x26",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "episodeid" : 91,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x27",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 92,
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "3713651"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E27.mp4",
+ "specialsortseason" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 27,
+ "plot" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E28.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "episode" : 28,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "3713661"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 93,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x28",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 94,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x29",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E29.mp4",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "episode" : 29,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "3713671"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : ""
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2,
+ "label" : "2x30",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "episodeid" : 95,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713681"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 30,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E30.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713691"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "episode" : 31,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E31.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2,
+ "label" : "2x31",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "writer" : [],
+ "episodeid" : 96,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 32,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E32.mp4",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713701"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "writer" : [],
+ "episodeid" : 97,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "2x32",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713711"
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E33.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 33,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "2x33",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 98,
+ "writer" : []
+ },
+ {
+ "uniqueid" : {
+ "unknown" : "3713721"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 34,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E34.mp4",
+ "specialsortseason" : -1,
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [],
+ "episodeid" : 99,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "2x34",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : []
+ },
+ {
+ "episodeid" : 100,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "2x35",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 35,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "plot" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E35.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713731"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10
+ },
+ {
+ "label" : "2x36",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "episodeid" : 101,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 36,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E36.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713741"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3
+ },
+ {
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713751"
+ },
+ "runtime" : 3600,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E37.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 37,
+ "playcount" : 0,
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 102,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x37"
+ },
+ {
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 38,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E38.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 10,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "3713761"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "label" : "2x38",
+ "director" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "writer" : [],
+ "episodeid" : 103,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2
+ },
+ {
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 104,
+ "writer" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "label" : "2x39",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E39.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 39,
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713771"
+ },
+ "runtime" : 3600,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 10,
+ "title" : "",
+ "userrating" : 0
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 40,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E40.mp4",
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713781"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "episodeid" : 105,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "2x40",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 2/S2E41.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "plot" : "Igennem de sidste 10 uger har 40 kendte danskere på skift inviteret hinanden på middag og underholdning hjemme i privaten i \"4-Stjerners Middag\" på Kanal 5. I hver gruppe har deltagerne givet hinanden point for indsatsen, og den, der har fået flest point, er gået direkte videre til finalen. De 10 finalister bliver sat på en hård prøve, når de skal kæmpe om at nå til tops i kokke-konkurrencen, men der bliver også tid til sjove gensyn og festlige indslag undervejs.Blandt de 10 kampklare finalister kan seerne glæde sig til at se, om verdensmesteren i taekwondo Lisa Lents er ligeså god til at svinge gryder og pander som til at nedlægge sine modstandere. Se også om Pia Rosholm serverer Robinson-karkelakker til forret, om Henning 'Kims' Jacobsen igen serverer chips til alle retterne, og om Jessica Sky har taget sine egne frugter med. I finalen kan seerne desuden glæde sig til at møde skuespiller Finn Nielsen, psykoterapeut Jill Liv Nielsen, violinist Kim Sjøgren, indretningsekspert Jannik Martensen-Larsen, samt endnu to finalister som ikke er offentliggjort. Rammerne om finalen er den eksklusive køkken- og møbelbutik CPH Square, hvor de 10 kendisser mødes i et underholdende og krævende udskillelsesløb. Først skal de, på afmålt tid, præsentere deres bedste bud på en kold forret, de selv har haft mulighed for at bestemme. Efter forretten bliver de 10 finalister skåret ned til seks, som alle skal kreere en hovedret udfra råvarer, de får udleveret af Thomas Rode. Efter denne runde står kun tre kombattanter tilbage til at møde den sidste og afgørende udfordring, desserten, som viser sig som en noget anderledes udfordring!",
+ "episode" : 41,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "3713791"
+ },
+ "runtime" : 3600,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "title" : "Finalen",
+ "userrating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 106,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "2x41. Finalen",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E1.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "seasonid" : 11,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172135"
+ },
+ "lastplayed" : "",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "3x01",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 107,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3
+ },
+ {
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "seasonid" : 11,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4172136"
+ },
+ "runtime" : 3600,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E2.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "episode" : 2,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "3x02",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 108,
+ "writer" : []
+ },
+ {
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172137"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 11,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "",
+ "episode" : 3,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E3.mp4",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [],
+ "episodeid" : 109,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "label" : "3x03",
+ "director" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : []
+ },
+ {
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 11,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4172138"
+ },
+ "runtime" : 3600,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E4.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 4,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "3x04",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 110,
+ "writer" : []
+ },
+ {
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172139"
+ },
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 11,
+ "title" : "",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E5.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 5,
+ "thumbnail" : "",
+ "votes" : "0",
+ "season" : 3,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 111,
+ "writer" : [],
+ "director" : [],
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "label" : "3x05"
+ },
+ {
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 11,
+ "title" : "",
+ "userrating" : 0,
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4172140"
+ },
+ "runtime" : 3600,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E6.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 6,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "label" : "3x06",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "episodeid" : 112,
+ "writer" : []
+ },
+ {
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 11,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172141"
+ },
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 7,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "",
+ "votes" : "0",
+ "thumbnail" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E7.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "label" : "3x07",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "episodeid" : 113,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4172142"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 11,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 8,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E8.mp4",
+ "specialsortseason" : -1,
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 114,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "3x08",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : []
+ },
+ {
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [],
+ "episodeid" : 115,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "3x09",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172143"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 11,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 9,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E9.mp4"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "plot" : "",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 10,
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E10.mp4",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172144"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 11,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [],
+ "episodeid" : 116,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "3x10",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "label" : "3x11",
+ "firstaired" : "1969-12-31",
+ "cast" : [],
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 117,
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "thumbnail" : "",
+ "votes" : "0",
+ "episode" : 11,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "plot" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E11.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 11,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "4172145"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3
+ },
+ {
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "episodeid" : 118,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "label" : "3x12",
+ "season" : 3,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E12.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "episode" : 12,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "tvshowid" : 3,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172146"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 11,
+ "title" : "",
+ "userrating" : 0
+ },
+ {
+ "label" : "3x13",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "episodeid" : 119,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E13.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 11,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4172147"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 3
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E14.mp4",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "playcount" : 0,
+ "episode" : 14,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "4172148"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "seasonid" : 11,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 120,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "3x14",
+ "season" : 3,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "3x15",
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "writer" : [],
+ "episodeid" : 121,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E15.mp4",
+ "thumbnail" : "",
+ "votes" : "0",
+ "plot" : "",
+ "episode" : 15,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "seasonid" : 11,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "4172149"
+ },
+ "runtime" : 3600,
+ "lastplayed" : ""
+ },
+ {
+ "writer" : [],
+ "episodeid" : 122,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "3x16",
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "",
+ "votes" : "0",
+ "episode" : 16,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E16.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "4172150"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 11,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "title" : "",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 11,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172151"
+ },
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "",
+ "episode" : 17,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E17.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3,
+ "label" : "3x17",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "episodeid" : 123,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "title" : "",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 11,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172152"
+ },
+ "tvshowid" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 18,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E18.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "label" : "3x18",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "episodeid" : 124,
+ "writer" : [],
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "director" : [],
+ "label" : "3x19",
+ "showtitle" : "4 Stjerners Middag",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 125,
+ "seasonid" : 11,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "",
+ "tvshowid" : 3,
+ "uniqueid" : {
+ "unknown" : "4172153"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E19.mp4",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "",
+ "episode" : 19,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ }
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "plot" : "",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 20,
+ "votes" : "0",
+ "thumbnail" : "",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/Season 3/S3E20.mp4",
+ "specialsortseason" : -1,
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4172154"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 3,
+ "userrating" : 0,
+ "title" : "",
+ "seasonid" : 11,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [],
+ "episodeid" : 126,
+ "rating" : 0,
+ "showtitle" : "4 Stjerners Middag",
+ "label" : "3x20",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "1969-12-31",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "lastplayed" : "2017-01-17 17:11:54",
+ "uniqueid" : {
+ "unknown" : "5387592"
+ },
+ "runtime" : 12,
+ "tvshowid" : 1,
+ "title" : "The Rabbit Hole",
+ "userrating" : 0,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5387592.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 3,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [
+ {
+ "language" : "",
+ "codec" : "avc1",
+ "aspect" : 1.33333301544189,
+ "height" : 360,
+ "width" : 480,
+ "duration" : 12,
+ "stereomode" : ""
+ }
+ ],
+ "audio" : [
+ {
+ "codec" : "aac",
+ "language" : "und",
+ "channels" : 2
+ }
+ ]
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:17:01",
+ "votes" : "16",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5387592.jpg/",
+ "plot" : "Jake Epping is burned out and lost. His ex-wife has moved on, his students are always distracted, and his novel went nowhere. Then one of his dearest friends, Al Templeton, shows him the rabbit hole, a secret time portal that leads back to 1960. Al asks Jake to head back to the past and create a better world by stopping the Kennedy assassination. Jake heads down the rabbit hole to begin his mission but finds that changing the past is far more dangerous than he ever would have dreamed.",
+ "episode" : 1,
+ "playcount" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 16,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E1.mp4",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 1,
+ "writer" : [
+ "Bridget Carpenter"
+ ],
+ "showtitle" : "11.22.63",
+ "rating" : 7.90000009536743,
+ "label" : "1x01. The Rabbit Hole",
+ "cast" : [
+ {
+ "role" : "Jake Epping",
+ "name" : "James Franco",
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/"
+ },
+ {
+ "name" : "Sarah Gadon",
+ "role" : "Sadie Dunhill",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Chris Cooper",
+ "role" : "Al Templeton",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/"
+ },
+ {
+ "name" : "Leon Rippy",
+ "role" : "Harry Dunning",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Kevin J. O'Connor",
+ "role" : "Yellow Card Man",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/",
+ "name" : "George MacKay",
+ "role" : "Bill Turcotte"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/",
+ "role" : "Lee Harvey Oswald",
+ "name" : "Daniel Webber"
+ },
+ {
+ "role" : "Johnny Clayton",
+ "name" : "T.R. Knight",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Cherry Jones",
+ "role" : "Marquerite Oswald",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "order" : 9,
+ "role" : "Marina Oswald",
+ "name" : "Lucy Fry"
+ },
+ {
+ "name" : "Josh Duhamel",
+ "role" : "Frank Dunning",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 22,
+ "name" : "Johny Coyne",
+ "role" : "George de Mohrenschildt"
+ },
+ {
+ "role" : "Deke Simmons",
+ "name" : "Nick Searcy",
+ "order" : 23,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/"
+ }
+ ],
+ "firstaired" : "2016-02-15",
+ "director" : [
+ "Kevin Macdonald"
+ ]
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Kill Floor",
+ "seasonid" : 3,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482169.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/"
+ },
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "5482169"
+ },
+ "lastplayed" : "2017-02-28 11:14:40",
+ "tvshowid" : 1,
+ "playcount" : 2,
+ "plot" : "Thrown by the enormity of his goal, Jake decides the one thing he can do to make a real difference is save the family of his friend Harry Dunning. Harry's family was murdered in a small Kentucky town by Harry's out-of-control father, Frank. But does Jake have what it takes to kill a man and what are the consequences of violence, even against someone as dangerous as Frank?",
+ "ratings" : {
+ "default" : {
+ "votes" : 17,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ },
+ "episode" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482169.jpg/",
+ "votes" : "17",
+ "dateadded" : "2016-08-26 09:17:01",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E2.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [
+ {
+ "codec" : "h264",
+ "language" : "und",
+ "aspect" : 1.33333301544189,
+ "stereomode" : "",
+ "height" : 360,
+ "width" : 480,
+ "duration" : 12
+ }
+ ],
+ "audio" : [
+ {
+ "channels" : 2,
+ "codec" : "aac",
+ "language" : "und"
+ }
+ ]
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "label" : "1x02. The Kill Floor",
+ "director" : [
+ "Frederick E.O. Toye"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/",
+ "name" : "James Franco",
+ "role" : "Jake Epping"
+ },
+ {
+ "role" : "Sadie Dunhill",
+ "name" : "Sarah Gadon",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/",
+ "role" : "Al Templeton",
+ "name" : "Chris Cooper"
+ },
+ {
+ "role" : "Harry Dunning",
+ "name" : "Leon Rippy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Yellow Card Man",
+ "name" : "Kevin J. O'Connor",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/"
+ },
+ {
+ "name" : "George MacKay",
+ "role" : "Bill Turcotte",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/",
+ "order" : 6,
+ "role" : "Lee Harvey Oswald",
+ "name" : "Daniel Webber"
+ },
+ {
+ "role" : "Johnny Clayton",
+ "name" : "T.R. Knight",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/"
+ },
+ {
+ "role" : "Marquerite Oswald",
+ "name" : "Cherry Jones",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "name" : "Lucy Fry",
+ "role" : "Marina Oswald"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/",
+ "order" : 10,
+ "name" : "Josh Duhamel",
+ "role" : "Frank Dunning"
+ },
+ {
+ "name" : "Johny Coyne",
+ "role" : "George de Mohrenschildt",
+ "order" : 22
+ },
+ {
+ "order" : 23,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "name" : "Nick Searcy",
+ "role" : "Deke Simmons"
+ }
+ ],
+ "firstaired" : "2016-02-22",
+ "writer" : [
+ "Bridget Carpenter"
+ ],
+ "episodeid" : 2,
+ "showtitle" : "11.22.63",
+ "rating" : 7.59999990463257
+ },
+ {
+ "label" : "1x03. Other Voices, Other Rooms",
+ "cast" : [
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/",
+ "order" : 0,
+ "name" : "James Franco",
+ "role" : "Jake Epping"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/",
+ "name" : "Sarah Gadon",
+ "role" : "Sadie Dunhill"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/",
+ "order" : 2,
+ "name" : "Chris Cooper",
+ "role" : "Al Templeton"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "role" : "Harry Dunning",
+ "name" : "Leon Rippy"
+ },
+ {
+ "role" : "Yellow Card Man",
+ "name" : "Kevin J. O'Connor",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/",
+ "order" : 5,
+ "role" : "Bill Turcotte",
+ "name" : "George MacKay"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/",
+ "name" : "Daniel Webber",
+ "role" : "Lee Harvey Oswald"
+ },
+ {
+ "role" : "Johnny Clayton",
+ "name" : "T.R. Knight",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/"
+ },
+ {
+ "name" : "Cherry Jones",
+ "role" : "Marquerite Oswald",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/",
+ "order" : 8
+ },
+ {
+ "name" : "Lucy Fry",
+ "role" : "Marina Oswald",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/",
+ "role" : "Frank Dunning",
+ "name" : "Josh Duhamel"
+ },
+ {
+ "order" : 22,
+ "name" : "Johny Coyne",
+ "role" : "George de Mohrenschildt"
+ },
+ {
+ "role" : "Deke Simmons",
+ "name" : "Nick Searcy",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "order" : 23
+ }
+ ],
+ "firstaired" : "2016-02-29",
+ "director" : [
+ "James Strong"
+ ],
+ "episodeid" : 3,
+ "writer" : [
+ "Brian Nelson"
+ ],
+ "showtitle" : "11.22.63",
+ "rating" : 7.5,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:17:01",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482170.jpg/",
+ "votes" : "17",
+ "episode" : 3,
+ "plot" : "Jake finds an unlikely ally in his quest in local drifter Bill Turcote. He gets a teaching job in a small town near Dallas and discovers romantic sparks with school librarian Sadie Dunhill. Jake constructs a double life - spying at night on Lee Harvey Oswald as the potential assassin within Jake builds. Trailing Oswald takes Jake into the dark side of Dallas, where he realizes Oswald may not be the only threat Kennedy will have to face.",
+ "ratings" : {
+ "default" : {
+ "votes" : 17,
+ "rating" : 7.5,
+ "default" : true
+ }
+ },
+ "playcount" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E3.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "channels" : 2,
+ "codec" : "aac",
+ "language" : "und"
+ }
+ ],
+ "video" : [
+ {
+ "aspect" : 1.33333301544189,
+ "codec" : "avc1",
+ "language" : "",
+ "stereomode" : "",
+ "width" : 480,
+ "height" : 360,
+ "duration" : 12
+ }
+ ]
+ },
+ "specialsortepisode" : -1,
+ "title" : "Other Voices, Other Rooms",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482170.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 3,
+ "lastplayed" : "2017-01-17 17:40:12",
+ "uniqueid" : {
+ "unknown" : "5482170"
+ },
+ "runtime" : 12,
+ "tvshowid" : 1
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "streamdetails" : {
+ "video" : [
+ {
+ "aspect" : 1.33333301544189,
+ "codec" : "avc1",
+ "language" : "",
+ "stereomode" : "",
+ "width" : 480,
+ "duration" : 12,
+ "height" : 360
+ }
+ ],
+ "audio" : [
+ {
+ "channels" : 2,
+ "codec" : "aac",
+ "language" : "und"
+ }
+ ],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:17:01",
+ "votes" : "16",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482171.jpg/",
+ "playcount" : 1,
+ "plot" : "Jake and Bill's partnership starts to struggle as they discover more secrets surrounding the unpredictable Lee Harvey Oswald. The conspiracy involving Oswald deepens, while romance blooms for Jake and Sadie. But by becoming involved with an innocent bystander, has Jake placed his new love in danger?",
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.59999990463257,
+ "votes" : 16
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E4.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "2017-01-18 08:00:06",
+ "uniqueid" : {
+ "unknown" : "5482171"
+ },
+ "runtime" : 12,
+ "tvshowid" : 1,
+ "title" : "The Eyes of Texas",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482171.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/"
+ },
+ "seasonid" : 3,
+ "episodeid" : 4,
+ "writer" : [
+ "Bridget Carpenter"
+ ],
+ "showtitle" : "11.22.63",
+ "rating" : 7.59999990463257,
+ "label" : "1x04. The Eyes of Texas",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/",
+ "name" : "James Franco",
+ "role" : "Jake Epping"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/",
+ "order" : 1,
+ "role" : "Sadie Dunhill",
+ "name" : "Sarah Gadon"
+ },
+ {
+ "name" : "Chris Cooper",
+ "role" : "Al Templeton",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/"
+ },
+ {
+ "name" : "Leon Rippy",
+ "role" : "Harry Dunning",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "order" : 4,
+ "role" : "Yellow Card Man",
+ "name" : "Kevin J. O'Connor"
+ },
+ {
+ "role" : "Bill Turcotte",
+ "name" : "George MacKay",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Lee Harvey Oswald",
+ "name" : "Daniel Webber",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/",
+ "order" : 6
+ },
+ {
+ "name" : "T.R. Knight",
+ "role" : "Johnny Clayton",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/"
+ },
+ {
+ "name" : "Cherry Jones",
+ "role" : "Marquerite Oswald",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Marina Oswald",
+ "name" : "Lucy Fry",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/",
+ "role" : "Frank Dunning",
+ "name" : "Josh Duhamel"
+ },
+ {
+ "order" : 22,
+ "name" : "Johny Coyne",
+ "role" : "George de Mohrenschildt"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "order" : 23,
+ "role" : "Deke Simmons",
+ "name" : "Nick Searcy"
+ }
+ ],
+ "firstaired" : "2016-03-07",
+ "director" : [
+ "Frederick E.O. Toye"
+ ],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "showtitle" : "11.22.63",
+ "rating" : 7.90000009536743,
+ "writer" : [
+ "Bridget Carpenter"
+ ],
+ "episodeid" : 5,
+ "director" : [
+ "James Franco"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Juliette Angelo"
+ },
+ {
+ "order" : 1,
+ "name" : "Tonya Pinkins",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Sarah White",
+ "order" : 2
+ },
+ {
+ "role" : "Jake Epping",
+ "name" : "James Franco",
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/",
+ "order" : 1,
+ "role" : "Sadie Dunhill",
+ "name" : "Sarah Gadon"
+ },
+ {
+ "role" : "Al Templeton",
+ "name" : "Chris Cooper",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "order" : 3,
+ "name" : "Leon Rippy",
+ "role" : "Harry Dunning"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "role" : "Yellow Card Man",
+ "name" : "Kevin J. O'Connor"
+ },
+ {
+ "role" : "Bill Turcotte",
+ "name" : "George MacKay",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Daniel Webber",
+ "role" : "Lee Harvey Oswald",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/",
+ "order" : 7,
+ "role" : "Johnny Clayton",
+ "name" : "T.R. Knight"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/",
+ "name" : "Cherry Jones",
+ "role" : "Marquerite Oswald"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "order" : 9,
+ "role" : "Marina Oswald",
+ "name" : "Lucy Fry"
+ },
+ {
+ "name" : "Josh Duhamel",
+ "role" : "Frank Dunning",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/"
+ },
+ {
+ "role" : "George de Mohrenschildt",
+ "name" : "Johny Coyne",
+ "order" : 22
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "order" : 23,
+ "name" : "Nick Searcy",
+ "role" : "Deke Simmons"
+ }
+ ],
+ "firstaired" : "2016-03-14",
+ "label" : "1x05. The Truth",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [
+ {
+ "height" : 360,
+ "width" : 480,
+ "duration" : 12,
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "language" : "",
+ "codec" : "avc1"
+ }
+ ],
+ "audio" : [
+ {
+ "channels" : 2,
+ "language" : "und",
+ "codec" : "aac"
+ }
+ ]
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E5.mp4",
+ "specialsortseason" : -1,
+ "plot" : "Everything begins to fall apart as Jake struggles to live two lives: teacher and time traveler. When Sadie's life is threatened, Jake has to make a terrible choice, leaving Bill to his own devices. Lee Harvey Oswald takes steps that will lead him into a date with destiny.",
+ "playcount" : 1,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 14,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482173.jpg/",
+ "votes" : "14",
+ "dateadded" : "2016-08-26 09:17:01",
+ "tvshowid" : 1,
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "5482173"
+ },
+ "lastplayed" : "2017-01-18 08:00:31",
+ "seasonid" : 3,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482173.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Truth"
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [
+ {
+ "codec" : "aac",
+ "language" : "und",
+ "channels" : 2
+ }
+ ],
+ "video" : [
+ {
+ "stereomode" : "",
+ "duration" : 12,
+ "width" : 480,
+ "height" : 360,
+ "language" : "",
+ "codec" : "avc1",
+ "aspect" : 1.33333301544189
+ }
+ ],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E6.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 1,
+ "plot" : "It's October 1963, and the gathering storm of threats in Dallas continues to build. Jake must take drastic action to establish the full dimensions of the threat to Kennedy. And amidst it all, he's hit with an unexpected death and a bitter betrayal from one of those closest to him.",
+ "ratings" : {
+ "default" : {
+ "votes" : 15,
+ "rating" : 7.69999980926514,
+ "default" : true
+ }
+ },
+ "episode" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482174.jpg/",
+ "votes" : "15",
+ "dateadded" : "2016-08-26 09:17:01",
+ "tvshowid" : 1,
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "5482174"
+ },
+ "lastplayed" : "2017-01-18 08:00:32",
+ "seasonid" : 3,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482174.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Happy Birthday, Lee Harvey Oswald",
+ "showtitle" : "11.22.63",
+ "rating" : 7.69999980926514,
+ "writer" : [
+ "Bridget Carpenter"
+ ],
+ "episodeid" : 6,
+ "director" : [
+ "John David Coles"
+ ],
+ "firstaired" : "2016-03-21",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Brooklyn Sudano",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Claire Brosseau"
+ },
+ {
+ "order" : 2,
+ "name" : "Miranda Calderon",
+ "role" : ""
+ },
+ {
+ "name" : "Shauna MacDonald",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Amy Marie Wallace",
+ "order" : 4
+ },
+ {
+ "name" : "James Franco",
+ "role" : "Jake Epping",
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/"
+ },
+ {
+ "name" : "Sarah Gadon",
+ "role" : "Sadie Dunhill",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/",
+ "order" : 2,
+ "name" : "Chris Cooper",
+ "role" : "Al Templeton"
+ },
+ {
+ "name" : "Leon Rippy",
+ "role" : "Harry Dunning",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Kevin J. O'Connor",
+ "role" : "Yellow Card Man",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Bill Turcotte",
+ "name" : "George MacKay",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/",
+ "order" : 6,
+ "role" : "Lee Harvey Oswald",
+ "name" : "Daniel Webber"
+ },
+ {
+ "role" : "Johnny Clayton",
+ "name" : "T.R. Knight",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Cherry Jones",
+ "role" : "Marquerite Oswald",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "order" : 9,
+ "role" : "Marina Oswald",
+ "name" : "Lucy Fry"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/",
+ "order" : 10,
+ "role" : "Frank Dunning",
+ "name" : "Josh Duhamel"
+ },
+ {
+ "order" : 22,
+ "name" : "Johny Coyne",
+ "role" : "George de Mohrenschildt"
+ },
+ {
+ "name" : "Nick Searcy",
+ "role" : "Deke Simmons",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "order" : 23
+ }
+ ],
+ "label" : "1x06. Happy Birthday, Lee Harvey Oswald",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "label" : "1x07. Soldier Boy",
+ "director" : [
+ "James Kent"
+ ],
+ "cast" : [
+ {
+ "name" : "James Franco",
+ "role" : "Jake Epping",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Brooklyn Sudano",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "Sadie Dunhill",
+ "name" : "Sarah Gadon",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/"
+ },
+ {
+ "role" : "",
+ "name" : "Miranda Calderon",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/",
+ "role" : "Al Templeton",
+ "name" : "Chris Cooper"
+ },
+ {
+ "role" : "",
+ "name" : "Jen Goodhue",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "role" : "Harry Dunning",
+ "name" : "Leon Rippy"
+ },
+ {
+ "role" : "",
+ "name" : "Marsha Mason",
+ "order" : 3
+ },
+ {
+ "name" : "Kevin J. O'Connor",
+ "role" : "Yellow Card Man",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Kristi Taylor",
+ "order" : 4
+ },
+ {
+ "role" : "Bill Turcotte",
+ "name" : "George MacKay",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/"
+ },
+ {
+ "name" : "Daniel Webber",
+ "role" : "Lee Harvey Oswald",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/",
+ "name" : "T.R. Knight",
+ "role" : "Johnny Clayton"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/",
+ "order" : 8,
+ "role" : "Marquerite Oswald",
+ "name" : "Cherry Jones"
+ },
+ {
+ "role" : "Marina Oswald",
+ "name" : "Lucy Fry",
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/",
+ "order" : 10,
+ "name" : "Josh Duhamel",
+ "role" : "Frank Dunning"
+ },
+ {
+ "order" : 22,
+ "role" : "George de Mohrenschildt",
+ "name" : "Johny Coyne"
+ },
+ {
+ "order" : 23,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "role" : "Deke Simmons",
+ "name" : "Nick Searcy"
+ }
+ ],
+ "firstaired" : "2016-03-28",
+ "writer" : [
+ "Bridget Carpenter",
+ "Quinton Peeples"
+ ],
+ "episodeid" : 7,
+ "rating" : 7.80000019073486,
+ "showtitle" : "11.22.63",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "episode" : 7,
+ "plot" : "The end is near, and Jake is not up to the task. Sadie scrambles to pick up the pieces, but no one knows the mission as well as Jake. Kennedy and the assassin are on a collision path - but has Jake changed things enough in the past to alter the course of events? The days are counting down as 11.22.63 draws near.",
+ "playcount" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "votes" : "12",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482175.jpg/",
+ "dateadded" : "2016-08-26 09:17:01",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E7.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "language" : "und",
+ "codec" : "aac",
+ "channels" : 2
+ }
+ ],
+ "video" : [
+ {
+ "codec" : "avc1",
+ "language" : "",
+ "aspect" : 1.33333301544189,
+ "width" : 480,
+ "height" : 360,
+ "duration" : 12,
+ "stereomode" : ""
+ }
+ ]
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Soldier Boy",
+ "seasonid" : 3,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482175.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/"
+ },
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "5482175"
+ },
+ "lastplayed" : "2017-02-06 16:23:38",
+ "tvshowid" : 1
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x08. The Day in Question",
+ "director" : [
+ "James Strong"
+ ],
+ "cast" : [
+ {
+ "role" : "Jake Epping",
+ "name" : "James Franco",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Constance Towers",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Sarah Gadon",
+ "role" : "Sadie Dunhill",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 1,
+ "name" : "Erica Anderson",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/",
+ "order" : 2,
+ "name" : "Chris Cooper",
+ "role" : "Al Templeton"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Laura Reeves"
+ },
+ {
+ "name" : "Leon Rippy",
+ "role" : "Harry Dunning",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Rebecca Gamble",
+ "order" : 3
+ },
+ {
+ "name" : "Kevin J. O'Connor",
+ "role" : "Yellow Card Man",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Brooklyn Sudano",
+ "order" : 4
+ },
+ {
+ "role" : "Bill Turcotte",
+ "name" : "George MacKay",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Anna Vocino",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/",
+ "order" : 6,
+ "name" : "Daniel Webber",
+ "role" : "Lee Harvey Oswald"
+ },
+ {
+ "name" : "T.R. Knight",
+ "role" : "Johnny Clayton",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/"
+ },
+ {
+ "name" : "Cherry Jones",
+ "role" : "Marquerite Oswald",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/"
+ },
+ {
+ "role" : "Marina Oswald",
+ "name" : "Lucy Fry",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "order" : 9
+ },
+ {
+ "name" : "Josh Duhamel",
+ "role" : "Frank Dunning",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/"
+ },
+ {
+ "order" : 22,
+ "name" : "Johny Coyne",
+ "role" : "George de Mohrenschildt"
+ },
+ {
+ "order" : 23,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "name" : "Nick Searcy",
+ "role" : "Deke Simmons"
+ }
+ ],
+ "firstaired" : "2016-04-04",
+ "writer" : [
+ "Bridget Carpenter"
+ ],
+ "episodeid" : 8,
+ "rating" : 8,
+ "showtitle" : "11.22.63",
+ "userrating" : 0,
+ "title" : "The Day in Question",
+ "seasonid" : 3,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482176.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "5482176"
+ },
+ "lastplayed" : "2017-02-06 16:36:37",
+ "tvshowid" : 1,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 10
+ }
+ },
+ "plot" : "The past pulls out every weapon it has to keep Jake from reaching Dealey Plaza in time to save Kennedy. If he fails, it could mean death for Jake or others close to him - and if he succeeds, it could create a world in which he loses everything he's ever known. What is the cost of doing the right thing?",
+ "playcount" : 1,
+ "episode" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f301824%2f5482176.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:17:01",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/Season 1/S1E8.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "channels" : 2,
+ "codec" : "aac",
+ "language" : "und"
+ }
+ ],
+ "video" : [
+ {
+ "width" : 480,
+ "height" : 360,
+ "duration" : 12,
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "language" : "",
+ "codec" : "avc1"
+ }
+ ]
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "label" : "1x01. Mexican Slayride (1)",
+ "director" : [
+ "Rod Holcomb"
+ ],
+ "cast" : [
+ {
+ "name" : "Tim Dunigan",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Sergio Calderon",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "William Windom",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Enrique Lucero",
+ "role" : ""
+ },
+ {
+ "name" : "Jorge Zepeda",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1983-01-23",
+ "episodeid" : 2895,
+ "writer" : [
+ "Frank Lupo",
+ "Stephen J. Cannell"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 8.19999980926514,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "A desperate, but ambitious newspaper reporter, Amy Allen, wants to prove the existence of the A-Team, four ex GIs that help people in need. When she finds them she hires them, because her co-worker Al Massey is missing in Mexico.",
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.19999980926514,
+ "votes" : 12
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262768.jpg/",
+ "votes" : "12",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E1.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Mexican Slayride (1)",
+ "userrating" : 0,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262768.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 553,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262768"
+ },
+ "tvshowid" : 137
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "435747"
+ },
+ "tvshowid" : 137,
+ "title" : "Mexican Slayride (2)",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f435747.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 553,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "episode" : 2,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.19999980926514,
+ "votes" : 5
+ }
+ },
+ "plot" : "Part 2 of the pilot episode in which the A-Team have been captured by a group of guerillas and the gang leader they were sent to fight. In the final battle they are assisted by the villagers and with their help, the A-Team is able to overthrow the guerillas, save the reporter and make their way home. Once home, Amy Allen blackmails her way onto the team.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f435747.jpg/",
+ "votes" : "5",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E2.mp4",
+ "specialsortseason" : -1,
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 2896,
+ "writer" : [
+ "Frank Lupo",
+ "Stephen J. Cannell"
+ ],
+ "rating" : 8.19999980926514,
+ "showtitle" : "The A-Team",
+ "label" : "1x02. Mexican Slayride (2)",
+ "director" : [
+ "Rod Holcomb"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Tim Dunigan",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Sergio Calderon",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "William Windom",
+ "order" : 2
+ },
+ {
+ "name" : "Enrique Lucero",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Jorge Zepeda",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-01-23"
+ },
+ {
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262769.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 553,
+ "title" : "Children of Jamestown",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262769"
+ },
+ "runtime" : 2700,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E3.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "14",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262769.jpg/",
+ "playcount" : 0,
+ "plot" : "After the A-Team rescues a girl from a crazed cult leader, they are captured by the man's followers and made the quarry of a death hunt.",
+ "episode" : 3,
+ "ratings" : {
+ "default" : {
+ "votes" : 14,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ },
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "firstaired" : "1983-01-30",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "John Saxon",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Ron Hayes",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Gerrit Graham"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Carol Jones"
+ },
+ {
+ "name" : "Fred Learner",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Bill Watson",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Victoria Lucas",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Sherilyn Wolter",
+ "order" : 7
+ },
+ {
+ "name" : "John Carter",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Dean Wein"
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Christian I. Nyby II"
+ ],
+ "label" : "1x03. Children of Jamestown",
+ "showtitle" : "The A-Team",
+ "rating" : 7.59999990463257,
+ "episodeid" : 2897,
+ "writer" : [
+ "Stephen J. Cannell"
+ ]
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E4.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262770.jpg/",
+ "votes" : "8",
+ "playcount" : 0,
+ "plot" : "B.A.'s friend is held in a prison where the warden holds fight-to-the-death-boxing matches whose winner receives short-lived freedom.",
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.30000019073486,
+ "default" : true,
+ "votes" : 8
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262770"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "seasonid" : 553,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262770.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Pros and Cons",
+ "showtitle" : "The A-Team",
+ "rating" : 7.30000019073486,
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "episodeid" : 2898,
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Meeno Peluce",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "William Smith",
+ "order" : 1
+ },
+ {
+ "name" : "Clifton James",
+ "role" : "",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2factie%2fJames%20Bond%2f.actors%2fClifton_James.jpg/"
+ },
+ {
+ "role" : "",
+ "name" : "Paul Koslo",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Red West",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Ken Norton"
+ },
+ {
+ "name" : "Hugh Gillin",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Michael Greene",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Elsa Raven",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-02-08",
+ "director" : [
+ "Ron Satloff"
+ ],
+ "label" : "1x04. Pros and Cons",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262771.jpg/",
+ "votes" : "8",
+ "playcount" : 0,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "rating" : 7.09999990463257,
+ "default" : true
+ }
+ },
+ "plot" : "Hannibal plays cat and mouse with a renegade S.W.A.T. A-Team that's committing murders for hire.",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E5.mp4",
+ "uniqueid" : {
+ "unknown" : "262771"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "A Small and Deadly War",
+ "seasonid" : 553,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262771.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "episodeid" : 2899,
+ "showtitle" : "The A-Team",
+ "rating" : 7.09999990463257,
+ "label" : "1x05. A Small and Deadly War",
+ "firstaired" : "1983-02-15",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jack Ging",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Dean Stockwell",
+ "order" : 1
+ },
+ {
+ "name" : "Norman Allen",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Al White",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Fil Formicola",
+ "order" : 4
+ },
+ {
+ "name" : "Carol Baxter",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Ismael 'East' Carlo",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Lew Palter"
+ },
+ {
+ "name" : "Rhonda Shear",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "name" : "David Morick",
+ "role" : ""
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Connie Downing"
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Ron Satlof"
+ ],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "uniqueid" : {
+ "unknown" : "262772"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Black Day at Bad Rock",
+ "seasonid" : 553,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262772.jpg/"
+ },
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262772.jpg/",
+ "votes" : "8",
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 7.59999990463257
+ }
+ },
+ "playcount" : 0,
+ "plot" : "While treating a seriously wounded B.A., a suspicious small town doctor notifies the sheriff, who fears that B.A. may be part of a biker gang returning to free its jailed leader.",
+ "episode" : 6,
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E6.mp4",
+ "specialsortseason" : -1,
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [
+ "Patrick Hasburgh"
+ ],
+ "episodeid" : 2900,
+ "showtitle" : "The A-Team",
+ "rating" : 7.59999990463257,
+ "label" : "1x06. Black Day at Bad Rock",
+ "firstaired" : "1983-02-22",
+ "cast" : [
+ {
+ "name" : "Ed Lauter",
+ "role" : "",
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fEd_Lauter.jpg/"
+ },
+ {
+ "order" : 1,
+ "name" : "Tricia O'Neill",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "John Dennis Johnston",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Sid Haig"
+ },
+ {
+ "name" : "Ted Gehring",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "William Frankfather",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "director" : [
+ "Christian I. Nyby II"
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262773"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "The Rabbit Who Ate Las Vegas",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262773.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 553,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "5",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262773.jpg/",
+ "plot" : "The A-Team gets involved in a mob power play when two girls ask them to find their college professor who went to Las Vegas with a perfect gambling system and never came back.",
+ "episode" : 7,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 5,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E7.mp4",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 2901,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "label" : "1x07. The Rabbit Who Ate Las Vegas",
+ "cast" : [
+ {
+ "name" : "Charles Cioffi",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Richard Romanus"
+ },
+ {
+ "name" : "Tracy Scoggins",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Terence McGovern",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Luke Andrews"
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-03-01",
+ "director" : [
+ "Bruce Kessler"
+ ]
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E8.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "6",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262774.jpg/",
+ "plot" : "The A-Team takes up the cause of New York shopkeepers against neighborhood protection racketeers.",
+ "episode" : 8,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 6,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262774"
+ },
+ "runtime" : 2700,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262774.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/"
+ },
+ "seasonid" : 553,
+ "title" : "The Out-of-Towners",
+ "userrating" : 0,
+ "rating" : 7.5,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2902,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "firstaired" : "1983-03-15",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2factie%2fJames%20Bond%2f.actors%2fYaphet_Kotto.jpg/",
+ "role" : "",
+ "name" : "Yaphet Kotto"
+ },
+ {
+ "role" : "",
+ "name" : "Albert Popwell",
+ "order" : 1
+ },
+ {
+ "name" : "Robert Tessier",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Wendy Hoffman",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Billy Jayne",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Priscilla Pointer",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Jack Kruschen",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "J. Jay Saunders",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Martin Garner",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "name" : "Peter Iacangelo",
+ "role" : ""
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Joni Demarest"
+ },
+ {
+ "role" : "",
+ "name" : "Howard Vann",
+ "order" : 11
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Chuck Bowman"
+ ],
+ "label" : "1x08. The Out-of-Towners",
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 2903,
+ "writer" : [
+ "Babs Greyhosky"
+ ],
+ "rating" : 8,
+ "showtitle" : "The A-Team",
+ "label" : "1x09. Holiday in the Hills",
+ "director" : [
+ "Arnold Laven"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Edward Winter"
+ },
+ {
+ "name" : "Bill McKinney",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Denise Galik-Furey",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Philip Sterling"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Mickey Jones"
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "James Beach"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-03-22",
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262775"
+ },
+ "tvshowid" : 137,
+ "title" : "Holiday in the Hills",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262775.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "seasonid" : 553,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "ratings" : {
+ "default" : {
+ "votes" : 6,
+ "rating" : 8,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "episode" : 9,
+ "plot" : "B.A.'s fear of flying is justified when the A-Team's plane crashes in the backwoods where they must battle mountain men to keep a man from being burned at the stake.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262775.jpg/",
+ "votes" : "6",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E9.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [
+ "Guy Magar"
+ ],
+ "firstaired" : "1983-04-05",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Stuart Whitman",
+ "order" : 0
+ },
+ {
+ "name" : "Devon Ericson",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Robert Sampson",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Michael Alldredge",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Tom McFadden",
+ "role" : ""
+ },
+ {
+ "name" : "Tim Russovich",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Caskey Swain"
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Jim Boeke"
+ },
+ {
+ "role" : "",
+ "name" : "Tim Rossovich",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmn5Nc5Q31GslpVVWs8p41W4TBma.jpg/",
+ "order" : 9,
+ "name" : "Dennis Haysbert",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "label" : "1x10. West Coast Turnaround",
+ "rating" : 7.59999990463257,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2904,
+ "writer" : [
+ "Patrick Hasburgh",
+ "Stephen J. Cannell"
+ ],
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262776.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/"
+ },
+ "seasonid" : 553,
+ "title" : "West Coast Turnaround",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262776"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E10.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "episode" : 10,
+ "plot" : "The A-Team delivers produce to the market for a farmer who is slowly being driven out of business by a land-hungry rancher.",
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262776.jpg/",
+ "votes" : "8",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ {
+ "showtitle" : "The A-Team",
+ "rating" : 7.69999980926514,
+ "episodeid" : 2905,
+ "writer" : [
+ "Patrick Hasburgh",
+ "Frank Lupo"
+ ],
+ "director" : [
+ "Arnold Laven",
+ "Babs Greyhosky"
+ ],
+ "cast" : [
+ {
+ "name" : "Nico Minardos",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Warren J. Kemmerling"
+ },
+ {
+ "role" : "",
+ "name" : "Amy Steel",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Alan Fudge",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Ed Grover",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Danny Wells",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Barbara Horan",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Dennis Haysbert",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmn5Nc5Q31GslpVVWs8p41W4TBma.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Casey King",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Patrick Cameron"
+ },
+ {
+ "name" : "Rick Fitts",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Robert Madrid"
+ },
+ {
+ "name" : "Judd Omen",
+ "role" : "",
+ "order" : 12
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 13
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-04-12",
+ "label" : "1x11. One More Time",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E11.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "The US government recruits the A-Team to rescue a general and his daughter from guerillas in Borneo.",
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "votes" : 7,
+ "rating" : 7.69999980926514,
+ "default" : true
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262777.jpg/",
+ "votes" : "7",
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262777"
+ },
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262777.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/"
+ },
+ "seasonid" : 553,
+ "title" : "One More Time",
+ "userrating" : 0
+ },
+ {
+ "label" : "1x12. Till Death Do Us Part",
+ "director" : [
+ "Guy Magar"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Janice Heiden",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "John Erickson",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Jim Antonio"
+ },
+ {
+ "order" : 3,
+ "name" : "Noble Willingham",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Billy Green Bush",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Tony Dale",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "name" : "Lesley Woods",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Jenny Neumann",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Sy Kramer",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Kenneth White",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "name" : "Jack Garner",
+ "role" : ""
+ },
+ {
+ "name" : "Tom Pletts",
+ "role" : "",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "name" : "Gordon Hurst",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Terrance Bensor",
+ "order" : 13
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-04-19",
+ "episodeid" : 2906,
+ "writer" : [
+ "Babs Greyhosky"
+ ],
+ "rating" : 7.80000019073486,
+ "showtitle" : "The A-Team",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "The A-Team has to rescue a reluctant bride being forced to marry her late father's business partner.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.80000019073486,
+ "default" : true,
+ "votes" : 6
+ }
+ },
+ "playcount" : 0,
+ "episode" : 12,
+ "votes" : "6",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262778.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E12.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "Till Death Do Us Part",
+ "userrating" : 0,
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262778.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 553,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262778"
+ },
+ "tvshowid" : 137
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 1/S1E13.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 7,
+ "rating" : 7.90000009536743,
+ "default" : true
+ }
+ },
+ "plot" : "Hannibal's plan to free a hijacked airborne 747 requires a bit of adjustment when B.A. becomes cataleptic and Murdock temporarily blinded.",
+ "episode" : 13,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262779.jpg/",
+ "votes" : "7",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "seasonid" : 553,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262779.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Beast From the Belly of a Boeing",
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262779"
+ },
+ "lastplayed" : "",
+ "director" : [
+ "Ron Satloff"
+ ],
+ "cast" : [
+ {
+ "name" : "Andrew Robinson",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Alan Stock",
+ "role" : ""
+ },
+ {
+ "name" : "Jim McKrell",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Michael Swan",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Jesse D. Goins",
+ "order" : 4
+ },
+ {
+ "name" : "Milt Kogan",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fXander_Berkeley.jpg/",
+ "order" : 6,
+ "role" : "",
+ "name" : "Xander Berkeley"
+ },
+ {
+ "role" : "",
+ "name" : "Scott Lincoln",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Mary Kate McGeehan",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Melvin F. Allen"
+ },
+ {
+ "role" : "",
+ "name" : "Tony Brubaker",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Steve Chanmbers"
+ },
+ {
+ "order" : 12,
+ "name" : "Wayne Storm",
+ "role" : ""
+ },
+ {
+ "order" : 13,
+ "role" : "",
+ "name" : "Steve Chambers"
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1983-05-03",
+ "label" : "1x13. The Beast From the Belly of a Boeing",
+ "showtitle" : "The A-Team",
+ "rating" : 7.90000009536743,
+ "writer" : [
+ "Patrick Hasburgh"
+ ],
+ "episodeid" : 2907,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "The A-Team agrees to transport explosives to a Zimbabwe diamond mine after the owner dies trying to do it himself.",
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 5,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "votes" : "5",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262781.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E1.mp4",
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262781"
+ },
+ "tvshowid" : 137,
+ "title" : "Diamonds 'n' Dust",
+ "userrating" : 0,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262781.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "episodeid" : 2908,
+ "writer" : [
+ "Patrick Hasburgh"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 8,
+ "label" : "2x01. Diamonds 'n' Dust",
+ "director" : [
+ "Ron Satloff"
+ ],
+ "firstaired" : "1983-09-20",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Kristen Meadows",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Michael Halsey"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Albert Salmi"
+ },
+ {
+ "name" : "Sam Scarber",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Brian Libby",
+ "role" : ""
+ },
+ {
+ "name" : "Garnett Smith",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "Peter Elbling",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "showtitle" : "The A-Team",
+ "rating" : 7.19999980926514,
+ "episodeid" : 2909,
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "cast" : [
+ {
+ "name" : "Tracy Scoggins",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Mako",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Marjoe Gortner",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "John Fujioka",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Michael Alldredge",
+ "order" : 4
+ },
+ {
+ "name" : "Liam Sullivan",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "John Quade"
+ },
+ {
+ "role" : "",
+ "name" : "Robin Strand",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Len Wayland"
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Rebecca Stanley"
+ },
+ {
+ "order" : 10,
+ "name" : "Daphne Maxwell Reid",
+ "role" : ""
+ },
+ {
+ "name" : "Gene Dynarski",
+ "role" : "",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "Ross Elliott"
+ },
+ {
+ "order" : 13,
+ "role" : "",
+ "name" : "Gerald Berns"
+ },
+ {
+ "order" : 14,
+ "role" : "",
+ "name" : "Steven Whulkinger"
+ },
+ {
+ "order" : 15,
+ "role" : "",
+ "name" : "Shawn Weatherly"
+ },
+ {
+ "order" : 16,
+ "role" : "",
+ "name" : "Bob Hilgenberg"
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-09-27",
+ "director" : [
+ "Bernard McEveety"
+ ],
+ "label" : "2x02. Recipe for Heavy Bread",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E2.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "6",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262782.jpg/",
+ "playcount" : 0,
+ "episode" : 2,
+ "ratings" : {
+ "default" : {
+ "votes" : 6,
+ "default" : true,
+ "rating" : 7.19999980926514
+ }
+ },
+ "plot" : "The cook from the A-Team's POW camp gives them a tip about a drug deal between the camp's former commander and a prisoner who had sold out to him.",
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262782"
+ },
+ "runtime" : 2700,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262782.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "title" : "Recipe for Heavy Bread",
+ "userrating" : 0
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "firstaired" : "1983-10-11",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Elizabeth Hoffman"
+ },
+ {
+ "name" : "Markie Post",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Ismael 'East' Carlo"
+ },
+ {
+ "role" : "",
+ "name" : "Beau Starr",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Deborah Shelton",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Don Knight",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "name" : "Judd Omen",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Patrick Moore",
+ "order" : 7
+ },
+ {
+ "name" : "Caesar Cordova",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "name" : "Larry Duran",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "name" : "Tony Brubaker",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Christian I. Nyby II"
+ ],
+ "label" : "2x03. The Only Church in Town",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "episodeid" : 2910,
+ "writer" : [
+ "Babs Greyhosky"
+ ],
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262783.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/"
+ },
+ "seasonid" : 554,
+ "title" : "The Only Church in Town",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262783"
+ },
+ "runtime" : 2700,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E3.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262783.jpg/",
+ "votes" : "2",
+ "plot" : "Face convinces the A-Team to take his case when he receives his fraternity pin in a package from Ecuador from a woman who disappeared from his life fifteen years earlier.",
+ "episode" : 3,
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "rating" : 7,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Richard Christian Matheson"
+ ],
+ "episodeid" : 2911,
+ "rating" : 7.5,
+ "showtitle" : "The A-Team",
+ "label" : "2x04. Bad Time on the Border",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jack Ging",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Dennis Lipscomb",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Joey Aresco",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "David Graf"
+ },
+ {
+ "order" : 4,
+ "name" : "Edie Marie Rubio",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Jeffrey Johnson",
+ "order" : 5
+ },
+ {
+ "name" : "Scott Nemes",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Carlos Lacamara",
+ "order" : 7
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1983-10-18",
+ "director" : [
+ "Bruce Kessler"
+ ],
+ "uniqueid" : {
+ "unknown" : "262784"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Bad Time on the Border",
+ "seasonid" : 554,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262784.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262784.jpg/",
+ "plot" : "Hannibal goes undercover as an illegal alien when the A-Team is asked to find a sick woman who was apparently left behind by alien smugglers.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.5,
+ "default" : true,
+ "votes" : 4
+ }
+ },
+ "playcount" : 0,
+ "episode" : 4,
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E4.mp4"
+ },
+ {
+ "rating" : 6.69999980926514,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2912,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Richard Yniguez",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Morgan Woodward",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Dana Kimmell",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Mills Watson",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Walter Brooke",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Philip Gordon",
+ "role" : ""
+ },
+ {
+ "name" : "Alicia Fleer",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Will Hunt",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Anita Merritt",
+ "order" : 8
+ },
+ {
+ "role" : "",
+ "name" : "Tony Ciccone",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Kevin McBride"
+ },
+ {
+ "role" : "",
+ "name" : "Bill Dyer",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "Bobby Bass"
+ },
+ {
+ "order" : 13,
+ "name" : "Jack Verbois",
+ "role" : ""
+ },
+ {
+ "order" : 14,
+ "name" : "Norman Howell",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Lynn Sheerer",
+ "order" : 15
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1983-10-25",
+ "director" : [
+ "Christian I. Nyby II"
+ ],
+ "label" : "2x05. When You Comin' Back, Range Rider? (1)",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E5.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "3",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262785.jpg/",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 6.69999980926514,
+ "default" : true,
+ "votes" : 3
+ }
+ },
+ "episode" : 5,
+ "plot" : "The A-Team must duck their Army pursuers as they try to stop wild horse rustlers.",
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262785"
+ },
+ "runtime" : 2700,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262785.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "title" : "When You Comin' Back, Range Rider? (1)",
+ "userrating" : 0
+ },
+ {
+ "seasonid" : 554,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f435750.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "When You Comin' Back, Range Rider? (2)",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "435750"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E6.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f435750.jpg/",
+ "votes" : "2",
+ "playcount" : 0,
+ "plot" : "With Decker hot on their heels, the A-Team must try and find of evidence of the mustangs’ illegal rustling as quickly as possible, before they are captured themselves. With enemies coming from two sides, it is ultimately up to Murdock to save his friends.",
+ "episode" : 6,
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 2
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Richard Yniguez",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Morgan Woodward"
+ },
+ {
+ "role" : "",
+ "name" : "Dana Kimmell",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Mills Watson",
+ "role" : ""
+ },
+ {
+ "name" : "Walter Brooke",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Philip Gordon",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Alicia Fleer",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "name" : "Will Hunt",
+ "role" : ""
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Anita Merritt"
+ },
+ {
+ "order" : 9,
+ "name" : "Tony Ciccone",
+ "role" : ""
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Kevin McBride"
+ },
+ {
+ "order" : 11,
+ "name" : "Bill Dyer",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Bobby Bass",
+ "order" : 12
+ },
+ {
+ "order" : 13,
+ "name" : "Jack Verbois",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Norman Howell",
+ "order" : 14
+ },
+ {
+ "role" : "",
+ "name" : "Lynn Sheerer",
+ "order" : 15
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-10-25",
+ "director" : [
+ "Christian I. Nyby II"
+ ],
+ "label" : "2x06. When You Comin' Back, Range Rider? (2)",
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "episodeid" : 2913
+ },
+ {
+ "title" : "The Taxicab Wars",
+ "userrating" : 0,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262787.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262787"
+ },
+ "tvshowid" : 137,
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "A small cab company hires the A-Team to thwart the sabotage efforts of a larger company trying to run them out of business.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 8
+ }
+ },
+ "episode" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262787.jpg/",
+ "votes" : "8",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E7.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x07. The Taxicab Wars",
+ "director" : [
+ "Gilbert M. Shilton"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Michael Ironside",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fi3HkCGEnQGJeD0U8WDumO4VH5fU.jpg/"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Edward Lynch"
+ },
+ {
+ "name" : "Ernie Hudson",
+ "role" : "",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fErnie_Hudson.jpg/"
+ },
+ {
+ "order" : 3,
+ "name" : "Grey Monaghan",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Tom Reese"
+ },
+ {
+ "name" : "Brion James",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Ivor Barry",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Michael Crabtree",
+ "order" : 9
+ },
+ {
+ "name" : "Liz Sheridan",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fprgiajw2LMSuoHOlYqWHKuXPB1U.jpg/",
+ "order" : 10
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1983-11-01",
+ "episodeid" : 2914,
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "rating" : 7,
+ "showtitle" : "The A-Team"
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x08. Labor Pains",
+ "director" : [
+ "Arnold Laven"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Alan Autry",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "John Vernon"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "order" : 3,
+ "name" : "Penny Peyser",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Ted Markland",
+ "order" : 4
+ },
+ {
+ "name" : "Belinda Babash",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "David Glover",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Bob Larkin"
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-11-08",
+ "writer" : [
+ "Thomas Szolski",
+ "Richard Christian Matheson"
+ ],
+ "episodeid" : 2915,
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "userrating" : 0,
+ "title" : "Labor Pains",
+ "seasonid" : 554,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262788.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262788"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "playcount" : 0,
+ "plot" : "The A-Team helps migrant workers to organize against a landowner that is forcing them to live and work under slave-labor conditions.",
+ "episode" : 8,
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 4
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262788.jpg/",
+ "votes" : "4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E8.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262789"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262789.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "seasonid" : 554,
+ "title" : "There's Always a Catch",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E9.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "The A-Team must once again duck Decker as they try to stop an extortionist plaguing a small fishing village.",
+ "episode" : 9,
+ "ratings" : {
+ "default" : {
+ "votes" : 6,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262789.jpg/",
+ "votes" : "6",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "The A-Team",
+ "rating" : 7.5,
+ "episodeid" : 2916,
+ "writer" : [
+ "Richard Christian Matheson",
+ "Thomas Szolski"
+ ],
+ "director" : [
+ "Ron Satloff"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Tracy Scoggins",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "John Quade"
+ },
+ {
+ "order" : 2,
+ "name" : "Robin Strand",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Len Wayland",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "",
+ "name" : "Marla Heasley"
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1983-11-15",
+ "label" : "2x09. There's Always a Catch"
+ },
+ {
+ "seasonid" : 554,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262790.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Water, Water Everywhere",
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262790"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E10.mp4",
+ "playcount" : 0,
+ "episode" : 10,
+ "ratings" : {
+ "default" : {
+ "rating" : 6.69999980926514,
+ "default" : true,
+ "votes" : 6
+ }
+ },
+ "plot" : "A land developer is trying to run three disabled Vietnam vets off the desert property they're renovating.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262790.jpg/",
+ "votes" : "6",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [
+ "Stanley Ellis",
+ "Stanley Ellis"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Jim Knaub"
+ },
+ {
+ "order" : 1,
+ "name" : "Alan Fudge",
+ "role" : ""
+ },
+ {
+ "name" : "Robin Riker",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "John L. Feather"
+ },
+ {
+ "name" : "R. David Smith",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Michael Rider"
+ },
+ {
+ "name" : "Roy Jenson",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "William Frankfather",
+ "role" : ""
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-11-22",
+ "label" : "2x10. Water, Water Everywhere",
+ "rating" : 6.69999980926514,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Jo Swerling",
+ "Stanley Ellis"
+ ],
+ "episodeid" : 2917
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "cast" : [
+ {
+ "name" : "Norman Alden",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Mary-Margaret Humes",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Ray Giradin"
+ },
+ {
+ "order" : 3,
+ "name" : "Michael Baseleon",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Tim Russovich"
+ },
+ {
+ "order" : 5,
+ "name" : "Carol Baxter",
+ "role" : ""
+ },
+ {
+ "name" : "Luke Andrews",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "William Boyett",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Michael Alldredge",
+ "order" : 8
+ },
+ {
+ "name" : "Tim Rossovich",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1983-11-29",
+ "director" : [
+ "Gilbert M. Shilton"
+ ],
+ "label" : "2x11. Steel",
+ "showtitle" : "The A-Team",
+ "rating" : 6.80000019073486,
+ "episodeid" : 2918,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262791.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "title" : "Steel",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262791"
+ },
+ "runtime" : 2700,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E11.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262791.jpg/",
+ "votes" : "6",
+ "playcount" : 0,
+ "plot" : "The A-Team looks into sabotage at a construction site.",
+ "ratings" : {
+ "default" : {
+ "rating" : 6.80000019073486,
+ "default" : true,
+ "votes" : 6
+ }
+ },
+ "episode" : 11,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "title" : "The White Ballot",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262792.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/"
+ },
+ "seasonid" : 554,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262792"
+ },
+ "tvshowid" : 137,
+ "dateadded" : "2016-08-26 09:16:58",
+ "episode" : 12,
+ "playcount" : 0,
+ "plot" : "Face replaces a candidate who was killed while running for sheriff against a corrupt incumbent, and ends up getting the military after the whole A-Team when his photo is published in the newspaper.",
+ "ratings" : {
+ "default" : {
+ "votes" : 6,
+ "default" : true,
+ "rating" : 7.30000019073486
+ }
+ },
+ "votes" : "6",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262792.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E12.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2,
+ "label" : "2x12. The White Ballot",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2factie%2fJames%20Bond%2f.actors%2fClifton_James.jpg/",
+ "name" : "Clifton James",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Andrew Robinson"
+ },
+ {
+ "name" : "Joshua Bryant",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Martin Azarow",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "James Lough",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Larry Marko-Ernie"
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1983-12-06",
+ "episodeid" : 2919,
+ "writer" : [
+ "Jeff Ray"
+ ],
+ "rating" : 7.30000019073486,
+ "showtitle" : "The A-Team"
+ },
+ {
+ "rating" : 7.19999980926514,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Thomas Szolski"
+ ],
+ "episodeid" : 2920,
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "James Hong",
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fJames_Hong.jpg/"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Paul Mantee"
+ },
+ {
+ "name" : "Peter Kwong",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Keye Luke"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "John Milford"
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Richard Kellman"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Professor Toru Tanaka"
+ },
+ {
+ "role" : "",
+ "name" : "Lydia Lei",
+ "order" : 7
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1983-12-13",
+ "label" : "2x13. The Maltese Cow",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E13.mp4",
+ "playcount" : 0,
+ "episode" : 13,
+ "plot" : "Old friends who own a restaurant sponsored by the A-Team face an extortion threat from a Chinese tong.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.19999980926514,
+ "votes" : 6
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262793.jpg/",
+ "votes" : "6",
+ "dateadded" : "2016-08-26 09:16:58",
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262793"
+ },
+ "lastplayed" : "",
+ "seasonid" : 554,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262793.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Maltese Cow"
+ },
+ {
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262794"
+ },
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262794.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "title" : "In Plane Sight",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E14.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 6
+ }
+ },
+ "playcount" : 0,
+ "plot" : "The A-Team employs a new method to prepare B.A. for a flight to South America, where drug smugglers are holding an innocent pilot prisoner.",
+ "episode" : 14,
+ "votes" : "6",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262794.jpg/",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "episodeid" : 2921,
+ "writer" : [
+ "Babs Greyhosky"
+ ],
+ "director" : [
+ "Tony Mordente"
+ ],
+ "firstaired" : "1984-01-03",
+ "cast" : [
+ {
+ "name" : "Judy Strangis",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Anthony Charnota"
+ },
+ {
+ "order" : 2,
+ "name" : "Rod Colbin",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fwf4Pr9RxsHGd0O9fLPiB3Al8IVC.jpg/",
+ "name" : "Lance Henriksen",
+ "role" : ""
+ },
+ {
+ "name" : "Carmen Argenziano",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Bruce French",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Grainger Hines",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Crofton Hardester"
+ },
+ {
+ "role" : "",
+ "name" : "Chad Block",
+ "order" : 8
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "label" : "2x14. In Plane Sight"
+ },
+ {
+ "cast" : [
+ {
+ "name" : "Michael Fairman",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Kurtwood Smith",
+ "role" : "",
+ "order" : 1,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fKurtwood_Smith.jpg/"
+ },
+ {
+ "order" : 2,
+ "name" : "Randolph Roberts",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Edward Ansara",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Ron Meszaros",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1984-01-10",
+ "director" : [
+ "Gilbert M. Shilton"
+ ],
+ "label" : "2x15. The Battle of Bel-Air",
+ "showtitle" : "The A-Team",
+ "rating" : 7.30000019073486,
+ "episodeid" : 2922,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E15.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262795.jpg/",
+ "plot" : "The A-Team must rescue an employee of a security firm after she warns them about an ambush.",
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "rating" : 7.30000019073486,
+ "default" : true
+ }
+ },
+ "episode" : 15,
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262795.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "title" : "The Battle of Bel-Air",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262795"
+ },
+ "runtime" : 2700
+ },
+ {
+ "writer" : [
+ "Richard Christian Matheson",
+ "Thomas Szollosi"
+ ],
+ "episodeid" : 2923,
+ "showtitle" : "The A-Team",
+ "rating" : 7.40000009536743,
+ "label" : "2x16. Say It With Bullets",
+ "firstaired" : "1984-01-17",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 0,
+ "name" : "Marla Heasley",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Lauren Chase",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Monte Markham"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Miguel Fernandes"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Patrick Brady"
+ },
+ {
+ "order" : 5,
+ "name" : "Sam Melville",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Christopher Michael Moore"
+ },
+ {
+ "name" : "Anthony S. Johnson",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "name" : "Fred McGrath",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "5",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262796.jpg/",
+ "plot" : "A WAC asks the A-Team to investigate the death of her brother, who was involved in arms trafficking at a military base.",
+ "episode" : 16,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 5,
+ "default" : true,
+ "rating" : 7.40000009536743
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E16.mp4",
+ "uniqueid" : {
+ "unknown" : "262796"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Say It With Bullets",
+ "seasonid" : 554,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262796.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "The A-Team helps a southern minister stop the manufacture of lethal moonshine.",
+ "episode" : 17,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.30000019073486,
+ "default" : true,
+ "votes" : 6
+ }
+ },
+ "votes" : "6",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262797.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E17.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262797"
+ },
+ "tvshowid" : 137,
+ "title" : "Pure-Dee Poison",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262797.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "episodeid" : 2924,
+ "writer" : [
+ "Alan Cole",
+ "Chris Bunch"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 7.30000019073486,
+ "label" : "2x17. Pure-Dee Poison",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "name" : "Tracy Reed",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Steve Sander"
+ },
+ {
+ "name" : "Tony O'Neill",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "John Amos",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Bo Hopkins",
+ "role" : ""
+ },
+ {
+ "name" : "Marsha Haynes",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Ed Crick",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "John Roselius",
+ "order" : 7
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1984-01-31",
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "The sophisticated commando tactics used by a gang for robbing busloads of tourists suggests to the A-Team that they're preparing for a bigger score.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 4
+ }
+ },
+ "episode" : 18,
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262798.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E18.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "It's a Desert Out There",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262798.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262798"
+ },
+ "tvshowid" : 137,
+ "label" : "2x18. It's a Desert Out There",
+ "director" : [
+ "Arnold Laven"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jeannie Wilson",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Anthony James",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fIovpB0rm77GljLMLP5S3VW6AAi.jpg/"
+ },
+ {
+ "order" : 2,
+ "name" : "Tony Burton",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Robert Dryer"
+ },
+ {
+ "order" : 4,
+ "name" : "Parley Baer",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "name" : "Peg Stewart",
+ "role" : ""
+ },
+ {
+ "name" : "Arnold Turner",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Austin Kelly"
+ },
+ {
+ "role" : "",
+ "name" : "Dan Magiera",
+ "order" : 8
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1984-02-07",
+ "episodeid" : 2925,
+ "writer" : [
+ "Bruce Cervi"
+ ],
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "5",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262799.jpg/",
+ "episode" : 19,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 5,
+ "default" : true,
+ "rating" : 7.40000009536743
+ }
+ },
+ "plot" : "The A-Team uses their own vehicles, Face's Corvette and B.A.'s van, as bait for a car-stealing ring.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E19.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262799"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Chopping Spree",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262799.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/"
+ },
+ "seasonid" : 554,
+ "episodeid" : 2926,
+ "writer" : [
+ "Stephen Katz"
+ ],
+ "rating" : 7.40000009536743,
+ "showtitle" : "The A-Team",
+ "label" : "2x19. Chopping Spree",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Dennis Franz",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Lee Patterson",
+ "order" : 1
+ },
+ {
+ "name" : "Liberty Godshail",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Joe Colligan",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Ken Foree",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Bruce Tuthill",
+ "order" : 5
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1984-02-14",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [
+ "Ivan Dixon"
+ ],
+ "firstaired" : "1984-02-21",
+ "cast" : [
+ {
+ "name" : "Lori Lethin",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Kevyn Major Howard",
+ "order" : 1
+ },
+ {
+ "name" : "Steven Keats",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Cherie Midren"
+ },
+ {
+ "name" : "Anthony De Longis",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Suzzane Albershardt",
+ "role" : ""
+ },
+ {
+ "name" : "Frank Annese",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "label" : "2x20. Harder Than it Looks",
+ "showtitle" : "The A-Team",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "episodeid" : 2927,
+ "seasonid" : 554,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262800.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Harder Than it Looks",
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262800"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E20.mp4",
+ "plot" : "The rescue of a kidnapping victim looks easy until the ransom is left behind and the victim insists on bringing along one of her captors.",
+ "episode" : 20,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 4,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262800.jpg/",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ {
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262801"
+ },
+ "runtime" : 2700,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262801.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "seasonid" : 554,
+ "title" : "Deadly Maneuvers",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E21.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "5",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262801.jpg/",
+ "episode" : 21,
+ "plot" : "Criminals foiled in the past by the A-Team hire a crew of mercenaries to pick off each member one by one.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.19999980926514,
+ "default" : true,
+ "votes" : 5
+ }
+ },
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 8.19999980926514,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2928,
+ "writer" : [
+ "Richard Christian Matheson",
+ "Thomas Szolski"
+ ],
+ "firstaired" : "1984-02-28",
+ "cast" : [
+ {
+ "name" : "Ed Lauter",
+ "role" : "",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fEd_Lauter.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Tricia O'Neill",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Richard Kuss",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "John G. Scanlon",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Ed Johnson",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fMichael_Ensign.jpg/",
+ "order" : 5,
+ "name" : "Michael Ensign",
+ "role" : ""
+ },
+ {
+ "name" : "Barbara Stock",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Rene Assa"
+ },
+ {
+ "order" : 8,
+ "name" : "Michael Cavanaugh",
+ "role" : ""
+ },
+ {
+ "name" : "Randy Patrick",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "role" : "",
+ "name" : "John Steadman",
+ "order" : 10
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "director" : [
+ "Mike Vejar"
+ ],
+ "label" : "2x21. Deadly Maneuvers"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262802.jpg/",
+ "plot" : "The A-Team faces an especially challenging mission when their pacifist clients forbid the use of violence against bigots trying to run their community off its land.",
+ "playcount" : 0,
+ "episode" : 22,
+ "ratings" : {
+ "default" : {
+ "votes" : 4,
+ "default" : true,
+ "rating" : 6.80000019073486
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E22.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262802"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Semi-Friendly Persuasion",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262802.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 554,
+ "episodeid" : 2929,
+ "writer" : [
+ "Danny E. Cole"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 6.80000019073486,
+ "label" : "2x22. Semi-Friendly Persuasion",
+ "cast" : [
+ {
+ "name" : "Geoffrey Lewis",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Tim O'Connor"
+ },
+ {
+ "name" : "Sam J. Jones",
+ "role" : "",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2ffantasy%2f.actors%2fSam_J._Jones.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Robby Kiger",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Frank Luz",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "name" : "Red West",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "name" : "Lindsay V. Jones",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Ben Rawnsley",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Donald Thompson",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "name" : "Galen Everhart",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1984-05-08",
+ "director" : [
+ "Craig R. Baxley"
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262803.jpg/",
+ "votes" : "4",
+ "plot" : "The A-Team reminisces (via flashbacks) about an injured Murdock as they look for a doctor and try to avoid a pursuing Decker.",
+ "playcount" : 0,
+ "episode" : 23,
+ "ratings" : {
+ "default" : {
+ "rating" : 8,
+ "default" : true,
+ "votes" : 4
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 2/S2E23.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Curtain Call",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262803.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/"
+ },
+ "seasonid" : 554,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262803"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "label" : "2x23. Curtain Call",
+ "cast" : [
+ {
+ "name" : "George Wyner",
+ "role" : "",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fGeorge_Wyner.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Danny Wells"
+ },
+ {
+ "role" : "",
+ "name" : "Steve Tannen",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Nik Celozzi"
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1984-05-15",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "episodeid" : 2930,
+ "writer" : [
+ "Stephen Katz"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 8,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2
+ },
+ {
+ "episodeid" : 2931,
+ "writer" : [
+ "Mark Jones"
+ ],
+ "rating" : 6.59999990463257,
+ "showtitle" : "The A-Team",
+ "label" : "3x01. Bullets and Bikinis",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Vincent Baggetta",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Kimberly Ross",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Betsy Russell",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Ben Piazza"
+ },
+ {
+ "name" : "Jeanna Tomasino",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Tony Giorgio",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Paul Sylavan",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Rick Grassi",
+ "role" : ""
+ },
+ {
+ "name" : "Wanda Penalver",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Kelly Andrus"
+ },
+ {
+ "role" : "",
+ "name" : "Richard Brose",
+ "order" : 10
+ },
+ {
+ "role" : "",
+ "name" : "Libby Charlton",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "name" : "Jeana Tomasina",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Paul Sylvan",
+ "order" : 13
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1984-09-18",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "ratings" : {
+ "default" : {
+ "votes" : 5,
+ "default" : true,
+ "rating" : 6.59999990463257
+ }
+ },
+ "playcount" : 0,
+ "plot" : "Two girls ask the A-Team to take over their beachfront hotel after an alleged mobster keeps making bigger and bigger buyout offers that they refuse to take.",
+ "episode" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262804.jpg/",
+ "votes" : "5",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E1.mp4",
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262804"
+ },
+ "tvshowid" : 137,
+ "title" : "Bullets and Bikinis",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262804.jpg/"
+ },
+ "seasonid" : 555
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262805"
+ },
+ "tvshowid" : 137,
+ "title" : "The Bend in the River (1)",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262805.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "Tawnia asks the A-Team to find her fiancé, an archaeologist last seen on an Amazon expedition that was attacked by a pirate.",
+ "episode" : 2,
+ "ratings" : {
+ "default" : {
+ "votes" : 4,
+ "default" : true,
+ "rating" : 6.80000019073486
+ }
+ },
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262805.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E2.mp4",
+ "specialsortseason" : -1,
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 2932,
+ "writer" : [
+ "Frank Lupo",
+ "Stephen J. Cannell"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 6.80000019073486,
+ "label" : "3x02. The Bend in the River (1)",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Barry Van Dyke",
+ "order" : 0
+ },
+ {
+ "name" : "Marta DuBois",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Mike Preston",
+ "role" : ""
+ },
+ {
+ "name" : "Sergio Calderon",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Rafael Campos",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Kai Wulff",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Richard Moll",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Don Pedro Golly",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Eric Holland",
+ "order" : 8
+ },
+ {
+ "name" : "Danny Wells",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1984-09-25"
+ },
+ {
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 2933,
+ "writer" : [
+ "Frank Lupo",
+ "Stephen J. Cannell"
+ ],
+ "rating" : 6.5,
+ "showtitle" : "The A-Team",
+ "label" : "3x03. The Bend in the River (2)",
+ "firstaired" : "1984-09-25",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Barry Van Dyke"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Marta DuBois"
+ },
+ {
+ "role" : "",
+ "name" : "Mike Preston",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Sergio Calderon",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Rafael Campos",
+ "order" : 4
+ },
+ {
+ "name" : "Kai Wulff",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "Richard Moll",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Don Pedro Golly",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Eric Holland"
+ },
+ {
+ "order" : 9,
+ "name" : "Danny Wells",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262806"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "The Bend in the River (2)",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262806.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ },
+ "seasonid" : 555,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262806.jpg/",
+ "ratings" : {
+ "default" : {
+ "votes" : 4,
+ "rating" : 6.5,
+ "default" : true
+ }
+ },
+ "plot" : "Tawnia asks the A-Team to find her fiancé, an archaeologist last seen on an Amazon expedition that was attacked by a pirate.",
+ "episode" : 3,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E3.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "userrating" : 0,
+ "title" : "Fire",
+ "seasonid" : 555,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262807.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "262807"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262807.jpg/",
+ "votes" : "6",
+ "ratings" : {
+ "default" : {
+ "votes" : 6,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "plot" : "The A-Team faces another Army pursuit as they try to help a small town fire chief compete with a larger rival company.",
+ "playcount" : 0,
+ "episode" : 4,
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E4.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3,
+ "label" : "3x04. Fire",
+ "cast" : [
+ {
+ "name" : "Paul Gleason",
+ "role" : "",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fPaul_Gleason.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Christopher Penrock"
+ },
+ {
+ "order" : 2,
+ "name" : "Alan Fudge",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "name" : "Buddy Garion",
+ "role" : ""
+ },
+ {
+ "name" : "Bradford English",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "W.K. Stratton"
+ },
+ {
+ "role" : "",
+ "name" : "Stepfanie Kramer",
+ "order" : 6
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "",
+ "order" : 7,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fjhEu0HyHPbFh3cbIoWGW95ubEK1.jpg/",
+ "order" : 8,
+ "name" : "Terrence Evans",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1984-10-02",
+ "director" : [
+ "Tony Mordente"
+ ],
+ "writer" : [
+ "Stephen Katz"
+ ],
+ "episodeid" : 2934,
+ "showtitle" : "The A-Team",
+ "rating" : 7
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.09999990463257,
+ "default" : true,
+ "votes" : 8
+ }
+ },
+ "playcount" : 0,
+ "plot" : "The A-Team intercedes when a union organizer tries to put a small logging operation out of business.",
+ "episode" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262808.jpg/",
+ "votes" : "8",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E5.mp4",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262808"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Timber!",
+ "seasonid" : 555,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262808.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [
+ "Jeff Ray"
+ ],
+ "episodeid" : 2935,
+ "showtitle" : "The A-Team",
+ "rating" : 7.09999990463257,
+ "label" : "3x05. Timber!",
+ "director" : [
+ "David Hemmings"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Joseph Lambie",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Tracy Brooks Swope"
+ },
+ {
+ "name" : "André Gower",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Ray Beckel",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Art LaFleur",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Wiley Harker"
+ },
+ {
+ "name" : "Shirley Slatter",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Cindy Roberts",
+ "role" : ""
+ },
+ {
+ "name" : "Beau Starr",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1984-10-16",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "uniqueid" : {
+ "unknown" : "262809"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Double Heat",
+ "seasonid" : 555,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262809.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262809.jpg/",
+ "votes" : "4",
+ "plot" : "The A-Team is called in to find an accountant's daughter who has become a pawn in a game between two rival mobsters.",
+ "playcount" : 0,
+ "episode" : 6,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.30000019073486,
+ "default" : true,
+ "votes" : 4
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E6.mp4",
+ "specialsortseason" : -1,
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [
+ "Stephen Katz"
+ ],
+ "episodeid" : 2936,
+ "showtitle" : "The A-Team",
+ "rating" : 7.30000019073486,
+ "label" : "3x06. Double Heat",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Dana Elcar"
+ },
+ {
+ "name" : "Leah Ayres",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Steven Williams",
+ "order" : 2
+ },
+ {
+ "name" : "Michael Baseleon",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Reid Cruickshank",
+ "order" : 4
+ },
+ {
+ "name" : "Brendan Byrne",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Jason Edwards"
+ },
+ {
+ "name" : "Christine DeLeise",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Burke Byrnes",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "name" : "Rosemarie Thomas",
+ "role" : ""
+ },
+ {
+ "name" : "Daniel Greene",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1984-10-23",
+ "director" : [
+ "Craig R. Baxley"
+ ]
+ },
+ {
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262810"
+ },
+ "runtime" : 2700,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262810.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555,
+ "title" : "Trouble on Wheels",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E7.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "5",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262810.jpg/",
+ "episode" : 7,
+ "plot" : "Hannibal goes undercover in order to investigate employee theft from an auto plant.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.80000019073486,
+ "votes" : 5
+ }
+ },
+ "season" : 3,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 7.80000019073486,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2937,
+ "writer" : [
+ "Mark Jones"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Joe Santos",
+ "order" : 0
+ },
+ {
+ "name" : "Mills Watson",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "James Luisi",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Denise Pratt",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Ken Gibbel",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Daniel Chodos",
+ "order" : 5
+ },
+ {
+ "name" : "Don Recasner",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1984-10-30",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "label" : "3x07. Trouble on Wheels"
+ },
+ {
+ "showtitle" : "The A-Team",
+ "rating" : 7.40000009536743,
+ "writer" : [
+ "Mark Jones"
+ ],
+ "episodeid" : 2938,
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "cast" : [
+ {
+ "name" : "Raul Drake",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "James Callahan",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Sonny Landham",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Alejandro Garay"
+ },
+ {
+ "name" : "Diego Palacios",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Loyda Ramos",
+ "role" : ""
+ },
+ {
+ "name" : "Gordon Ross",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "William Dyer",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Carole Davis",
+ "order" : 8
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1984-11-13",
+ "label" : "3x08. The Island",
+ "season" : 3,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E8.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "episode" : 8,
+ "plot" : "An Army doctor who once saved B.A.'s life calls in his debt by asking the A-Team to help deal with the thugs who have taken over the tropical island where he has set up a medical practice.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.40000009536743,
+ "default" : true,
+ "votes" : 5
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262811.jpg/",
+ "votes" : "5",
+ "dateadded" : "2016-08-26 09:16:58",
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262811"
+ },
+ "lastplayed" : "",
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262811.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Island"
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "label" : "3x09. Showdown!",
+ "director" : [
+ "James Fargo"
+ ],
+ "firstaired" : "1984-11-20",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Morgan Woodward"
+ },
+ {
+ "order" : 1,
+ "name" : "D.D. Howard",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Michael DeLano",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "John Carter"
+ },
+ {
+ "name" : "W.K. Stratton",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Ben Hammer",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "Xander Berkeley",
+ "role" : "",
+ "order" : 6,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fXander_Berkeley.jpg/"
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Joseph de Reda"
+ },
+ {
+ "name" : "K.C. Winkler",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "name" : "Lynnie Ferguson",
+ "role" : ""
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "writer" : [
+ "Milt Rosen"
+ ],
+ "episodeid" : 2939,
+ "showtitle" : "The A-Team",
+ "rating" : 6.5,
+ "userrating" : 0,
+ "title" : "Showdown!",
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262812.jpg/"
+ },
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262812"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "playcount" : 0,
+ "episode" : 9,
+ "plot" : "Col. Lynch stakes out a Wild West show that has been terrorized by a group of A-Team impostors, sure that the real guys won't be able to ignore them.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 6.5,
+ "votes" : 4
+ }
+ },
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262812.jpg/",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E9.mp4",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "label" : "3x10. Sheriffs of Rivertown",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "name" : "Robert Davi",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Wendy Kilbourne",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Ismael 'East' Carlo",
+ "role" : ""
+ },
+ {
+ "name" : "Ed Gilbert",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "James Lough",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "name" : "Will MacMillan",
+ "role" : ""
+ },
+ {
+ "name" : "Curtis Taylor",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Bryan McGuire",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "name" : "Elsa Raven",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "name" : "Chip Johnson",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1984-11-27",
+ "episodeid" : 2940,
+ "writer" : [
+ "Mark Jones"
+ ],
+ "rating" : 6.80000019073486,
+ "showtitle" : "The A-Team",
+ "title" : "Sheriffs of Rivertown",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262813.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262813"
+ },
+ "tvshowid" : 137,
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "The A-Team travels to South America where they become the law in a town built to house workers of a power plant that has been experiencing a number of fatal accidents.",
+ "playcount" : 0,
+ "episode" : 10,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 6.80000019073486,
+ "votes" : 4
+ }
+ },
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262813.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E10.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "title" : "The Bells of St. Marys",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262814.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "seasonid" : 555,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262814"
+ },
+ "tvshowid" : 137,
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "Threats from their old record label prompt a singing group who went to school with Face to ask the A-Team for help.",
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "votes" : 3,
+ "rating" : 7,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "votes" : "3",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262814.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E11.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "label" : "3x11. The Bells of St. Marys",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Deborah Lacey"
+ },
+ {
+ "name" : "Robert Desiderio",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Joseph Wiseman",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2factie%2fJames%20Bond%2f.actors%2fJoseph_Wiseman.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Michael Alldridge",
+ "role" : ""
+ },
+ {
+ "name" : "Reginald T. Dorsey",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Karl Johnson",
+ "order" : 5
+ },
+ {
+ "name" : "Dawn Mangrum",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Leslie Kawai",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Lisa Antille"
+ },
+ {
+ "role" : "",
+ "name" : "Kathleen O'Malley",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "name" : "Robert Hanley",
+ "role" : ""
+ },
+ {
+ "order" : 11,
+ "name" : "Thomas Patton",
+ "role" : ""
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1984-12-04",
+ "episodeid" : 2941,
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "rating" : 7,
+ "showtitle" : "The A-Team"
+ },
+ {
+ "firstaired" : "1984-12-11",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Markie Post"
+ },
+ {
+ "role" : "",
+ "name" : "Richard Lynch",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f8e1KM2XCGh8X2Ekoc6AB9yvUaYS.jpg/"
+ },
+ {
+ "name" : "Arthur Taxier",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "John Moschitta Jr.",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Andy Pomano"
+ },
+ {
+ "name" : "Stephen Liska",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Liam Sullivan",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Eve Smith",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Suzanne Wasson",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Robert Madrid",
+ "order" : 9
+ },
+ {
+ "role" : "",
+ "name" : "Benji Gregory",
+ "order" : 10
+ },
+ {
+ "role" : "",
+ "name" : "Ralph Redpath",
+ "order" : 11
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Tony Mordente"
+ ],
+ "label" : "3x12. Hot Styles",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "episodeid" : 2942,
+ "writer" : [
+ "Stephen Katz"
+ ],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E12.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "3",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262815.jpg/",
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 3
+ }
+ },
+ "playcount" : 0,
+ "plot" : "Face's latest girl friend is rather ungrateful after the A-Team rescues her from mobsters.",
+ "episode" : 12,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262815.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555,
+ "title" : "Hot Styles",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262815"
+ },
+ "runtime" : 2700
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "cast" : [
+ {
+ "name" : "Steve Sandor",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Jeff Doucette",
+ "role" : ""
+ },
+ {
+ "name" : "Robert Donner",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Lenore Kasdorf",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Bruce M. Fisher",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Tawny Moyer",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Melanie Wilson",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Joe LaDue",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Joe Unger"
+ },
+ {
+ "order" : 9,
+ "name" : "Justin Gocke",
+ "role" : ""
+ },
+ {
+ "order" : 10,
+ "name" : "Patrick Cameron",
+ "role" : ""
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1984-12-18",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "label" : "3x13. Breakout!",
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Stephen Katz",
+ "Mark Jones"
+ ],
+ "episodeid" : 2943,
+ "seasonid" : 555,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262816.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Breakout!",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262816"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E13.mp4",
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262816.jpg/",
+ "plot" : "After being taken hostage by bankrobbers B.A. and Murdock are named as accomplices and put in jail until Decker can come and get them.",
+ "episode" : 13,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 4,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "cast" : [
+ {
+ "name" : "John Aston",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Lisa Denton",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Claude Earl Jones",
+ "role" : ""
+ },
+ {
+ "name" : "Dave Shelley",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Gary Lee Davis",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Shawn Southwick",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Toni Sawyer",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Herb Mitchell",
+ "order" : 7
+ },
+ {
+ "name" : "Jim Boeke",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "name" : "David A. Penhale",
+ "role" : ""
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-01-08",
+ "director" : [
+ "Craig R. Baxley"
+ ],
+ "label" : "3x14. Cup A' Joe",
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Dennis O'Keefe"
+ ],
+ "episodeid" : 2944,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E14.mp4",
+ "specialsortseason" : -1,
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262817.jpg/",
+ "playcount" : 0,
+ "plot" : "A restaurateur tries to force the owners of a small diner to sell out to him after he arranges for a new freeway off-ramp to be built nearby.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7,
+ "votes" : 2
+ }
+ },
+ "episode" : 14,
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262817.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Cup A' Joe",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262817"
+ },
+ "runtime" : 2700,
+ "lastplayed" : ""
+ },
+ {
+ "season" : 3,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "episodeid" : 2945,
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Wings Hauser",
+ "role" : ""
+ },
+ {
+ "name" : "Joseph Sirola",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Al Ruscio",
+ "order" : 2
+ },
+ {
+ "name" : "Janine Turner",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Marshall Teague"
+ },
+ {
+ "name" : "Victoria Bass",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "William Dyer",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Tony Ciccone",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Clint Carmichael",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-01-15",
+ "director" : [
+ "Arnold Laven"
+ ],
+ "label" : "3x15. The Big Squeeze",
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262818"
+ },
+ "runtime" : 2700,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262818.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "seasonid" : 555,
+ "title" : "The Big Squeeze",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E15.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262818.jpg/",
+ "votes" : "3",
+ "playcount" : 0,
+ "plot" : "The A-Team opens its own restaurant to lure a ruthless loan shark who has other restaurant owners terrified.",
+ "episode" : 15,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7,
+ "votes" : 3
+ }
+ }
+ },
+ {
+ "plot" : "B.A. goes undercover as a boxer in order to put a drug-trafficking ring out of business.",
+ "episode" : 16,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 3,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "votes" : "3",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262819.jpg/",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E16.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Champ!",
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262819.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262819"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "label" : "3x16. Champ!",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "cast" : [
+ {
+ "name" : "Alex Rocco",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flISkRNmrR2P8OXvgPBZc7QmkLWA.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Joe E. Tata",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Dick Balduzzi",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Holly Gagnier"
+ },
+ {
+ "name" : "Herman Poppe",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Danile Faraldo",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Grey Collins",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Lana Clarkson",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Jimmy Lennon Sr.",
+ "role" : ""
+ },
+ {
+ "name" : "Greg Collins",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-01-22",
+ "writer" : [
+ "Stephen Katz"
+ ],
+ "episodeid" : 2946,
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3
+ },
+ {
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Mark Jones"
+ ],
+ "episodeid" : 2947,
+ "showtitle" : "The A-Team",
+ "rating" : 6.5,
+ "label" : "3x17. Skins",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "John Quade",
+ "role" : ""
+ },
+ {
+ "name" : "John Calvin",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Daphne Maxwell Reid"
+ },
+ {
+ "name" : "Jessie Lawrence Ferguson",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Darin Taylor"
+ },
+ {
+ "role" : "",
+ "name" : "Mike Moroff",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Tony O'Neil",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1985-01-29",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262820"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Skins",
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262820.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "episode" : 17,
+ "plot" : "The A-Team travels to Kenya to deal with game poachers who have included a game warden among their kills.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 6.5,
+ "votes" : 2
+ }
+ },
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262820.jpg/",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E17.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262821"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Road Games",
+ "userrating" : 0,
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262821.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262821.jpg/",
+ "votes" : "3",
+ "ratings" : {
+ "default" : {
+ "votes" : 3,
+ "rating" : 7.30000019073486,
+ "default" : true
+ }
+ },
+ "plot" : "Face infiltrates a gambling ring to clear a man's gambling debts and to save the foster home he runs.",
+ "playcount" : 0,
+ "episode" : 18,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E18.mp4",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 2948,
+ "writer" : [
+ "Mark Jones"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 7.30000019073486,
+ "label" : "3x18. Road Games",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Edward Winter"
+ },
+ {
+ "name" : "Daphne Ashbrook",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Kaz Garas",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Kathy Baldwin",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Frank Marth"
+ },
+ {
+ "name" : "Read Morgan",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Candy Olsen",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Michael Buccelato",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Nick Cavanaugh",
+ "order" : 8
+ },
+ {
+ "name" : "Brad Fisher",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Don Maxwell"
+ },
+ {
+ "order" : 11,
+ "name" : "Lia Yoon",
+ "role" : ""
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "DeShá Bynum"
+ },
+ {
+ "role" : "",
+ "name" : "Brian Autenreighth",
+ "order" : 13
+ },
+ {
+ "name" : "Brian Autenrieth",
+ "role" : "",
+ "order" : 14
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-02-05",
+ "director" : [
+ "Dennis Donnelly"
+ ]
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262822.jpg/",
+ "votes" : "2",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 5.5,
+ "votes" : 2
+ }
+ },
+ "playcount" : 0,
+ "episode" : 19,
+ "plot" : "A Middle Eastern potentate hires the A-Team to protect his about-to-be-married daughter despite her ideas to the contrary.",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E19.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "262822"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Moving Targets",
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262822.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ },
+ "writer" : [
+ "Mark Jones"
+ ],
+ "episodeid" : 2949,
+ "showtitle" : "The A-Team",
+ "rating" : 5.5,
+ "label" : "3x19. Moving Targets",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Sue Kiel"
+ },
+ {
+ "order" : 1,
+ "name" : "John Saxon",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Frank Annese",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Jack Heller"
+ },
+ {
+ "name" : "Maurice Serbanee",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Kavi Raz",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Ava Lazar"
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Adam Ageli"
+ },
+ {
+ "name" : "John Hamelin",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-02-12",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E20.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "episode" : 20,
+ "plot" : "The A-Team comes to the aid of an auto mechanic being driven out of business by a ruthless competitor.",
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "rating" : 7,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262823.jpg/",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262823.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555,
+ "title" : "Knights of the Road",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262823"
+ },
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "firstaired" : "1985-02-26",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Don Stroud",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "name" : "Carlos Romero",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Tim McMullen",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Deborah Goodrich"
+ },
+ {
+ "name" : "Ji Tu Cumbuka",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Jimmie F. Skaggs",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Ricardo Lopez",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Galyn Gorg",
+ "role" : ""
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Russ McCubbin"
+ },
+ {
+ "name" : "John Kelly",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "name" : "Marty Imsland",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Carlos Rivas",
+ "order" : 11
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "label" : "3x20. Knights of the Road",
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2950,
+ "writer" : [
+ "Burt Pearl",
+ "Steven L. Sears"
+ ],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E21.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262824.jpg/",
+ "votes" : "1",
+ "episode" : 21,
+ "playcount" : 0,
+ "plot" : "The A-Team discovers a plot to dump toxic waste when they try to protect a man and his blind sister from harassment.",
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262824.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Waste 'Em!",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262824"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Joseph Hacker",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Stacey Nelkin"
+ },
+ {
+ "name" : "John Dennis Johnston",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Mitchell Ryan",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Richard Herd",
+ "order" : 4
+ },
+ {
+ "name" : "Carrell Myers",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Bruce Tuthill",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1985-03-05",
+ "director" : [
+ "Sydney Hayers"
+ ],
+ "label" : "3x21. Waste 'Em!",
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Stephen Katz",
+ "Mark Jones"
+ ],
+ "episodeid" : 2951,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3
+ },
+ {
+ "seasonid" : 555,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262825.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Bounty",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262825"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E22.mp4",
+ "specialsortseason" : -1,
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262825.jpg/",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.5,
+ "votes" : 2
+ }
+ },
+ "episode" : 22,
+ "plot" : "Murdock is kidnapped by bounty hunters that hope to use him as bait to capture the rest of the A-Team. When the Team arrives to rescue him, they find he has fallen in love with a veteranarian that's helped save him.",
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Wendy Fulton"
+ },
+ {
+ "role" : "",
+ "name" : "Gene Evans",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Bill McKinney",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Edy Roberts",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Mike Tully",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Michael Chieffo",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Don Maxwell"
+ },
+ {
+ "order" : 7,
+ "name" : "Huck Liggett",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Paul Koslo",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "name" : "Mickey Jones",
+ "role" : ""
+ },
+ {
+ "name" : "Joan Roberts",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-04-02",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "label" : "3x22. Bounty",
+ "rating" : 7.5,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Stephen Katz"
+ ],
+ "episodeid" : 2952
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E23.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 4
+ }
+ },
+ "episode" : 23,
+ "plot" : "The A-Team goes uptown and gets involved with an art dealer who has been replacing original paintings with fakes.",
+ "playcount" : 0,
+ "votes" : "4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262826.jpg/",
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262826"
+ },
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262826.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555,
+ "title" : "Beverly Hills Assault",
+ "userrating" : 0,
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2953,
+ "writer" : [
+ "Paul Birnbaum"
+ ],
+ "director" : [
+ "Craig R. Baxley"
+ ],
+ "firstaired" : "1985-04-09",
+ "cast" : [
+ {
+ "name" : "Michael Young",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Maylo McCaslin",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Dennis Franz",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Lloyd Bochner",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxVS6edZlUempGkjWqSnPnkGcRTw.jpg/",
+ "name" : "Bruce Glover",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Kathy Witt",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fd8i0tFr9JDfhGUhKtr25HnZey3s.jpg/",
+ "order" : 6,
+ "role" : "",
+ "name" : "Branscombe Richmond"
+ },
+ {
+ "name" : "Cherie Michan",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Garnett Smith",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "David Westgor"
+ },
+ {
+ "order" : 10,
+ "name" : "Kim Fuster",
+ "role" : ""
+ },
+ {
+ "name" : "Tony Ciccone",
+ "role" : "",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "Linda DeSoto"
+ },
+ {
+ "order" : 13,
+ "name" : "Nik Celozzi",
+ "role" : ""
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "label" : "3x23. Beverly Hills Assault",
+ "season" : 3,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "episodeid" : 2954,
+ "writer" : [
+ "Burt Pearl",
+ "Steven L. Sears"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "label" : "3x24. Trouble Brewing",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Claudia Christian"
+ },
+ {
+ "name" : "Suzanne Barnes",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Louis Giambalvo",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Robert Dryer",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fIovpB0rm77GljLMLP5S3VW6AAi.jpg/",
+ "role" : "",
+ "name" : "Anthony James"
+ },
+ {
+ "name" : "Jack Hogan",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Walter Matthews",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Cal Gibson"
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Nick Mariano"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1985-05-07",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262827.jpg/",
+ "votes" : "3",
+ "episode" : 24,
+ "plot" : "Two sisters ask the A-Team for help when they are pressured to convert their all-natural soda pop bottling plant into a brewery.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 3
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E24.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262827"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Trouble Brewing",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262827.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555
+ },
+ {
+ "episodeid" : 2955,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "label" : "3x25. Incident at Crystal Lake",
+ "director" : [
+ "Tony Mordente"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Robert Gray"
+ },
+ {
+ "order" : 1,
+ "name" : "Robert Tessier",
+ "role" : ""
+ },
+ {
+ "name" : "Ken Swofford",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Kristen Meadows",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Christopher Stone",
+ "role" : ""
+ },
+ {
+ "name" : "Judson Scott",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Mindi Iden",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Christopher Kriesa",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Beau Billingslea",
+ "order" : 8
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1985-05-14",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "The A-Team's planned fishing vacation at a lakeside retreat is ruined when Decker and his men show up.",
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "rating" : 7,
+ "default" : true
+ }
+ },
+ "episode" : 25,
+ "playcount" : 0,
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262828.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 3/S3E25.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262828"
+ },
+ "tvshowid" : 137,
+ "title" : "Incident at Crystal Lake",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262828.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 555
+ },
+ {
+ "episodeid" : 2956,
+ "writer" : [],
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "label" : "4x01. Judgment Day (1)",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "LaGena Hart",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Zack Norman",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Robert Miranda"
+ },
+ {
+ "name" : "Carl Strano",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "June Chadwick",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Michael DeLano",
+ "order" : 5
+ },
+ {
+ "name" : "Dana Elcar",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "James F. Kelly",
+ "role" : ""
+ },
+ {
+ "name" : "Ana Obregón",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "role" : "",
+ "name" : "Michael Daniel Russo",
+ "order" : 9
+ },
+ {
+ "role" : "",
+ "name" : "Richard Brose",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "name" : "Ken Learner",
+ "role" : ""
+ },
+ {
+ "order" : 12,
+ "name" : "Marji Martin",
+ "role" : ""
+ },
+ {
+ "name" : "Nicolette Scorsese",
+ "role" : "",
+ "order" : 13
+ },
+ {
+ "role" : "",
+ "name" : "Benjamin Jurand",
+ "order" : 14
+ },
+ {
+ "order" : 15,
+ "role" : "",
+ "name" : "Keith Walker"
+ },
+ {
+ "order" : 16,
+ "role" : "",
+ "name" : "Ana Obregón"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-09-24",
+ "director" : [],
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262829.jpg/",
+ "votes" : "2",
+ "plot" : "The A-Team goes to Italy to rescue a judge's daughter from mobsters, then must spend the journey home aboard an oceanliner dodging the boys trying to get her back.",
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E1.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262829"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Judgment Day (1)",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262829.jpg/"
+ },
+ "seasonid" : 556
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4,
+ "label" : "4x02. Judgment Day (2)",
+ "firstaired" : "1985-09-24",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "LaGena Hart"
+ },
+ {
+ "role" : "",
+ "name" : "Zack Norman",
+ "order" : 1
+ },
+ {
+ "name" : "Robert Miranda",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Carl Strano",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "June Chadwick",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Michael DeLano"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Dana Elcar"
+ },
+ {
+ "name" : "James F. Kelly",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "name" : "Ana Obregón",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "name" : "Michael Daniel Russo",
+ "role" : ""
+ },
+ {
+ "order" : 10,
+ "name" : "Richard Brose",
+ "role" : ""
+ },
+ {
+ "order" : 11,
+ "name" : "Ken Learner",
+ "role" : ""
+ },
+ {
+ "order" : 12,
+ "name" : "Marji Martin",
+ "role" : ""
+ },
+ {
+ "order" : 13,
+ "role" : "",
+ "name" : "Nicolette Scorsese"
+ },
+ {
+ "order" : 14,
+ "role" : "",
+ "name" : "Benjamin Jurand"
+ },
+ {
+ "order" : 15,
+ "role" : "",
+ "name" : "Keith Walker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "director" : [],
+ "episodeid" : 2957,
+ "writer" : [],
+ "showtitle" : "The A-Team",
+ "rating" : 6.5,
+ "title" : "Judgment Day (2)",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262830.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "seasonid" : 556,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262830"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262830.jpg/",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 6.5,
+ "votes" : 2
+ }
+ },
+ "playcount" : 0,
+ "episode" : 2,
+ "plot" : "The A-Team goes to Italy to rescue a judge's daughter from mobsters, then must spend the journey home aboard an oceanliner dodging the boys trying to get her back.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E2.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E3.mp4",
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262831.jpg/",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7,
+ "votes" : 2
+ }
+ },
+ "playcount" : 0,
+ "episode" : 3,
+ "plot" : "The A-Team must make do with movie prop guns against the real things when they are attacked while helping Hannibal and a friend film a low-budget movie in Mexico.",
+ "dateadded" : "2016-08-26 09:16:58",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262831"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "seasonid" : 556,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262831.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Where is the Monster When You Need Him?",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "episodeid" : 2958,
+ "firstaired" : "1985-10-01",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Michael Lerner",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnJaZ9MIhfz4KEwZka5Iu1SUC9CI.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Judy Landers",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Dennis Cole"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Mike Preston"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2factie%2fJames%20Bond%2f.actors%2fWalter_Gotell.jpg/",
+ "order" : 4,
+ "name" : "Walter Gotell",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Rick Garcia"
+ },
+ {
+ "role" : "",
+ "name" : "James Vicher",
+ "order" : 6
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "label" : "4x03. Where is the Monster When You Need Him?",
+ "season" : 4,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "showtitle" : "The A-Team",
+ "rating" : 7.5,
+ "writer" : [],
+ "episodeid" : 2959,
+ "director" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Della Reese",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Wendy Schaal"
+ },
+ {
+ "order" : 2,
+ "name" : "Ray Wise",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Brion James",
+ "order" : 3
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fprgiajw2LMSuoHOlYqWHKuXPB1U.jpg/",
+ "name" : "Liz Sheridan",
+ "role" : ""
+ },
+ {
+ "name" : "Wiley Harker",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "I. Carlo",
+ "order" : 7
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-10-22",
+ "label" : "4x04. A Lease with an Option to Die",
+ "season" : 4,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E4.mp4",
+ "specialsortseason" : -1,
+ "episode" : 4,
+ "plot" : "Some muscle men make a big mistake when they try to force B.A.'s momma out of her apartment.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262832.jpg/",
+ "dateadded" : "2016-08-26 09:16:58",
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262832"
+ },
+ "lastplayed" : "",
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262832.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "A Lease with an Option to Die"
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Road to Hope",
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262833.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "262833"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262833.jpg/",
+ "episode" : 5,
+ "plot" : "Hannibal poses as a wino to avoid being caught by the Army and stumbles onto a racket that involves killing the derelicts.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7,
+ "votes" : 1
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E5.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4,
+ "label" : "4x05. The Road to Hope",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Elisha Cook Jr.",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Christopher Neame",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Warren Berlinger"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Bill Marcus"
+ },
+ {
+ "name" : "Gloria Charles",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Lori Butler"
+ },
+ {
+ "order" : 6,
+ "name" : "Ancel Cool",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "William Dyer",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Jim Edgcomb",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "name" : "Rick Garcia",
+ "role" : ""
+ },
+ {
+ "name" : "Michael Keys Hall",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Joan-Carol Kent"
+ },
+ {
+ "order" : 12,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fthriller%2f.actors%2fMitch_Pileggi.jpg/",
+ "role" : "",
+ "name" : "Mitch Pileggi"
+ },
+ {
+ "name" : "Mike Reynolds",
+ "role" : "",
+ "order" : 13
+ },
+ {
+ "role" : "",
+ "name" : "Harry Woolf",
+ "order" : 14
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1985-10-29",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 2960,
+ "rating" : 7,
+ "showtitle" : "The A-Team"
+ },
+ {
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262834.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Heart of Rock N' Roll",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262834"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E6.mp4",
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262834.jpg/",
+ "playcount" : 0,
+ "plot" : "Singer Rick James asks the A-Team to help an old rock-and-roll legend whose life in prison has suddenly become very dangerous.",
+ "episode" : 6,
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "rating" : 7.5,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "firstaired" : "1985-11-05",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Isaac Hayes",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Eileen Barnett",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Peter Haskell",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Beau Starr"
+ },
+ {
+ "order" : 4,
+ "name" : "Rick James",
+ "role" : ""
+ },
+ {
+ "name" : "Ji Tu Cumbuka",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "James Avery",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Al Pugliese",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Kimberly LaBelle",
+ "role" : ""
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Tony Mordente"
+ ],
+ "label" : "4x06. The Heart of Rock N' Roll",
+ "rating" : 7.5,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "episodeid" : 2961
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262835"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Body Slam",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262835.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 556,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262835.jpg/",
+ "plot" : "Hulk Hogan asks his old friend B.A. for the A-Team's help against a mobster who is out to close down a youth center for no apparent reason.",
+ "playcount" : 0,
+ "episode" : 7,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "rating" : 7,
+ "default" : true
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E7.mp4",
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 2962,
+ "writer" : [
+ "Bill Nuss"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "label" : "4x07. Body Slam",
+ "firstaired" : "1985-11-12",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Deborah Wakeham",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Michael Gregory"
+ },
+ {
+ "order" : 2,
+ "name" : "Titos Vandis",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "name" : "Hulk Hogan",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Gene Okerland",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "name" : "Sam Melville",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "name" : "James Bartz",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Preston Hanson"
+ },
+ {
+ "name" : "Bob Purvey",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Davey Boy Smith"
+ },
+ {
+ "name" : "Tom Billington",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Craig R. Baxley"
+ ]
+ },
+ {
+ "title" : "Blood, Sweat, and Cheers",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262836.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 556,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262836"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262836.jpg/",
+ "plot" : "Someone sabotages a car at a regional stock-car race and attracts the A-Team's attention-the car belongs to Hannibal's nephew.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 2
+ }
+ },
+ "episode" : 8,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E8.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4,
+ "label" : "4x08. Blood, Sweat, and Cheers",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Stuart Whitman"
+ },
+ {
+ "role" : "",
+ "name" : "Ken Olandt",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Wings Hauser"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Toni Hudson"
+ },
+ {
+ "role" : "",
+ "name" : "Claben Hartley",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Arthur Taxier",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Kit Fredericks",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Deborah Scardilli"
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Robert Sutton"
+ },
+ {
+ "name" : "Jeff Sanders",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1985-11-19",
+ "director" : [
+ "Sydney Hayers"
+ ],
+ "episodeid" : 2963,
+ "writer" : [
+ "Tom Blomquist"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 7
+ },
+ {
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "episodeid" : 2964,
+ "rating" : 8.5,
+ "showtitle" : "The A-Team",
+ "label" : "4x09. Mind Games",
+ "firstaired" : "1985-11-26",
+ "cast" : [
+ {
+ "name" : "Sheelagh McLeod",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "David Hedison",
+ "role" : "",
+ "order" : 1,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2factie%2fJames%20Bond%2f.actors%2fDavid_Hedison.jpg/"
+ },
+ {
+ "name" : "Barney McFadden",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fJames_Hong.jpg/",
+ "name" : "James Hong",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Larry Anderson",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Ping Wu",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Jan Merlin",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Larry Carroll"
+ },
+ {
+ "name" : "Johnny Mountain",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Hal Rayle"
+ },
+ {
+ "name" : "Adele West",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Wendy Sherwood"
+ },
+ {
+ "name" : "Cal Pritner",
+ "role" : "",
+ "order" : 12
+ },
+ {
+ "role" : "",
+ "name" : "Rodney Saulsberry",
+ "order" : 13
+ },
+ {
+ "order" : 14,
+ "name" : "Rod Stryker",
+ "role" : ""
+ },
+ {
+ "name" : "Inez Pedroza",
+ "role" : "",
+ "order" : 15
+ },
+ {
+ "name" : "Ed Quinlan",
+ "role" : "",
+ "order" : 16
+ },
+ {
+ "order" : 17,
+ "role" : "",
+ "name" : "Dennis Kelly"
+ },
+ {
+ "name" : "Scott Ellsworth",
+ "role" : "",
+ "order" : 18
+ },
+ {
+ "order" : 19,
+ "name" : "Be",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262837.jpg/",
+ "playcount" : 0,
+ "plot" : "Face quits the A-Team after receiving a full government pardon and quickly becomes a celebrity, the rest of the A-Team keeps an eye on him suspecting the pardon's not 100% legit.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.5,
+ "votes" : 2
+ }
+ },
+ "episode" : 9,
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E9.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "262837"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "Mind Games",
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262837.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ }
+ },
+ {
+ "label" : "4x10. There Goes the Neighborhood",
+ "director" : [
+ "Dennis Donnelly"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Walter Olkewicz",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "name" : "Victor Campos",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "John Aprea"
+ },
+ {
+ "name" : "Valerie Stevenson",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Robert Pastorelli",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fSteve_Eastin.jpg/",
+ "role" : "",
+ "name" : "Steve Eastin"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Richard McGonagle"
+ },
+ {
+ "order" : 7,
+ "name" : "Peggy Walton-Walker",
+ "role" : ""
+ },
+ {
+ "name" : "Scott St. James",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Jennifer Roach"
+ },
+ {
+ "name" : "Shawn Casey O'Brien",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "role" : "",
+ "name" : "Julius Carry",
+ "order" : 11
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-12-03",
+ "episodeid" : 2965,
+ "writer" : [
+ "Bill Nuss"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 6.5,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4,
+ "dateadded" : "2016-08-26 09:16:58",
+ "episode" : 10,
+ "plot" : "The A-Team moves a rock star threatened with kidnapping into a quiet suburban neighborhood, which doesn't stay quite for long.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "default" : true,
+ "rating" : 6.5
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262838.jpg/",
+ "votes" : "2",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E10.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "There Goes the Neighborhood",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262838.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 556,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262838"
+ },
+ "tvshowid" : 137
+ },
+ {
+ "title" : "The Doctor is Out",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262839.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 556,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262839"
+ },
+ "tvshowid" : 137,
+ "dateadded" : "2016-08-26 09:16:58",
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "rating" : 7,
+ "default" : true
+ }
+ },
+ "episode" : 11,
+ "playcount" : 0,
+ "plot" : "The A-Team travels to South America to find Murdock's psychiatrist, accompanied by a woman claiming to be his daughter.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262839.jpg/",
+ "votes" : "1",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E11.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4,
+ "label" : "4x11. The Doctor is Out",
+ "director" : [],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jeanetta Arnette",
+ "role" : ""
+ },
+ {
+ "name" : "Richard Anderson",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2flHI1T7yJfCv3cfD7SpAkH0OWDNx.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Geoffrey Lewis",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fDaniel_Davis.jpg/",
+ "order" : 3,
+ "role" : "",
+ "name" : "Daniel Davis"
+ },
+ {
+ "order" : 4,
+ "name" : "Danny Mora",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Richard Partlow",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Rodney Saulsberry",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Karyn O'Bryan"
+ },
+ {
+ "name" : "Richard Duran",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1985-12-10",
+ "episodeid" : 2966,
+ "writer" : [],
+ "rating" : 7,
+ "showtitle" : "The A-Team"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "cast" : [
+ {
+ "name" : "Bruce Solomon",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Arte Johnson",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Susan Scannell",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "name" : "Art Metrano",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Lewis Dawber",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Anthony McLaughlin"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Jonathan Goldsmith"
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Eric Lawson"
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Toni Attell"
+ },
+ {
+ "order" : 9,
+ "name" : "S. Marc Jordan",
+ "role" : ""
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1985-12-17",
+ "label" : "4x12. Uncle Buckle-Up",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "episodeid" : 2967,
+ "writer" : [
+ "Danny Lee Cole"
+ ],
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262840.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "seasonid" : 556,
+ "title" : "Uncle Buckle-Up",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262840"
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E12.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "plot" : "The A-Team discovers a kiddie show is a front for a heroin ring when Hannibal auditions for a part.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7,
+ "votes" : 1
+ }
+ },
+ "episode" : 12,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262840.jpg/",
+ "votes" : "1",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262841.jpg/",
+ "votes" : "0",
+ "playcount" : 0,
+ "plot" : "Murdock's fortunes rise and fall as he uses Face's system to win big on \"Wheel of Fortune\" but then is kidnapped during a plot to steal a Soviet gunship.",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 13,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E13.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262841"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Wheel of Fortune",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262841.jpg/"
+ },
+ "seasonid" : 556,
+ "episodeid" : 2968,
+ "writer" : [],
+ "showtitle" : "The A-Team",
+ "rating" : 0,
+ "label" : "4x13. Wheel of Fortune",
+ "firstaired" : "1986-01-14",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "George McDaniel",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Lydia Cornell",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Bernie Pock",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Richard Evans"
+ },
+ {
+ "name" : "Judd Omen",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Gregory Itzin",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Kerry Michaels",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Pat Sajak"
+ },
+ {
+ "role" : "",
+ "name" : "Vanna White",
+ "order" : 8
+ },
+ {
+ "role" : "",
+ "name" : "Rouena Bales",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "name" : "Jack Clark",
+ "role" : ""
+ },
+ {
+ "order" : 11,
+ "name" : "Tricia Hutton",
+ "role" : ""
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "Dian Gallup"
+ },
+ {
+ "order" : 13,
+ "name" : "Denise Gallup",
+ "role" : ""
+ },
+ {
+ "order" : 14,
+ "name" : "Kendall",
+ "role" : ""
+ },
+ {
+ "name" : "Bill Nuss",
+ "role" : "",
+ "order" : 15
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "director" : [],
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4,
+ "label" : "4x14. The A-Team is Coming, the A-Team is Coming",
+ "firstaired" : "1986-01-21",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "David Kagen",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Daryl Anderson"
+ },
+ {
+ "order" : 2,
+ "name" : "Gene Scherer",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "William Smith"
+ },
+ {
+ "order" : 4,
+ "name" : "John Considine",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Curt Lowens"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Raissa Danilov"
+ },
+ {
+ "name" : "Jay Scorpio",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Vachik Mangassarian",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "name" : "Stephen Corfin",
+ "role" : ""
+ },
+ {
+ "order" : 10,
+ "name" : "Michael R. George",
+ "role" : ""
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 2969,
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "userrating" : 0,
+ "title" : "The A-Team is Coming, the A-Team is Coming",
+ "seasonid" : 556,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262842.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "262842"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262842.jpg/",
+ "votes" : "1",
+ "episode" : 14,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "plot" : "Soviet spys need the A-Teams help in preventing the theft of an American satellite weapon, whose disappearance would disrupt world peace.",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E14.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262843.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Members Only",
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262843"
+ },
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E15.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 1
+ }
+ },
+ "plot" : "Face's chances of getting into an exclusive country club are severely hampered by the A-Team's battles on club property with a crooked bank president.",
+ "episode" : 15,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262843.jpg/",
+ "votes" : "1",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "director" : [
+ "Tony Mordente"
+ ],
+ "cast" : [
+ {
+ "name" : "Scott Colomby",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Kevin McCarthy",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Betsy Russell",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "name" : "Barrie Ingham",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Carole Cook"
+ },
+ {
+ "name" : "Shecky Greene",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Steve Tannen"
+ },
+ {
+ "name" : "Paul Tinder",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Rod Stryker",
+ "order" : 8
+ },
+ {
+ "name" : "Ben Hartgan",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "name" : "Larry Stewart",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "name" : "Julie Rhodes",
+ "role" : "",
+ "order" : 11
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1986-01-28",
+ "label" : "4x15. Members Only",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "writer" : [
+ "Bill Nuss"
+ ],
+ "episodeid" : 2970
+ },
+ {
+ "episodeid" : 2971,
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "rating" : 7.69999980926514,
+ "showtitle" : "The A-Team",
+ "label" : "4x16. Cowboy George",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "L.Q. Jones",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Taylor Lacher",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Ben Slack",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Boy George"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Jim Boeke"
+ },
+ {
+ "role" : "",
+ "name" : "Johnny Lee",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "London Donfield",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Jon Moss",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Roy Hay",
+ "order" : 8
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1986-02-11",
+ "director" : [
+ "Tony Mordente"
+ ],
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262844.jpg/",
+ "votes" : "3",
+ "plot" : "Face believes he's booked country singer Cowboy George into one of the roughest dance halls in the Southwest, but his agent friend delivers Boy George instead.",
+ "episode" : 16,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.69999980926514,
+ "default" : true,
+ "votes" : 3
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E16.mp4",
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262844"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "Cowboy George",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262844.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "seasonid" : 556
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "director" : [
+ "Craig R. Baxley"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Moosie Drier",
+ "role" : ""
+ },
+ {
+ "name" : "Jesse Vint",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Barry Corbin",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Gillian Grant"
+ },
+ {
+ "name" : "Red West",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Anthony James",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fIovpB0rm77GljLMLP5S3VW6AAi.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Dennis Stewart",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Cary Clarke",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Chris Caputo",
+ "order" : 8
+ },
+ {
+ "role" : "",
+ "name" : "Darwin Swalve",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Bill Dyer"
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1986-02-18",
+ "label" : "4x17. Waiting for Insane Wayne",
+ "showtitle" : "The A-Team",
+ "rating" : 7,
+ "episodeid" : 2972,
+ "writer" : [
+ "Frank Lupo",
+ "Stephen J. Cannell"
+ ],
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262845.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "seasonid" : 556,
+ "title" : "Waiting for Insane Wayne",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262845"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E17.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "When Murdock gets mistaken for an insane mercenary the A-Team is drawn into a fight over property rights and an oil well.",
+ "episode" : 17,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 7
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262845.jpg/",
+ "votes" : "1",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Sheila DeWindt",
+ "order" : 0
+ },
+ {
+ "name" : "Gary Grubbs",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Michael Bowen",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fxGNcy5uCe0Ke5vqC7oZlOV3GGDx.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Jack Starrett",
+ "order" : 3
+ },
+ {
+ "name" : "Don Hood",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Rick Fitts"
+ },
+ {
+ "order" : 6,
+ "name" : "David Dunard",
+ "role" : ""
+ },
+ {
+ "name" : "Bobby Jacoby",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Suzanne Dunn",
+ "order" : 8
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1986-02-25",
+ "director" : [
+ "Sydney Hayers"
+ ],
+ "label" : "4x18. The Duke of Whispering Pines",
+ "showtitle" : "The A-Team",
+ "rating" : 6.5,
+ "writer" : [
+ "Joyce E. Ehrich"
+ ],
+ "episodeid" : 2973,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E18.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262846.jpg/",
+ "votes" : "2",
+ "plot" : "One of B.A.'s old girlfriends has a problem; her husband, B.A.'s old college rival, has disappeared.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "rating" : 6.5,
+ "default" : true
+ }
+ },
+ "episode" : 18,
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262846.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Duke of Whispering Pines",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262846"
+ },
+ "runtime" : 2700,
+ "lastplayed" : ""
+ },
+ {
+ "label" : "4x19. Beneath the Surface",
+ "director" : [
+ "Michael O'Herlihy",
+ "Lloyd J Schwartz"
+ ],
+ "firstaired" : "1986-03-04",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Tom Villard",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Paxton Whitehead",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Kim Johnston Ulrich"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Nancy Everhard"
+ },
+ {
+ "order" : 4,
+ "name" : "MacKenzie Allen",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Carol Francis"
+ },
+ {
+ "order" : 6,
+ "name" : "Archie Land",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "name" : "A.J. Freeman",
+ "role" : ""
+ },
+ {
+ "name" : "Garth Honson",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Steve Vandeman"
+ },
+ {
+ "name" : "Thomas Rosales Jr.",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "writer" : [
+ "Danny Lee Cole"
+ ],
+ "episodeid" : 2974,
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4,
+ "playcount" : 0,
+ "plot" : "Face returns to his orphanage for a reunion and meets an old friend's sister, who's worried about her brother's disappearance, and an old girlfriend, who is in cahoots with Fulbright to trap Face for the reward.",
+ "episode" : 19,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "rating" : 7,
+ "default" : true
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262847.jpg/",
+ "votes" : "1",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E19.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Beneath the Surface",
+ "seasonid" : 556,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262847.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262847"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137
+ },
+ {
+ "tvshowid" : 137,
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262848"
+ },
+ "lastplayed" : "",
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262848.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Mission of Peace",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E20.mp4",
+ "plot" : "Senior citizens hire the A-Team to protect their historic Texas mission home and tourist attraction from land developers.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7,
+ "default" : true,
+ "votes" : 3
+ }
+ },
+ "episode" : 20,
+ "votes" : "3",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262848.jpg/",
+ "dateadded" : "2016-08-26 09:16:58",
+ "season" : 4,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 7,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Burt Pearl",
+ "Steven L. Sears"
+ ],
+ "episodeid" : 2975,
+ "director" : [
+ "Craig R. Baxley"
+ ],
+ "cast" : [
+ {
+ "name" : "Ann Doran",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "David White"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Ric Mancini"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Jason Evers"
+ },
+ {
+ "order" : 4,
+ "name" : "Nedra Volz",
+ "role" : ""
+ },
+ {
+ "name" : "Iron Eyes Cody",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Nova Ball",
+ "order" : 6
+ },
+ {
+ "name" : "Michael Lally",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "name" : "Rod Stryker",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "George Fisher"
+ },
+ {
+ "role" : "",
+ "name" : "John Dresden",
+ "order" : 10
+ },
+ {
+ "name" : "Tom Noga",
+ "role" : "",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "name" : "John Hudkins",
+ "role" : ""
+ },
+ {
+ "order" : 13,
+ "role" : "",
+ "name" : "Glen Wilder"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1986-03-11",
+ "label" : "4x20. Mission of Peace"
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262849.jpg/",
+ "votes" : "0",
+ "plot" : "Hulk Hogan comes to visit B.A. but the reunion is interrupted by a cry for help from a troubled youth with an alcoholic father.",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 21,
+ "playcount" : 0,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E21.mp4",
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262849"
+ },
+ "runtime" : 2700,
+ "tvshowid" : 137,
+ "title" : "The Trouble With Harry",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262849.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 556,
+ "episodeid" : 2976,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The A-Team",
+ "label" : "4x21. The Trouble With Harry",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fPaul_Gleason.jpg/",
+ "role" : "",
+ "name" : "Paul Gleason"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Billy Jayne"
+ },
+ {
+ "name" : "John Hancock",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Carl Strano"
+ },
+ {
+ "role" : "",
+ "name" : "Hulk Hogan",
+ "order" : 4
+ },
+ {
+ "name" : "Vic Polizos",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "William The Refrigerator Perry",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Le Tari"
+ },
+ {
+ "name" : "Clare Peck",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "role" : "",
+ "name" : "Denise Gallup",
+ "order" : 9
+ },
+ {
+ "role" : "",
+ "name" : "Dian Gallup",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Loraine Marcus"
+ },
+ {
+ "order" : 12,
+ "name" : "Jim Ishida",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Ernie Homes",
+ "order" : 13
+ },
+ {
+ "role" : "",
+ "name" : "Tim Brantley",
+ "order" : 14
+ },
+ {
+ "name" : "James DiStefano",
+ "role" : "",
+ "order" : 15
+ },
+ {
+ "order" : 16,
+ "name" : "Pilar Delano",
+ "role" : ""
+ },
+ {
+ "order" : 17,
+ "role" : "",
+ "name" : "Diana Dillon"
+ },
+ {
+ "role" : "",
+ "name" : "Mick Regan",
+ "order" : 18
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1986-03-25",
+ "director" : [],
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Thomas Szolski"
+ ],
+ "episodeid" : 2977,
+ "rating" : 0,
+ "showtitle" : "The A-Team",
+ "label" : "4x22. A Little Town With an Accent",
+ "firstaired" : "1986-05-06",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Noble Willingham"
+ },
+ {
+ "name" : "Rex Ryon",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Robert Vilnaro"
+ },
+ {
+ "order" : 3,
+ "name" : "Mark Lawrence",
+ "role" : ""
+ },
+ {
+ "name" : "Kathryn Leigh Scott",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Joseph Burke"
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Alex Colon"
+ },
+ {
+ "order" : 7,
+ "name" : "Corinne Wahl",
+ "role" : ""
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Raymond O'Keefe"
+ },
+ {
+ "order" : 9,
+ "name" : "John Lawrence",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Michael Masters",
+ "order" : 10
+ },
+ {
+ "role" : "",
+ "name" : "Jim Bentley",
+ "order" : 11
+ },
+ {
+ "name" : "Bobby Bass",
+ "role" : "",
+ "order" : 12
+ },
+ {
+ "role" : "",
+ "name" : "Jack Verbois",
+ "order" : 13
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "uniqueid" : {
+ "unknown" : "262850"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "A Little Town With an Accent",
+ "seasonid" : 556,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262850.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262850.jpg/",
+ "votes" : "0",
+ "episode" : 22,
+ "plot" : "The A-Team discovers an organized crime kingpin believed to be dead is behind the intimidation of several gas station owners.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E22.mp4"
+ },
+ {
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Tia Carrere",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fs2y4Hj7ZIuEMyE0W3o8WCVcHwiL.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Haunan Mina",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Lena Pousette",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "George Cheung",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Sol Tragel"
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Peter MacLean"
+ },
+ {
+ "role" : "",
+ "name" : "Sanford Clark",
+ "order" : 6
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1986-05-13",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "label" : "4x23. The Sound of Thunder",
+ "showtitle" : "The A-Team",
+ "rating" : 6.5,
+ "episodeid" : 2978,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 4/S4E23.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262851.jpg/",
+ "playcount" : 0,
+ "episode" : 23,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 6.5,
+ "votes" : 2
+ }
+ },
+ "plot" : "General Fulbright captures the A-Team then offers to let them prove their innocence by accompanying him to Vietnam and rescuing a POW who could clear their names.",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262851.jpg/"
+ },
+ "seasonid" : 556,
+ "title" : "The Sound of Thunder",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262851"
+ },
+ "runtime" : 2700
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 5,
+ "label" : "5x01. Dishpan Man (1)",
+ "director" : [
+ "Tony Mordente"
+ ],
+ "cast" : [
+ {
+ "name" : "David Hess",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Sandy McPeak",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "John Durbin",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "name" : "Richard Whitaker",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Patrice Chanel",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Thomas Stoviak",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Douglas Johnson",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Houshang Touzie",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Frank Moon",
+ "order" : 8
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Robert Gallo"
+ },
+ {
+ "name" : "Kally Lynn Pushkin",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Teru Mophie"
+ },
+ {
+ "name" : "Fernando Escandon",
+ "role" : "",
+ "order" : 12
+ },
+ {
+ "order" : 13,
+ "role" : "",
+ "name" : "Stanley Brock"
+ },
+ {
+ "order" : 14,
+ "name" : "Marc Tubert",
+ "role" : ""
+ },
+ {
+ "order" : 15,
+ "name" : "Hector Jaime Mercado",
+ "role" : ""
+ },
+ {
+ "name" : "Andrew Divoff",
+ "role" : "",
+ "order" : 16
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1986-09-26",
+ "writer" : [
+ "Stephen J. Cannell"
+ ],
+ "episodeid" : 2979,
+ "rating" : 10,
+ "showtitle" : "The A-Team",
+ "userrating" : 0,
+ "title" : "Dishpan Man (1)",
+ "seasonid" : 557,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262852.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/"
+ },
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262852"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 10
+ }
+ },
+ "plot" : "The A-Team is blackmailed by retired General Stockwell, who kidnaps Hannibal and threatens to have him prosecuted if the A-Team fails to secure the release of hostages held on a plane in Spain.",
+ "episode" : 1,
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262852.jpg/",
+ "votes" : "1",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E1.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E2.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262853.jpg/",
+ "votes" : "1",
+ "playcount" : 0,
+ "episode" : 2,
+ "plot" : "The A-Team's court martial begins and a surprising motive for the death of Colonel Morrison is revealed.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 10,
+ "votes" : 1
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "seasonid" : 557,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262853.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Trial by Fire (2)",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262853"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Byrne Piven"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "David Ackroyd"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "J.A. Preston"
+ },
+ {
+ "role" : "",
+ "name" : "Dana Lee",
+ "order" : 3
+ },
+ {
+ "name" : "Robert Darnell",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Adam Gregor",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "name" : "Richard Newton",
+ "role" : ""
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Thu Leek"
+ },
+ {
+ "name" : "Lisa Mordente",
+ "role" : "",
+ "order" : 8
+ },
+ {
+ "name" : "Rod Britt",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "role" : "",
+ "name" : "Guy Christopher"
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Leland Sun"
+ },
+ {
+ "order" : 12,
+ "name" : "Sandy McPeak",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier"
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1986-10-03",
+ "director" : [
+ "Sydney Hayers"
+ ],
+ "label" : "5x02. Trial by Fire (2)",
+ "showtitle" : "The A-Team",
+ "rating" : 10,
+ "writer" : [
+ "Tom Blomquist"
+ ],
+ "episodeid" : 2980,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "General Stockwell interferes with the plans of Murdock and Frankie to free the rest of the A-Team before the Army can execute them.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 10,
+ "default" : true,
+ "votes" : 1
+ }
+ },
+ "episode" : 3,
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262854.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E3.mp4",
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262854"
+ },
+ "tvshowid" : 137,
+ "title" : "Firing Line (3)",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262854.jpg/"
+ },
+ "seasonid" : 557,
+ "episodeid" : 2981,
+ "writer" : [
+ "Frank Lupo"
+ ],
+ "rating" : 10,
+ "showtitle" : "The A-Team",
+ "label" : "5x03. Firing Line (3)",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Rodney Saulsberry"
+ },
+ {
+ "name" : "Frank McCarthy",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "John Durbin",
+ "order" : 2
+ },
+ {
+ "name" : "Dan Tillis",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Andrew Divoff",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "name" : "Thu Leek",
+ "role" : ""
+ },
+ {
+ "name" : "Kathrine Heard",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Dan Woren",
+ "role" : ""
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Tony Ciccone"
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Alison Rinehart"
+ },
+ {
+ "order" : 10,
+ "name" : "Bill Dyer",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10,
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1986-10-10",
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "rating" : 10,
+ "showtitle" : "The A-Team",
+ "writer" : [
+ "Paul Bernbaum"
+ ],
+ "episodeid" : 2982,
+ "cast" : [
+ {
+ "name" : "Alan Autry",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Bo Brudin",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Ray Reinhardt",
+ "role" : ""
+ },
+ {
+ "name" : "Joe Namath",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Jim Brown"
+ },
+ {
+ "order" : 5,
+ "name" : "Judy Geeson",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "John Matuszak",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Anna Rapagna",
+ "order" : 7
+ },
+ {
+ "role" : "",
+ "name" : "Peter Frankland",
+ "order" : 8
+ },
+ {
+ "name" : "Frank Holms",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "name" : "Michele Hart",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Marlon McGamn",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "Raymond Elendorf"
+ },
+ {
+ "order" : 13,
+ "name" : "Robert Anton",
+ "role" : ""
+ },
+ {
+ "name" : "Sven Thorsen",
+ "role" : "",
+ "order" : 14
+ },
+ {
+ "role" : "",
+ "name" : "George Fisher",
+ "order" : 15
+ },
+ {
+ "order" : 16,
+ "name" : "Lyman Ward",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1986-10-17",
+ "director" : [
+ "Craig R. Baxley"
+ ],
+ "label" : "5x04. Quarterback Sneak",
+ "season" : 5,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E4.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262855.jpg/",
+ "votes" : "1",
+ "plot" : "The A-Team uses a football game as a cover to sneak a chemical warfare scientist out of East Germany.",
+ "playcount" : 0,
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "rating" : 10,
+ "default" : true,
+ "votes" : 1
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262855"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "seasonid" : 557,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262855.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Quarterback Sneak"
+ },
+ {
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262856"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "userrating" : 0,
+ "title" : "The Theory of Revolution",
+ "seasonid" : 557,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262856.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "The outbreak of a revolution interferes with the planned rescue of three Americans from a Third World Country.",
+ "episode" : 5,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 10
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262856.jpg/",
+ "votes" : "1",
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E5.mp4",
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Burt Pearl",
+ "Steven L. Sears"
+ ],
+ "episodeid" : 2983,
+ "showtitle" : "The A-Team",
+ "rating" : 10,
+ "label" : "5x05. The Theory of Revolution",
+ "director" : [
+ "Sydney Hayers"
+ ],
+ "firstaired" : "1986-10-24",
+ "cast" : [
+ {
+ "name" : "Castulo Guerra",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fnjap7gZlVKHMKFb0aMQB17kMUNh.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Alejandro Rey",
+ "role" : ""
+ },
+ {
+ "name" : "Tasia Valenza",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Pepe Serna",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Vladimir Skomarovsky",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Gino Silva"
+ },
+ {
+ "role" : "",
+ "name" : "Peter Brown",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Blake Conway",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Carlos Cervantes",
+ "order" : 8
+ },
+ {
+ "name" : "Damon Clark",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "name" : "Charles Howerton",
+ "role" : "",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Doran Clark"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ]
+ },
+ {
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262857.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/"
+ },
+ "seasonid" : 557,
+ "title" : "The Say U.N.C.L.E. Affair",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262857"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E6.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 10,
+ "votes" : 1
+ }
+ },
+ "plot" : "Stockwell is kidnapped by his former partner who has \"gone bad\" and the A-Team has 18 hours to find him or forever loose any chances of securing a pardon.",
+ "episode" : 6,
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262857.jpg/",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "firstaired" : "1986-10-31",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "David McCallum",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Toni Attel"
+ },
+ {
+ "name" : "James Saito",
+ "role" : "",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fJames_Saito.jpg/"
+ },
+ {
+ "role" : "",
+ "name" : "Eric Goldner",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Debra Sandlund",
+ "order" : 4
+ },
+ {
+ "name" : "Robert Covarobins",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Wendy Gordon"
+ },
+ {
+ "order" : 7,
+ "name" : "David Gamburg",
+ "role" : ""
+ },
+ {
+ "order" : 8,
+ "name" : "Hon Pare",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "name" : "April Wayne",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Pearl Huang",
+ "order" : 10
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "order" : 6,
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "label" : "5x06. The Say U.N.C.L.E. Affair",
+ "showtitle" : "The A-Team",
+ "rating" : 10,
+ "episodeid" : 2984,
+ "writer" : [
+ "Terry D. Nelson"
+ ]
+ },
+ {
+ "label" : "5x07. Alive at Five",
+ "director" : [
+ "Craig R. Baxley"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Valerie Wildman"
+ },
+ {
+ "role" : "",
+ "name" : "Richard Romanus",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Red West",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Linden Chiles",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Dennis Fimple",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Paul Sylvan"
+ },
+ {
+ "role" : "",
+ "name" : "Lora Staley",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Robert Miano",
+ "role" : ""
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Mike Lally"
+ },
+ {
+ "name" : "Parker Whitman",
+ "role" : "",
+ "order" : 9
+ },
+ {
+ "role" : "",
+ "name" : "Hope North",
+ "order" : 10
+ },
+ {
+ "role" : "",
+ "name" : "Jim McIntyre",
+ "order" : 11
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "name" : "Marla Heasley",
+ "role" : "Tawnia Baker"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9,
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1986-11-07",
+ "writer" : [
+ "Bill Nuss"
+ ],
+ "episodeid" : 2985,
+ "rating" : 10,
+ "showtitle" : "The A-Team",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 5,
+ "episode" : 7,
+ "playcount" : 0,
+ "plot" : "Face plans to leave the A-Team but gets involved in the rescue of a newswoman from a paranoid mob chief.",
+ "ratings" : {
+ "default" : {
+ "rating" : 10,
+ "default" : true,
+ "votes" : 1
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262858.jpg/",
+ "votes" : "1",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E7.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Alive at Five",
+ "seasonid" : 557,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262858.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/"
+ },
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262858"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:58",
+ "episode" : 8,
+ "playcount" : 0,
+ "plot" : "A former political adviser offers to trade a diary for a reunion with his daughter- who Face is hitting on, but Murdock learns that the man may be Face's father and the daughter Face's sister.",
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "default" : true,
+ "rating" : 8.5
+ }
+ },
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262859.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E8.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "Family Reunion",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262859.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 557,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262859"
+ },
+ "tvshowid" : 137,
+ "label" : "5x08. Family Reunion",
+ "director" : [
+ "James Darren"
+ ],
+ "firstaired" : "1986-11-14",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Jeff Corey"
+ },
+ {
+ "order" : 1,
+ "name" : "Terri Treas",
+ "role" : ""
+ },
+ {
+ "name" : "Beau Billingslea",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Anna Rapagna",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Claire Kirkconnell",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "John Carter",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Lou Felder"
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Cory McClendon"
+ },
+ {
+ "order" : 8,
+ "name" : "Joe Faust",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "name" : "William Lucking",
+ "role" : "Col. Lynch"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8,
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell",
+ "order" : 19
+ }
+ ],
+ "episodeid" : 2986,
+ "writer" : [
+ "Steven L. Sears"
+ ],
+ "showtitle" : "The A-Team",
+ "rating" : 8.5,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 5
+ },
+ {
+ "showtitle" : "The A-Team",
+ "rating" : 10,
+ "episodeid" : 2987,
+ "writer" : [
+ "Burt Pearl"
+ ],
+ "director" : [
+ "Bob Bralver"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2ffantasy%2f.actors%2fRosalind_Chao.jpg/",
+ "name" : "Rosalind Chao",
+ "role" : ""
+ },
+ {
+ "name" : "Soon-Teck Oh",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fmeiy61tBgaVQlivu42f7A0xsVG1.jpg/",
+ "role" : "",
+ "name" : "Dustin Nguyen"
+ },
+ {
+ "order" : 3,
+ "name" : "Nancy Kwan",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Clive Rosengren",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "name" : "Dale Ishimoto",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "Shelly Desai"
+ },
+ {
+ "order" : 7,
+ "name" : "Bob Kino",
+ "role" : ""
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Pamela Kwong"
+ },
+ {
+ "order" : 9,
+ "name" : "Nathan Jung",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Tom Logo",
+ "order" : 10
+ },
+ {
+ "role" : "Col. John \"Hannibal\" Smith",
+ "name" : "George Peppard",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/"
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "firstaired" : "1986-11-18",
+ "label" : "5x09. Point of No Return",
+ "season" : 5,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E9.mp4",
+ "dateadded" : "2016-08-26 09:16:58",
+ "plot" : "Stockwell refuses to allow the A-Team to go after Hannibal when he fails to check in while on a solo mission in hostile territory.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 10,
+ "votes" : 1
+ }
+ },
+ "episode" : 9,
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262860.jpg/",
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262860"
+ },
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262860.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 557,
+ "title" : "Point of No Return",
+ "userrating" : 0
+ },
+ {
+ "seasonid" : 557,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262861.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Crystal Skull",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262861"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E10.mp4",
+ "specialsortseason" : -1,
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262861.jpg/",
+ "episode" : 10,
+ "plot" : "The A-Team's effort to secure a valuable religious artifact involves them with warring island tribes who mistake Murdoch for a God and some unusual missionaries.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 10,
+ "default" : true,
+ "votes" : 1
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Sam Hiana"
+ },
+ {
+ "role" : "",
+ "name" : "Manu Tupou",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Art Tizon"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Rochelle Ahsana"
+ },
+ {
+ "name" : "Jack Verbois",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Barry Pierce",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "name" : "Peter Iacangelo",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "name" : "Jeffrey Alan Chandler",
+ "role" : "",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "name" : "Aki Aleong",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Charles Hyman"
+ },
+ {
+ "order" : 10,
+ "name" : "Jennifer Green",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Richard Herkert",
+ "order" : 11
+ },
+ {
+ "order" : 12,
+ "role" : "",
+ "name" : "Titus Napoleon"
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4,
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "name" : "Robert Vaughn",
+ "role" : "Gen. Hunt Stockwell"
+ }
+ ],
+ "firstaired" : "1986-11-28",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "label" : "5x10. The Crystal Skull",
+ "showtitle" : "The A-Team",
+ "rating" : 10,
+ "writer" : [
+ "Bill Nuss"
+ ],
+ "episodeid" : 2988
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Spy Who Mugged Me",
+ "seasonid" : 557,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262862.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "262862"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 137,
+ "playcount" : 0,
+ "plot" : "Murdock poses as suave secret agent to catch a killer before he can complete another assignment.",
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "rating" : 8.5,
+ "default" : true
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262862.jpg/",
+ "votes" : "2",
+ "dateadded" : "2016-08-26 09:16:58",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E11.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 5,
+ "label" : "5x11. The Spy Who Mugged Me",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "firstaired" : "1986-12-02",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Karen Kopins",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fRoy_Dotrice.jpg/",
+ "name" : "Roy Dotrice",
+ "role" : ""
+ },
+ {
+ "name" : "Kai Wulff",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Marianne Marks",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "Professor Toru Tanaka",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Maurice Marsal",
+ "order" : 5
+ },
+ {
+ "name" : "Nick Faltas",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "name" : "Ronan O'Casey",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Marius Mazmanian",
+ "order" : 8
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0,
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "role" : "Col. Lynch",
+ "name" : "William Lucking",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "order" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez"
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "name" : "Carl Franklin",
+ "role" : "Capt. Crane",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "writer" : [
+ "Paul Bernbaum"
+ ],
+ "episodeid" : 2989,
+ "rating" : 8.5,
+ "showtitle" : "The A-Team"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E12.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262863.jpg/",
+ "votes" : "2",
+ "playcount" : 0,
+ "episode" : 12,
+ "plot" : "The A-Team must bring a girl in who has stolen a briefcase from her father, filled with material she believes he's selling to the Soviets.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.5,
+ "votes" : 2
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:58",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "seasonid" : 557,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262863.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Grey Team",
+ "tvshowid" : 137,
+ "uniqueid" : {
+ "unknown" : "262863"
+ },
+ "runtime" : 2700,
+ "lastplayed" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Moya Kordick",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "name" : "Lew Ayres",
+ "role" : ""
+ },
+ {
+ "name" : "Tony Steedman",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Michael Shannon",
+ "role" : "",
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fMichael_Shannon.jpg/"
+ },
+ {
+ "order" : 4,
+ "name" : "John McLiam",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Paula Victor"
+ },
+ {
+ "name" : "Lynn Logos",
+ "role" : "",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Nick Angotti"
+ },
+ {
+ "order" : 8,
+ "name" : "Eddie Quillan",
+ "role" : ""
+ },
+ {
+ "order" : 9,
+ "role" : "",
+ "name" : "Roger Harris"
+ },
+ {
+ "role" : "",
+ "name" : "Leigh Kilton",
+ "order" : 10
+ },
+ {
+ "order" : 11,
+ "role" : "",
+ "name" : "Allan Graf"
+ },
+ {
+ "order" : 12,
+ "name" : "Bob Orrison",
+ "role" : ""
+ },
+ {
+ "order" : 13,
+ "name" : "Paul Petersen",
+ "role" : ""
+ },
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "name" : "Dirk Benedict",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus"
+ },
+ {
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/",
+ "role" : "Col. Lynch",
+ "name" : "William Lucking"
+ },
+ {
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs"
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "order" : 19,
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn"
+ }
+ ],
+ "firstaired" : "1986-12-30",
+ "director" : [
+ "Michael O'Herlihy"
+ ],
+ "label" : "5x12. The Grey Team",
+ "showtitle" : "The A-Team",
+ "rating" : 8.5,
+ "writer" : [
+ "Tom Blomquist"
+ ],
+ "episodeid" : 2990,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5
+ },
+ {
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262864.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 557,
+ "title" : "Without Reservations",
+ "userrating" : 0,
+ "tvshowid" : 137,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "262864"
+ },
+ "runtime" : 2700,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/Season 5/S5E13.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:58",
+ "votes" : "2",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f77904%2f262864.jpg/",
+ "ratings" : {
+ "default" : {
+ "votes" : 2,
+ "rating" : 8.5,
+ "default" : true
+ }
+ },
+ "plot" : "Frankie and Face visit Murdock at his job in a restaurant, and all three become hostages of mobsters out to kill a patron, the US Attorney General.",
+ "episode" : 13,
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "firstaired" : "1987-03-08",
+ "cast" : [
+ {
+ "name" : "Mills Watson",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Bobby DiCicco"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Ely Pouget"
+ },
+ {
+ "role" : "",
+ "name" : "Alfred Dennis",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Lonny Chapman"
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Marc Alaimo"
+ },
+ {
+ "role" : "",
+ "name" : "Edward Bell",
+ "order" : 6
+ },
+ {
+ "order" : 7,
+ "role" : "",
+ "name" : "Terrence O'Connor"
+ },
+ {
+ "order" : 8,
+ "name" : "Chuck Walling",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Hope Marie Carlton",
+ "order" : 9
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith"
+ },
+ {
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2,
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "name" : "Mr. T"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "order" : 3,
+ "name" : "Dwight Schultz",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock"
+ },
+ {
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/",
+ "order" : 5,
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "name" : "Melinda Culea"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7,
+ "name" : "Lance LeGault",
+ "role" : "Col. Roderick Decker"
+ },
+ {
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "name" : "Eddie Velez",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/",
+ "order" : 8
+ },
+ {
+ "name" : "Charles Napier",
+ "role" : "Col. Briggs",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin"
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "director" : [
+ "John Peter Kousakis"
+ ],
+ "label" : "5x13. Without Reservations",
+ "rating" : 8.5,
+ "showtitle" : "The A-Team",
+ "episodeid" : 2991,
+ "writer" : [
+ "Bill Nuss"
+ ]
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x01. Pilot",
+ "director" : [
+ "Andy Cadiff"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Katie O'Rourke",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 1,
+ "name" : "Mary-Kathleen Gordon",
+ "role" : ""
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2001-10-03",
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 127,
+ "rating" : 7.40000009536743,
+ "showtitle" : "According to Jim",
+ "userrating" : 0,
+ "title" : "Pilot",
+ "seasonid" : 14,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179979.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179979"
+ },
+ "lastplayed" : "2017-02-06 16:36:53",
+ "tvshowid" : 4,
+ "playcount" : 1,
+ "plot" : "Jim and Cheryl are the perfect middle class American couple. Happily married, living in a suburban house with two adorable (but loud) little girls and a baby boy, they really can't complain much about life – except for those couple fights that neither one can ever let go, like the time Jim shut the car door on Cheryl. This time the problem is their daughter, whom Cheryl can't leave alone on her first week at kindergarten. Jim says it's because she's a woman and decides to take Ruby himself, but he also can't leave her behind. Things heat up when Cheryl discovers that not only has he been hiding it from her, but he also changed Ruby's school without talking to her. Meanwhile, Jim and Cheryl try to help Andy make up with his girlfriend.",
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 18,
+ "default" : true,
+ "rating" : 7.40000009536743
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179979.jpg/",
+ "votes" : "18",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E1.mp4",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [
+ {
+ "stereomode" : "",
+ "width" : 480,
+ "height" : 360,
+ "duration" : 12,
+ "codec" : "h264",
+ "language" : "und",
+ "aspect" : 1.33333301544189
+ }
+ ],
+ "audio" : [
+ {
+ "codec" : "aac",
+ "language" : "und",
+ "channels" : 2
+ }
+ ]
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179980.jpg/",
+ "votes" : "18",
+ "plot" : "Jim and Cheryl find their romantic getaway to the Bahamas set to work out perfectly, with Dana babysitting the kids. However, at the last minute, Dana is not able to babysit. In the meantime, Andy becomes a little too obsessed with making the perfect treehouse for Grace and Ruby.",
+ "episode" : 2,
+ "playcount" : 1,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.19999980926514,
+ "votes" : 18
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E2.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "2017-02-28 11:15:13",
+ "uniqueid" : {
+ "unknown" : "179980"
+ },
+ "runtime" : 12,
+ "tvshowid" : 4,
+ "title" : "No Nookie",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179980.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 14,
+ "episodeid" : 128,
+ "writer" : [
+ "Nastaran Dibai",
+ "Jeffrey B. Hodes"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.19999980926514,
+ "label" : "1x02. No Nookie",
+ "cast" : [
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2001-10-10",
+ "director" : [
+ "Andy Cadiff"
+ ],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "writer" : [
+ "Tracy Gamble"
+ ],
+ "episodeid" : 129,
+ "showtitle" : "According to Jim",
+ "rating" : 7.40000009536743,
+ "label" : "1x03. The Cat Came Back",
+ "director" : [
+ "Andy Cadiff"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Danny Breen",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Ed Lover",
+ "order" : 1
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2001-10-17",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "codec" : "aac",
+ "language" : "und",
+ "channels" : 2
+ }
+ ],
+ "video" : [
+ {
+ "aspect" : 1.33333301544189,
+ "language" : "und",
+ "codec" : "h264",
+ "stereomode" : "",
+ "width" : 480,
+ "height" : 360,
+ "duration" : 12
+ }
+ ]
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "Cheryl's 15 year-old cat Mr. Feeney dies and she wants Jim to bury it on the backyard, but Jim desperately wants to go to the Bears game. He sticks the cat in the garage freezer, planning on burying it after the game, but Cheryl finds out before he comes home. She is hurt that Jim doesn't listen to her nor care about a cat that has been longer with her than anything in her current life. Jim, feeling guilty, provides a proper funeral for Mr. Feeney and gets her a brand new dog, which she doesn't like very much at first, but starts to accept it later.",
+ "playcount" : 1,
+ "episode" : 3,
+ "ratings" : {
+ "default" : {
+ "votes" : 17,
+ "default" : true,
+ "rating" : 7.40000009536743
+ }
+ },
+ "votes" : "17",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179981.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E3.mp4",
+ "specialsortseason" : -1,
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "179981"
+ },
+ "lastplayed" : "2017-02-28 11:19:27",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Cat Came Back",
+ "seasonid" : 14,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179981.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ }
+ },
+ {
+ "label" : "1x04. Anniversary",
+ "director" : [
+ "Gil Junger"
+ ],
+ "cast" : [
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2001-10-24",
+ "episodeid" : 130,
+ "writer" : [
+ "David Feeney",
+ "Todd J. Greenwald"
+ ],
+ "rating" : 7.30000019073486,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "On Jim and Cheryl's 10th Anniversary, Jim pays Dana to buy him an anniversary gift to give to Cheryl. However, Dana buys a beautiful and touching charm bracelet, going over the spending limit in the process, and Cheryl finds out that all her anniversary gifts over the past ten years were bought by Dana.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.30000019073486,
+ "votes" : 18
+ }
+ },
+ "episode" : 4,
+ "playcount" : 1,
+ "votes" : "18",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179982.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E4.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [
+ {
+ "duration" : 12,
+ "width" : 480,
+ "height" : 360,
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "language" : "und",
+ "codec" : "h264"
+ }
+ ],
+ "audio" : [
+ {
+ "codec" : "aac",
+ "language" : "und",
+ "channels" : 2
+ }
+ ],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Anniversary",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179982.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 14,
+ "lastplayed" : "2017-02-28 11:30:39",
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "179982"
+ },
+ "tvshowid" : 4
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "cast" : [
+ {
+ "name" : "Ken Magee",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Michael McManus",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Soleil Borda",
+ "order" : 2
+ },
+ {
+ "name" : "Steven Pierce",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2001-10-31",
+ "director" : [
+ "Andy Cadiff"
+ ],
+ "label" : "1x05. Unruly Spirits",
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "David Regal"
+ ],
+ "episodeid" : 131,
+ "seasonid" : 14,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179983.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Unruly Spirits",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "179983"
+ },
+ "runtime" : 12,
+ "lastplayed" : "2017-02-28 11:33:57",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E5.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179983.jpg/",
+ "votes" : "17",
+ "episode" : 5,
+ "plot" : "It's Halloween, and Cheryl has forbidden Gracie to go trick-or-treating. However, not wanting his daughter to miss out on the fun of the halloween spirit, he sneaks her out anyway. Meanwhile, Andy becomes convinced that he's being stalked by an ex-girlfriend.",
+ "playcount" : 1,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.59999990463257,
+ "votes" : 17
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [
+ {
+ "language" : "und",
+ "codec" : "aac",
+ "channels" : 2
+ }
+ ],
+ "video" : [
+ {
+ "codec" : "h264",
+ "language" : "und",
+ "aspect" : 1.33333301544189,
+ "width" : 480,
+ "height" : 360,
+ "duration" : 12,
+ "stereomode" : ""
+ }
+ ],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ {
+ "director" : [
+ "Andy Cadiff"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Veronica Puleo"
+ },
+ {
+ "name" : "Kevin Porter",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2001-11-07",
+ "label" : "1x06. The Crush",
+ "rating" : 7.30000019073486,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Richard Cohen"
+ ],
+ "episodeid" : 132,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E6.mp4",
+ "specialsortseason" : -1,
+ "ratings" : {
+ "default" : {
+ "votes" : 18,
+ "default" : true,
+ "rating" : 7.30000019073486
+ }
+ },
+ "plot" : "Jim sets Dana up with a guy so perfect that even Cheryl falls for him.",
+ "episode" : 6,
+ "playcount" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179984.jpg/",
+ "votes" : "18",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [
+ {
+ "language" : "und",
+ "codec" : "h264",
+ "aspect" : 1.33333301544189,
+ "duration" : 12,
+ "width" : 480,
+ "height" : 360,
+ "stereomode" : ""
+ }
+ ],
+ "audio" : [
+ {
+ "language" : "und",
+ "codec" : "aac",
+ "channels" : 2
+ }
+ ]
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "seasonid" : 14,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179984.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Crush",
+ "tvshowid" : 4,
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "179984"
+ },
+ "lastplayed" : "2017-02-28 11:43:22"
+ },
+ {
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 7.59999990463257,
+ "episodeid" : 133,
+ "writer" : [
+ "Bonnie Kallman"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Randall Arney",
+ "order" : 0
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2001-11-14",
+ "director" : [
+ "Michael Lembeck"
+ ],
+ "label" : "1x07. Cheryl's Old Flame",
+ "tvshowid" : 4,
+ "lastplayed" : "2017-02-28 11:54:39",
+ "uniqueid" : {
+ "unknown" : "179985"
+ },
+ "runtime" : 12,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179985.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ },
+ "seasonid" : 14,
+ "title" : "Cheryl's Old Flame",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "language" : "und",
+ "codec" : "aac",
+ "channels" : 2
+ }
+ ],
+ "video" : [
+ {
+ "height" : 360,
+ "width" : 480,
+ "duration" : 12,
+ "stereomode" : "",
+ "codec" : "h264",
+ "language" : "und",
+ "aspect" : 1.33333301544189
+ }
+ ]
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E7.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "17",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179985.jpg/",
+ "episode" : 7,
+ "playcount" : 1,
+ "plot" : "Jim and Cheryl find themselves wondering if they've set too many rules for their household when they find themselves arguing over whether to put a TV in the girls' room, making Jim promise Cheryl not to ride his motorcycle, and Ruby then tells Jim that Cheryl has been smoking again.",
+ "ratings" : {
+ "default" : {
+ "votes" : 17,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ }
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [
+ {
+ "codec" : "h264",
+ "language" : "und",
+ "aspect" : 1.33333301544189,
+ "stereomode" : "",
+ "duration" : 12,
+ "width" : 480,
+ "height" : 360
+ }
+ ],
+ "audio" : [
+ {
+ "channels" : 2,
+ "codec" : "aac",
+ "language" : "und"
+ }
+ ]
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "It's Thanksgiving and Jim and Andy are going bowling. Cheryl doesn't like the idea very much, so she sends the girls with him. Jim has a perfect game, but just when he was about to bowl his final strike, the power goes off and he is left with either waiting for it to return or giving up being perfect. Cheryl surprises him by bringing the Thanksgiving dinner to the alley so Jim's family and friends can witness his perfect game.",
+ "playcount" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 18,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "episode" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179986.jpg/",
+ "votes" : "18",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E8.mp4",
+ "specialsortseason" : -1,
+ "runtime" : 12,
+ "uniqueid" : {
+ "unknown" : "179986"
+ },
+ "lastplayed" : "2017-02-28 11:57:49",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Turkey Bowl",
+ "seasonid" : 14,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179986.jpg/"
+ },
+ "writer" : [
+ "Tracy Gamble"
+ ],
+ "episodeid" : 134,
+ "showtitle" : "According to Jim",
+ "rating" : 7.5,
+ "label" : "1x08. The Turkey Bowl",
+ "director" : [
+ "Gil Junger"
+ ],
+ "firstaired" : "2001-11-21",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Garrett Morris"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "streamdetails" : {
+ "video" : [
+ {
+ "stereomode" : "",
+ "width" : 480,
+ "duration" : 12,
+ "height" : 360,
+ "codec" : "h264",
+ "language" : "und",
+ "aspect" : 1.33333301544189
+ }
+ ],
+ "audio" : [
+ {
+ "channels" : 2,
+ "codec" : "aac",
+ "language" : "und"
+ }
+ ],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "17",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179987.jpg/",
+ "episode" : 9,
+ "playcount" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 17,
+ "default" : true,
+ "rating" : 7.40000009536743
+ }
+ },
+ "plot" : "Andy has a new girlfriend, and Cheryl wants Jim to treat her nicely because not only is she Andy's first girlfriend sine Carrie, but also Ruby's piano teacher. During dinner, Alicia tells Jim she's a vegetarian, and not only that, but also a Peckers fan – a big insult to Jim. Alicia and Andy break up and get back together, but she keeps turning down invitations to have dinner at Jim and Cheryl's. The reason? She doesn't like being around Cheryl. Jim rubs it on her face until Cheryl confronts Alicia, who reveals it's only because she thinks Cheryl's too perfect.",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E9.mp4",
+ "lastplayed" : "2017-02-28 12:18:10",
+ "uniqueid" : {
+ "unknown" : "179987"
+ },
+ "runtime" : 12,
+ "tvshowid" : 4,
+ "title" : "Andy's Girlfriend",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179987.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "seasonid" : 14,
+ "episodeid" : 135,
+ "writer" : [
+ "Tod Himmel"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.40000009536743,
+ "label" : "1x09. Andy's Girlfriend",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Nicole Sullivan"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Dweezil Zappa"
+ },
+ {
+ "name" : "Ed Lover",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Kevin Ruff",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Willie Onelas",
+ "order" : 4
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2001-11-28",
+ "director" : [
+ "Andy Cadiff"
+ ],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "uniqueid" : {
+ "unknown" : "179988"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "An According to Jiminy Christmas",
+ "seasonid" : 14,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179988.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179988.jpg/",
+ "votes" : "16",
+ "playcount" : 0,
+ "plot" : "Cheryl's mother is coming to visit them for Christmas and wants to stay at their house. Jim and Cheryl, however, prefer that she stayed at a hotel but don't know how to bring it up without insulting Maggie. After Jim tells Maggie that Cheryl wants her in a hotel, Maggie gives her grandma's pearl necklace to Dana. Cheryl's upset and goes to the airport to ask her mother' forgiveness, where she learns Dana only got the necklace because she doesn't have anyone in her life like Cheryl has Jim. Meanwhile, the girls think Andy is Santa.",
+ "ratings" : {
+ "default" : {
+ "votes" : 16,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ },
+ "episode" : 10,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E10.mp4",
+ "specialsortseason" : -1,
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [
+ "Tod Himmel"
+ ],
+ "episodeid" : 136,
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "label" : "1x10. An According to Jiminy Christmas",
+ "firstaired" : "2001-12-12",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Kathleen Noone",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "director" : [
+ "Gil Junger"
+ ]
+ },
+ {
+ "label" : "1x11. The Bad Word",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Carol Pawlak"
+ },
+ {
+ "role" : "",
+ "name" : "Nicole Kuwahara",
+ "order" : 1
+ },
+ {
+ "name" : "Soleil Borda",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Irene Roseen",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Dennis Cockrum",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2002-01-16",
+ "director" : [
+ "Gil Junger"
+ ],
+ "writer" : [
+ "David Regal"
+ ],
+ "episodeid" : 137,
+ "rating" : 7.40000009536743,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "votes" : "17",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179989.jpg/",
+ "episode" : 11,
+ "playcount" : 0,
+ "plot" : "Cheryl leaves Jim in charge of their kids and some other kids who were there to play with the girls during a Bears game. The next day, one of the kids mom calls Cheryl saying her daughter dame home repeating a swearing she heard from Jim. Cheryl apologizes for him and Jim is insulted that she always automatically takes the other person's side. Cheryl apologizes, and not too later Grace repeats the exact same word. Jim decides to teach her not to repeat it by making her say it non stop until she can't say it again. It works. 5 days later, at Ruby's ballet presentation, she slips, falls and says the word, unmasking Jim's guilt.",
+ "ratings" : {
+ "default" : {
+ "votes" : 17,
+ "rating" : 7.40000009536743,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E11.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "The Bad Word",
+ "seasonid" : 14,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179989.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "179989"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "label" : "1x12. Model Behavior",
+ "director" : [
+ "Gil Junger"
+ ],
+ "cast" : [
+ {
+ "name" : "Joshua Wolfe",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Justin Doran",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "John Rubano",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Amita Balla",
+ "order" : 3
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2002-01-23",
+ "writer" : [
+ "Tracy Gamble"
+ ],
+ "episodeid" : 138,
+ "showtitle" : "According to Jim",
+ "rating" : 7.30000019073486,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "episode" : 12,
+ "plot" : "Jim and Cheryl agree to let Ruby model for a print ad as a one-time thing, but when the photographer calls her a natural, Jim gets Ruby an agent.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.30000019073486,
+ "default" : true,
+ "votes" : 16
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179990.jpg/",
+ "votes" : "16",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E12.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Model Behavior",
+ "seasonid" : 14,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179990.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179990"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "Cheryl decides to go behind Jim's back and loan Andy $1,000 for a downpayment on a new condo.",
+ "ratings" : {
+ "default" : {
+ "votes" : 16,
+ "rating" : 7.40000009536743,
+ "default" : true
+ }
+ },
+ "episode" : 13,
+ "votes" : "16",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179991.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E13.mp4",
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179991"
+ },
+ "tvshowid" : 4,
+ "title" : "The Money",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179991.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 14,
+ "episodeid" : 139,
+ "writer" : [
+ "David Feeney",
+ "Todd J. Greenwald"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.40000009536743,
+ "label" : "1x13. The Money",
+ "director" : [
+ "Gil Junger"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Audrey Rapoport"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2002-01-30",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "seasonid" : 14,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179992.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Blow-Up",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179992"
+ },
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E14.mp4",
+ "specialsortseason" : -1,
+ "episode" : 14,
+ "plot" : "When Cheryl has a revealing photo of herself taken as a Valentine gift to Jim, he proudly shows it to all his friends.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.30000019073486,
+ "default" : true,
+ "votes" : 15
+ }
+ },
+ "votes" : "15",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179992.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [
+ "Gil Junger"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Mary Randle",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2002-02-13",
+ "label" : "1x14. Blow-Up",
+ "rating" : 7.30000019073486,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Mike Dieffenbach"
+ ],
+ "episodeid" : 140
+ },
+ {
+ "showtitle" : "According to Jim",
+ "rating" : 7.30000019073486,
+ "writer" : [
+ "Richard Goodman"
+ ],
+ "episodeid" : 141,
+ "cast" : [
+ {
+ "name" : "Ed Lover",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "John Rubano",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2002-02-27",
+ "director" : [
+ "Gil Junger"
+ ],
+ "label" : "1x15. Racquetball",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E15.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179993.jpg/",
+ "votes" : "14",
+ "plot" : "When Cheryl reminds Jim that she beat him at racquetball years ago, he claims he was only letting her win to gain her affections, so Cheryl challenges him to a no-holds-barred re-match.",
+ "playcount" : 0,
+ "episode" : 15,
+ "ratings" : {
+ "default" : {
+ "votes" : 14,
+ "rating" : 7.30000019073486,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "179993"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 14,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179993.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Racquetball"
+ },
+ {
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179994"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Under Pressure",
+ "seasonid" : 14,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179994.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "plot" : "After Jim is diagnosed with high blood pressure, Cheryl decides to do everything to help him. She makes him special food, give him backrubs, and keeps asking about his day in order to free him from stress. But Jim doesn't know how to share so much and tells her an old financial problem of the firm. Cheryl stays up all night doing math to figure out a way out of the problem. Jim says she has a disease and is always trying to help people, which Cheryl responds with stop caring about him. In the end, they finally settle their issues when Jim says he loves her and would be a total mess without her.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "episode" : 16,
+ "playcount" : 0,
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179994.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E16.mp4",
+ "specialsortseason" : -1,
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Nastaran Dibai",
+ "Jeffrey B. Hodes"
+ ],
+ "episodeid" : 142,
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "label" : "1x16. Under Pressure",
+ "director" : [
+ "Gil Junger"
+ ],
+ "firstaired" : "2002-03-06",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jeffrey King",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ]
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179995"
+ },
+ "tvshowid" : 4,
+ "title" : "Date Night",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179995.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 14,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "While out for dinner and a movie, Jim loses a parking spot, and later loses Cheryl when he can't let go of it.",
+ "episode" : 17,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.09999990463257,
+ "default" : true,
+ "votes" : 13
+ }
+ },
+ "votes" : "13",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179995.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E17.mp4",
+ "specialsortseason" : -1,
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 143,
+ "writer" : [
+ "Richard Greenman"
+ ],
+ "rating" : 7.09999990463257,
+ "showtitle" : "According to Jim",
+ "label" : "1x17. Date Night",
+ "director" : [
+ "Andy Cadiff"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "DeMorge Brown"
+ },
+ {
+ "role" : "",
+ "name" : "David Greenman",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2002-03-13"
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 144,
+ "writer" : [
+ "David Regal"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.59999990463257,
+ "label" : "1x18. Birthday Boys",
+ "cast" : [
+ {
+ "name" : "Jeremy Rowley",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Jordan Black",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Aaron Lee",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2002-03-20",
+ "director" : [
+ "Gil Junger"
+ ],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "179996"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Birthday Boys",
+ "userrating" : 0,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179996.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 14,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179996.jpg/",
+ "votes" : "13",
+ "plot" : "It's Kyle and Andy's birthday, and Andy is feeling a little left out of his own special day. They decide to take him to a restaurant that serves a 4,5 lbs steak, and Jim offers to pay for the check because Cheryl isn't feeling equal to Dana, who's spending a lot of money on their kids. On the table, Dana says she doesn't mind paying the check because she makes more money than Jim, which enfuriates him. He buys a donkey for the girls so they can know he's the one they should go to if they want stuff (in this case, they wanted a poney, but \"they'll never know the difference\"), and it isn't until the donkey ruins a painting Dana bought for Kyle's room that they talk it out and settle their issues.",
+ "episode" : 18,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.59999990463257,
+ "default" : true,
+ "votes" : 13
+ }
+ },
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E18.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "seasonid" : 14,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179997.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Receipt",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179997"
+ },
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E19.mp4",
+ "specialsortseason" : -1,
+ "episode" : 19,
+ "playcount" : 0,
+ "plot" : "When the new DVD player breaks, Jim must find the receipt in order to exchange it. He can't find it anywhere and blames Cheryl of losing it. She says he was the one who lost it, and in order to \"win\" the fight, Jim buys another DVD player and tells Cheryl he exchanged the broken one. Later, Dana shows up with the receipt, in which Cheryl wrote her a recipe, and Cheryl - after realizing it was her fault after all - burns it. They get into a fight but soon decide to drop the point scoring and just be happy again.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.69999980926514,
+ "votes" : 14
+ }
+ },
+ "votes" : "14",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179997.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [
+ "Gil Junger"
+ ],
+ "firstaired" : "2002-04-24",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Brian Reed Garvin",
+ "role" : ""
+ },
+ {
+ "name" : "Jim Rash",
+ "role" : "",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fJim_Rash.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "label" : "1x19. The Receipt",
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Tod Himmel"
+ ],
+ "episodeid" : 145
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x20. Old Friends",
+ "director" : [
+ "Gil Junger"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Dan Aykroyd",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Johnny Lee Schell"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Larry Lee Lerma"
+ },
+ {
+ "role" : "",
+ "name" : "Glen Clark",
+ "order" : 3
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2002-05-01",
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 146,
+ "showtitle" : "According to Jim",
+ "rating" : 7.69999980926514,
+ "userrating" : 0,
+ "title" : "Old Friends",
+ "seasonid" : 14,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179998.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "179998"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "plot" : "Jim has a run-in with an old friend from his wild and crazy days who is now a cop. Jim sets out to prove he's not an 'old married guy' by staying out all night and partying. Unfortunately, this has bad consequences for both of them...",
+ "playcount" : 0,
+ "episode" : 20,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.69999980926514,
+ "default" : true,
+ "votes" : 14
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179998.jpg/",
+ "votes" : "14",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E20.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "13",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179999.jpg/",
+ "plot" : "Jim agrees to take the girls for the day while Cheryl and Dana go to a doctor's appointment. At the park, Jim leaves the girls with another mom and goes to the movies... where he's busted by Cheryl. Things go from bad to worse when he tries to retrieve the kids and can't remember who he left them with.",
+ "episode" : 21,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.69999980926514,
+ "votes" : 13
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E21.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Cheryl's Day Off",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f179999.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 14,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "179999"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "label" : "1x21. Cheryl's Day Off",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Anne Smith",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Hira Ambrosino",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2002-05-08",
+ "director" : [
+ "Gil Junger"
+ ],
+ "episodeid" : 147,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.69999980926514,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1
+ },
+ {
+ "userrating" : 0,
+ "title" : "No Surprises",
+ "seasonid" : 14,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180000.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180000"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "plot" : "Jim plans a surprise party for Cheryl's birthday, but gets angry and cancels it when Dana spills the beans. To make it up to him, Cheryl plans a party for him... but he's too busy bowling to show up.",
+ "episode" : 22,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 13,
+ "rating" : 8.19999980926514,
+ "default" : true
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180000.jpg/",
+ "votes" : "13",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 1/S1E22.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x22. No Surprises",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Doug Cameron",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Glen Clark",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Brian Palermo",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Johnny Lee Schell"
+ },
+ {
+ "role" : "",
+ "name" : "Brian Urlacher",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Doug Decker",
+ "order" : 5
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2002-05-15",
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "episodeid" : 148,
+ "rating" : 8.19999980926514,
+ "showtitle" : "According to Jim"
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 149,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "label" : "2x01. The Importance of Being Jim",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2002-10-01",
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180001"
+ },
+ "tvshowid" : 4,
+ "title" : "The Importance of Being Jim",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180001.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 15,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 1,
+ "plot" : "Jim buys a digital camera from one of Dana's ex-boyfriends, and it comes with stored pictures of the woman he dumped Dana for. Cheryl thinks it will make Dana feel better if she saw how ugly the new girl is, but Jim simply deletes the pictures because they weren't important enough for him. They start a fight about what's important to each one of them and Cheryl hides his new camera. Jim tries to get back at her, unsuccessfully. When Kyle starts to take his first steps, the camera is nowhere to be found and the moment is lost forever. That's when Cheryl realizes her actions didn't do any good. They make up and agree on paying more attention to what's important to each other.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8,
+ "default" : true,
+ "votes" : 12
+ }
+ },
+ "playcount" : 0,
+ "votes" : "12",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180001.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E1.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "userrating" : 0,
+ "title" : "Cars and Chicks",
+ "seasonid" : 15,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180002.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/"
+ },
+ "productioncode" : "",
+ "uniqueid" : {
+ "unknown" : "180002"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180002.jpg/",
+ "plot" : "Dana needs to buy a new car and Cheryl offers to go with her, but Jim says chicks are no good buying car by themselves, because they'll get distracted with other less important things like mirrors or cup holders. Offended, Cheryl is determined to prove Jim wrong and actually gets Dana a car for a fair deal, but the car soon breaks down. Jim takes over the situation and goes down the dealership to manly handle the situation. The only thing he wasn't counting on was a very seductive female manager, who convinces Jim to trade in his minivan for a brand new sports car. Cheryl and Dana try to undo the deal, but they have no luck either. Jim and Andy return determined to overcome Gretchen's looks, but Mike Ditka's presence ruins it for them.",
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "episode" : 2,
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E2.mp4",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x02. Cars and Chicks",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "John Cervenka",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Mike Ditka",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Cindy Crawford",
+ "order" : 2
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2002-10-08",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "episodeid" : 150,
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Baby Monitor",
+ "seasonid" : 15,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180003.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180003"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "plot" : "Cheryl wants to be friends with the new couple who just moved into the neighborhood. She has to be fast and do it before they talk to anyone else and get scared of them. After lending Janet the baby monitor, Cheryl schedules dinner with the new couple and has a hard time convincing Jim to go. When they get home back from the dinner, Cheryl is thrilled that it all went very well, and they're surprised when the baby monitor picks up Ted and Janet's conversation from their bedroom. The entire family gets addicted to eavesdropping on the couple, and Jim accidentally slips Ted's nickname for his penis. The new couple is outraged, and it takes Jim to make up a story about a homosexual experience he had in college to even the score and not lose their new friends.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "episode" : 3,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180003.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E3.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x03. The Baby Monitor",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Stacey Travis"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Pat Finn"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2002-10-15",
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "episodeid" : 151,
+ "rating" : 8,
+ "showtitle" : "According to Jim"
+ },
+ {
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Mark Adair-Rios"
+ },
+ {
+ "role" : "",
+ "name" : "Reni Santoni",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2002-10-22",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "label" : "2x04. The Pizza Boy",
+ "rating" : 8.10000038146973,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Eddie Gorodetsky"
+ ],
+ "episodeid" : 152,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E4.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180004.jpg/",
+ "votes" : "11",
+ "episode" : 4,
+ "playcount" : 0,
+ "plot" : "Jim's pizza delivery boy moves in with him and Cheryl after the boy's father kicks him out of the house because of his dream of doing standup comedy.",
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 8.10000038146973,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "seasonid" : 15,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180004.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Pizza Boy",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180004"
+ },
+ "runtime" : 1800,
+ "lastplayed" : ""
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 153,
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "2x05. The Closet",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "firstaired" : "2002-10-29",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180005"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Closet",
+ "seasonid" : 15,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180005.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "plot" : "Jim asks Cheryl not to intrude his space in the bathroom sink and in their closet, claiming she takes up too much space, and worse, HIS space. Cheryl tries to do something about by getting rid of some of her stuff, but Dana tells her it's time for women everywhere to show men they also have a need for space. Therefore, instead of doing what Jim asked her to, Cheryl buys even more clothes to jam up the closet. As a revenge, Jim decides to decorate their room in his own way. That starts a feud between them, until Jim falls down from the attic on their bed, breaking through the ceiling. He tells Cheryl that he needs his own space, and not because her stuff annoys him, but because he has the need to feel safe from the world sometimes. They settle their feud and agree on respecting each other's spaces.",
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.90000009536743,
+ "votes" : 12
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180005.jpg/",
+ "votes" : "12",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E5.mp4"
+ },
+ {
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "episodeid" : 154,
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "name" : "Todd Sandler",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Berglind Icey",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2002-11-05",
+ "label" : "2x06. Punch & Ruby",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E6.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "playcount" : 0,
+ "episode" : 6,
+ "plot" : "Jim is taking the girls to their first Bears football game, and Cheryl asks him to be a good role model and try his best not to swear in front of them. At the game, Jim picks a fight with a Packers fan who was swearing in front of the girls, and the entire fight is televised, with Jim getting the nickname of \"Packers Smacker\". He finds glory with such nickname, but Cheryl doesn't like it at all. It only hits Jim the effects his actions might have on his children when Ruby hits Gracie in the nose. Jim has to have a talk with Ruby and hear Cheryl says that the next time he finds himself in a situation like on the football game, that he should just think what she would do and do it. But Jim finds redemption when Gracie refuses to eat sundae fudge because she thinks her butt's too big – something Cheryl was saying around the house not too long ago.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180006.jpg/",
+ "votes" : "12",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180006"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180006.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 15,
+ "title" : "Punch & Ruby",
+ "userrating" : 0
+ },
+ {
+ "episodeid" : 155,
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "label" : "2x07. The Bachelor",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2002-11-12",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Trista Rehn",
+ "order" : 0
+ },
+ {
+ "name" : "Doug Savant",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Dana gets selected to be on the reality show The Bachelor. At first she's sure her personality alone will be enough to entertain the guy, but Jim gives her advice on how to behave and what to say to the guy. Dana thinks he's full of crap, but after her date goes bad she tries Jim's recipe and scores a second date. She arranges with Cheryl to bring the bachelor over to their house for dinner, and Cheryl couldn't be more thrilled to be on national television with a remodeled house. Jim is also very proud that Dana only got so far thanks to him, but the situation quickly takes an unexpected turn when Jim accidentally overhears the bachelor saying Dana will be easy to bring to bed and then he'll dump her. Now he goes out of his way to save Dana and ends up scaring the guy away with stories about Dana being a psycho. Later he explains to her his behavior and says she'll meet someone who's good enough for her.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 8.10000038146973,
+ "default" : true
+ }
+ },
+ "episode" : 7,
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180007.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E7.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180007"
+ },
+ "tvshowid" : 4,
+ "title" : "The Bachelor",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180007.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 15
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "cast" : [
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fChris_Elliott.jpg/",
+ "order" : 0,
+ "name" : "Chris Elliott",
+ "role" : ""
+ },
+ {
+ "name" : "Adam Cagley",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Zack Shada",
+ "order" : 2
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2002-11-19",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "label" : "2x08. Father Disfigure",
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "episodeid" : 156,
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180008.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Father Disfigure",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180008"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E8.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180008.jpg/",
+ "votes" : "12",
+ "plot" : "Cheryl drags Jim down to the church for the new reverend's mess, which is supposed to be \"the next best thing\". Jim sees some familiarity on him, and remembers he was the kid he played dodge-ball with back when they were kids. Jim also remembers that he threw the ball so hard at the guy he got a fat lip (and a funny nickname) for weeks (the nickname lasted for years). When Cheryl invites the reverend over for dinner, Jim freaks out, hoping he won't remember a thing. But Jim's hopes go down the drain when the reverend confronts him and later quits the church, giving his inability to forgive Jim as a reason. Feeling guilty, Jim apologizes and even takes on Gracie and Ruby's advice on offering Reverend Pierson a chance to throw a dodge-ball back at him.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.10000038146973,
+ "votes" : 12
+ }
+ },
+ "episode" : 8,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E9.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180009.jpg/",
+ "votes" : "12",
+ "playcount" : 0,
+ "episode" : 9,
+ "plot" : "Cheryl is thrilled when she is offered to be in charge of the set of the girls's Thanksgiving school play. She asks Jim to help her, and he's complaining they don't spend any time together because there's always someone around them. When they finally get alone on the set, they decide to be a little wild and do it behind the Plymouth rock. Unfortunately, Andy and the PTA president walk in on them. They promise to keep it quiet, but Jim and his big mouth brag about it with a divorced father who criticized married life. When Jim and Cheryl's sexual adventures are spread around the PTA board, Cheryl is fired from her set duties, and Jim, feeling guilty about it, stays up all night to finish the job for Cheryl.",
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180009.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Thanksgiving Confidential",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180009"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "cast" : [
+ {
+ "name" : "Julia Sweeney",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fhy7ZoNmr0h3AcrBkbnTLOXZnwRd.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Donald Sage MacKay",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2002-11-26",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "label" : "2x09. Thanksgiving Confidential",
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Nastaran Dibai",
+ "Jeffrey B. Hodes"
+ ],
+ "episodeid" : 157,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180010.jpg/",
+ "votes" : "10",
+ "playcount" : 0,
+ "episode" : 10,
+ "plot" : "Jim's feud with a neighbor may also prompt one with Cheryl, who preaches peace so they'll be invited to the neighbors' Christmas party.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.69999980926514,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E10.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "The Christmas Party",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180010.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/"
+ },
+ "seasonid" : 15,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180010"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "label" : "2x10. The Christmas Party",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Paul Schackman",
+ "order" : 0
+ },
+ {
+ "name" : "Stephen Root",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Robin Krieger",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Barry Brookshire"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Bobby Block"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2002-12-10",
+ "director" : [
+ "Brian K. Roberts"
+ ],
+ "episodeid" : 158,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2
+ },
+ {
+ "label" : "2x11. The Brother-in-Law",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "firstaired" : "2002-12-17",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Brad Paisley"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "writer" : [
+ "Jonathan Stark"
+ ],
+ "episodeid" : 159,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "playcount" : 0,
+ "plot" : "Eddie, a country musician who's dating Dana, comes between Jim and his brother-in-law Andy. After hearing Jim and Andy's band practice, Eddie invites them to perform with him at the House of Blues. The catch: Eddie plays keyboards instead of Andy. An excited Jim accepts anyway and hopes to keep the gig a secret from Andy, who, of course, finds out. Encouraged by his sisters, the left-out architect decides to even the score by exploring new business horizons-without his contractor-partner Jim.",
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.80000019073486,
+ "votes" : 9
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180011.jpg/",
+ "votes" : "9",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E11.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "The Brother-in-Law",
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180011.jpg/"
+ },
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180011"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E12.mp4",
+ "episode" : 12,
+ "plot" : "Jim takes advantage of a billing error on his credit card by using the windfall to treat Cheryl to an expensive romantic weekend.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180012.jpg/",
+ "votes" : "12",
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180012"
+ },
+ "lastplayed" : "",
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180012.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Moral Dilemma",
+ "rating" : 7.5,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Mark Driscoll"
+ ],
+ "episodeid" : 160,
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2003-01-07",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Mark Capri"
+ },
+ {
+ "order" : 1,
+ "name" : "Oleg Stefan",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Vahe Bejanyan",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "label" : "2x12. Moral Dilemma",
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "title" : "You Gotta Love Somebody (1)",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180013.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 15,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180013"
+ },
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Jim's old friend Danny visits him, and brings his partner in crime, Laraine, with him. Cheryl and Dana offer to help Laraine pick out a dress for the police ball, and after realizing she has feelings for Danny, Cheryl convinces Jim to talk to Danny about asking her to the ball. Cheryl reveals to Jim that if it wasn't for Danny, they might never have gotten together, as they remember the time they met at a bar back in the 80's. But when Danny finally has the guts to talk to Laraine, he finds out that Andy already asked her out. Dana asks why can't she be Danny's date, since she made out with Cheryl's boyfriend the night she met Jim just so he would get out of the way. They all try to convince Andy to step aside what could be true love, but Andy reminds them of how he pretended to have a heart attack just so Jim would get rid of his girlfriend the night he met Cheryl. Finally, Andy agrees to help Danny and Laraine, as Jim and Cheryl conclude that despite all the help they got they still would have met.",
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.90000009536743,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180013.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E13.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2,
+ "label" : "2x13. You Gotta Love Somebody (1)",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2003-01-21",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Jill Matson",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Paul Vinson",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Brad Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fstc0H1GhIaLF4MAHh0rNVgxKlfn.jpg/",
+ "order" : 3,
+ "name" : "Laraine Newman",
+ "role" : ""
+ },
+ {
+ "name" : "Dan Aykroyd",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "episodeid" : 161,
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "name" : "Jill Matson",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Paul Vinson",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Brad Paisley",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Dan Aykroyd",
+ "order" : 3
+ },
+ {
+ "name" : "Laraine Newman",
+ "role" : "",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fstc0H1GhIaLF4MAHh0rNVgxKlfn.jpg/"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-01-21",
+ "label" : "2x14. You Gotta Love Somebody (2)",
+ "rating" : 8.19999980926514,
+ "showtitle" : "According to Jim",
+ "episodeid" : 162,
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180014.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 15,
+ "title" : "You Gotta Love Somebody (2)",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180014"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E14.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Jim's old friend Danny visits him, and brings his partner in crime, Laraine, with him. Cheryl and Dana offer to help Laraine pick out a dress for the police ball, and after realizing she has feelings for Danny, Cheryl convinces Jim to talk to Danny about asking her to the ball. Cheryl reveals to Jim that if it wasn't for Danny, they might never have gotten together, as they remember the time they met at a bar back in the 80's. But when Danny finally has the guts to talk to Laraine, he finds out that Andy already asked her out. Dana asks why can't she be Danny's date, since she made out with Cheryl's boyfriend the night she met Jim just so he would get out of the way. They all try to convince Andy to step aside what could be true love, but Andy reminds them of how he pretended to have a heart attack just so Jim would get rid of his girlfriend the night he met Cheryl. Finally, Andy agrees to help Danny and Laraine, as Jim and Cheryl conclude that despite all the help they got they still would have met.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.19999980926514,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "episode" : 14,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180014.jpg/",
+ "votes" : "10",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Cheryl disapproves of Jim's latest idea, a flatulent doll named Gassy Gus, but he gets support from Andy, who builds the protoype, and Dana, who locates investors.",
+ "episode" : 15,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.69999980926514,
+ "votes" : 10
+ }
+ },
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180015.jpg/",
+ "votes" : "10",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E15.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "The Smell of Success",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180015.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 15,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180015"
+ },
+ "tvshowid" : 4,
+ "label" : "2x15. The Smell of Success",
+ "director" : [
+ "Shelley Jensen"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Andrea Walters"
+ },
+ {
+ "role" : "",
+ "name" : "Philip Bolden",
+ "order" : 1
+ },
+ {
+ "name" : "Ben Falcone",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f6MGVHVSgGRQ4XQFTCKV1k9iAlV5.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Andre Ware",
+ "order" : 3
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2003-01-28",
+ "episodeid" : 163,
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 164,
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "label" : "2x16. Slumber Party",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Lauren Antariksa",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Grace Rowe"
+ },
+ {
+ "name" : "Elizabeth Anne Smith",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Emily Rose Montgomery",
+ "order" : 3
+ },
+ {
+ "name" : "Sara Alcaraz",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "role" : "",
+ "name" : "Kyle Chavarria"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-02-04",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "uniqueid" : {
+ "unknown" : "180016"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Slumber Party",
+ "seasonid" : 15,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180016.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180016.jpg/",
+ "episode" : 16,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 7.90000009536743,
+ "default" : true
+ }
+ },
+ "plot" : "When Cheryl gets sick on the day of Ruby's birthday party, Jim is stuck trying to entertain a house full of little girls.",
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E16.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "episodeid" : 165,
+ "writer" : [
+ "David Feeney"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "2x17. The Ring",
+ "director" : [
+ "Brian K. Roberts"
+ ],
+ "cast" : [
+ {
+ "name" : "Rob Adams",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Crystal Bernard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-02-11",
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 17,
+ "plot" : "When Jim and Cheryl run into his old girlfriend, Jim worries that Cheryl may find out the truth about his past when she invites the woman to dinner.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.90000009536743,
+ "votes" : 11
+ }
+ },
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180017.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E17.mp4",
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180017"
+ },
+ "tvshowid" : 4,
+ "title" : "The Ring",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180017.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "seasonid" : 15
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [
+ "Peter Beyt"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Jeff Lewis"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-02-18",
+ "label" : "2x18. Wonder Woman",
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Ron Hart"
+ ],
+ "episodeid" : 166,
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180018.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Wonder Woman",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180018"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E18.mp4",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.59999990463257,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "episode" : 18,
+ "playcount" : 0,
+ "plot" : "Cheryl is mugged at the mall parking lot, but instead of calling the police she chases the guy and tackles him to get her purse bag. When she tells Jim what happened, he decides to get two killer German shepherd to guard her. Cheryl doesn't like the idea, especially because the dogs are trained in German. One night, when the girls and Kyle are sleeping over at Dana's, Jim and Cheryl get locked into the bathroom after they mistakenly order the dogs to attack them and don't know how to order them to stop. The solution? Give the dogs drowsy medication. After that, Jim and Cheryl acknowledge that they could actually lose each other and start being warmer with one another.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180018.jpg/",
+ "votes" : "11",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Kevin Sorbo",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2003-02-25",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "label" : "2x19. The Pass",
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 167,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E19.mp4",
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180019.jpg/",
+ "episode" : 19,
+ "playcount" : 0,
+ "plot" : "Cheryl's upset when a wealthy client, a former high school buddy of Jim's, makes a pass at her, but it's Jim's reaction that she's upset about.",
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "rating" : 8,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180019.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Pass",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180019"
+ },
+ "runtime" : 1800,
+ "lastplayed" : ""
+ },
+ {
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "When Jim vociferously objects to the way Dana gets treated by her boss, he succeeds in getting her fired. Meanwhile, Andy has problems with the plans for his birthday party.",
+ "episode" : 20,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 7.69999980926514
+ }
+ },
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180020.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E20.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180020"
+ },
+ "tvshowid" : 4,
+ "title" : "Dana Gets Fired",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180020.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "seasonid" : 15,
+ "episodeid" : 168,
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.69999980926514,
+ "label" : "2x20. Dana Gets Fired",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Patrick Cassidy",
+ "order" : 0
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-03-11",
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 169,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.59999990463257,
+ "label" : "2x21. Bo Diddley",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Bo Diddley",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Robin Krieger"
+ },
+ {
+ "name" : "Steve Susskind",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2003-04-01",
+ "director" : [
+ "Shelley Jensen"
+ ],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180021"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Bo Diddley",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180021.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 15,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180021.jpg/",
+ "playcount" : 0,
+ "plot" : "Cheryl has to have dental surgery and asks Jim to stay besides her the whole time because she's scared of dentists. While Cheryl is sedated, Andy shows up saying he met blues legend Bo Diddley and Jim decides to meet him too, leaving Cheryl unattended. There's no harm since she's sedated, he justifies. But Cheryl finds out when Bo Diddley sends Jim a thank you basket with edible goodies and Jim confesses. They have a fight and the next day Cheryl goes out to the movies, leaving Jim in charge of the kids. Coincidentally, tickets for Bo Diddley's concert arrive at the house, but Jim wonders if that's some of Cheryl's tests. He goes but changes his mind and return to his kids at home.",
+ "episode" : 21,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.59999990463257,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E21.mp4"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180022.jpg/",
+ "votes" : "8",
+ "plot" : "Cheryl makes friends with another mom from the girls soccer team. The woman is sweet, yet a bit obnoxious. Jim is annoyed by her presence, but Cheryl insists on him being nice to her. Little by little, Cindy starts to get into their lives and tell them what to do and not to do. Jim ends up buying a hot tub from her husband, thinking that might drive them away, but instead it only pulls them closer. They show up unexpectedly on the tub, which is the final drop for Jim. He tells Cheryl it's time for her to come clean and confess to Cindy that they don't like her. Just when she finally does that, Cindy's husband offers Jim season tickets for the Bears. In order to undo the break up he asked Cheryl to do, Jim tells Cindy that Cheryl is under medication for mood swings and that he's willing to do them anything. They move in for a week, while Cheryl decides to take some time off at her sister's \"for mental health\".",
+ "episode" : 22,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E22.mp4",
+ "uniqueid" : {
+ "unknown" : "180022"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Deal with the Devlins",
+ "seasonid" : 15,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180022.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "episodeid" : 170,
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "2x22. Deal with the Devlins",
+ "firstaired" : "2003-04-01",
+ "cast" : [
+ {
+ "name" : "Cynthia Stevenson",
+ "role" : "",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fb59DN25UqjxOLHVBFLMtbiOwn0W.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feijzmkkXb4NstAdvpMZ1m91cRxY.jpg/",
+ "role" : "",
+ "name" : "Tim Bagley"
+ },
+ {
+ "name" : "Laken Blevins",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180023.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Helmet",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180023"
+ },
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E23.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "plot" : "Pretending to be a man for an online auction, Cheryl discovers that Jim is bidding on memorabilia instead of shopping for a new dryer, but Jim thinks he's found a kindred spirit.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.10000038146973,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "episode" : 23,
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180023.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2003-04-08",
+ "label" : "2x23. The Helmet",
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 171
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "A trained bird flies into Andy's head in the backyard and Gracie adopts it as her bird pet, Daphne. The bird is driving everyone insane and they all can't wait to get rid of it, but unfortunately Gracie developed a deep emotional attachment to it. When someone leaves the window opened and the bird flies out in the middle of the night, Jim and Andy team up to go look for it at the park the next morning. When they spot the bird, their first reaction is not to tell Gracie, but Jim doesn't want to lie to his daughter anymore. Later, the real owner show up at the house and Gracie is forced to say goodbye to her feathered friend. Or is the thought of running away to Mexico more appealing than that?",
+ "playcount" : 0,
+ "episode" : 24,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.5,
+ "votes" : 8
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180024.jpg/",
+ "votes" : "8",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E24.mp4",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180024"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "No Harm, No Fowl",
+ "seasonid" : 15,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180024.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "episodeid" : 172,
+ "rating" : 8.5,
+ "showtitle" : "According to Jim",
+ "label" : "2x24. No Harm, No Fowl",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "name" : "Angee Hughes",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Jack Coleman"
+ },
+ {
+ "name" : "Ryan McPartlin",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2003-04-29",
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x25. About a Girl",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "name" : "Matt Roth",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Megan Taylor Harvey"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-05-06",
+ "episodeid" : 173,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "title" : "About a Girl",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180025.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 15,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180025"
+ },
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Dana gets attention from a single father she meets in the park by pretending to be Ruby's mother. Meanwhile, Cheryl requests that Jim exercise more often - as a special favor to her.",
+ "episode" : 25,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180025.jpg/",
+ "votes" : "10",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E25.mp4",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "episode" : 26,
+ "plot" : "Cheryl is suspicious of her recently widowed mother's new fiance, but Jim and Andy think he's great.",
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 8.10000038146973
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180026.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E26.mp4",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180026"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Mom's Boyfriend",
+ "seasonid" : 15,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180026.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [
+ "Mark Driscoll"
+ ],
+ "episodeid" : 174,
+ "rating" : 8.10000038146973,
+ "showtitle" : "According to Jim",
+ "label" : "2x26. Mom's Boyfriend",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2003-05-13",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "John Getz",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Anastasia Sakelaris",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "episodeid" : 175,
+ "showtitle" : "According to Jim",
+ "rating" : 8.30000019073486,
+ "label" : "2x27. Vegas, Baby (1)",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "firstaired" : "2003-05-20",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fJennifer_Coolidge.jpg/",
+ "name" : "Jennifer Coolidge",
+ "role" : ""
+ },
+ {
+ "name" : "Wayne Newton",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Tom Cassell"
+ },
+ {
+ "order" : 3,
+ "name" : "Cyndi Martino",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Steve Murphy",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Betty Bunch",
+ "order" : 5
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.30000019073486,
+ "default" : true,
+ "votes" : 6
+ }
+ },
+ "plot" : "Jim and Andy are going to Vegas on a business trip and ask Dana to join them, since they need an extra help and she happens to be their \"rabbit's foot\" on gambling. Cheryl decides to join them and blackmails Jim when he says no at first. Cheryl has been secretly in touch with Jim's estranged sister Roxanne and plans for them to meet in Vegas. When they get there, Jim is not pleased to see his sister and tells Cheryl that no matter what she said he's sure she hasn't changed at all. Roxanne says she needs 2.000 dollars to start her business, which Jim takes as the first step on her plan, but Roxanne won't take either his or Cheryl's money. Instead, she gets it from her new husband: Andy, who has fallen head over heels for her and married her while the rest of the family was watching a show.",
+ "episode" : 27,
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180027.jpg/",
+ "votes" : "6",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E27.mp4",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180027"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Vegas, Baby (1)",
+ "seasonid" : 15,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180027.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/"
+ }
+ },
+ {
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "episodeid" : 176,
+ "showtitle" : "According to Jim",
+ "rating" : 7.19999980926514,
+ "label" : "2x28. Vegas, Baby (2)",
+ "cast" : [
+ {
+ "name" : "Jennifer Coolidge",
+ "role" : "",
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fJennifer_Coolidge.jpg/"
+ },
+ {
+ "role" : "",
+ "name" : "Wayne Newton",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Loren Lazerine",
+ "role" : ""
+ },
+ {
+ "name" : "Steve Murphy",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "name" : "Eric Payne",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2003-05-20",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180028.jpg/",
+ "votes" : "9",
+ "episode" : 28,
+ "plot" : "Andy is upset because no one approves or believes in his marriage to Roxanne. Jim goes to talk to her and walks in on her packing to run off with her ex boyfriend. He tries to stop her, unsuccessfully. Jim and Cheryl try to break the news to Andy before the business presentation, but he's so upset that he breaks down in tears on stage. While consoling Andy, Jim forgets about the foam hose and foam just floods the stage. Jim and Cheryl stroll in Las Vegas, glad that Andy is finally recovering from Roxanne and glad that their trip is over.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.19999980926514,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 2/S2E28.mp4",
+ "uniqueid" : {
+ "unknown" : "180028"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Vegas, Baby (2)",
+ "seasonid" : 15,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180028.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "season" : 3,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 177,
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Steve Nevil"
+ },
+ {
+ "order" : 1,
+ "name" : "Andy Morrow",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-09-23",
+ "label" : "3x01. The Errand",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180029"
+ },
+ "lastplayed" : "",
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180029.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Errand",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E1.mp4",
+ "specialsortseason" : -1,
+ "episode" : 1,
+ "plot" : "When Jim finds out that Cheryl has been paying 7 dollars to have the groceries delivered to their house, he insists that he does the shopping himself in order to save that incredible amount of money. Once at the supermarket, he sees how married men are \"domesticated\" by their wives and decides to rebel against Cheryl by shopping everything but the items on the list. Cheryl decides to turn the table on Jim and he does the same, until they end up going to a formal party on robes and underwear with their bodies all painted with lipstick. Cheryl finally gives in and they settle on paying the delivery boy the seven dollars in order to spare the Spice Channel subscription.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 13
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180029.jpg/",
+ "votes" : "13",
+ "dateadded" : "2016-08-26 09:16:59"
+ },
+ {
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180030.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Packer Ball",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180030"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E2.mp4",
+ "episode" : 2,
+ "playcount" : 0,
+ "plot" : "Jim is horrified when he sees his son Kyle with a green Packers ball. He tries by all means to change it for a Bears one, but the kid just can't let go of the green ball. Jim has nightmares about it and takes Kyle to his work in another attempt to get rid of the Packers ball. When he realizes there's nothing he can do about it, he does a little alteration on the ball so they can go to the Bears game peacefully.",
+ "ratings" : {
+ "default" : {
+ "votes" : 13,
+ "rating" : 7.30000019073486,
+ "default" : true
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180030.jpg/",
+ "votes" : "13",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Christopher T. Wood",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2JmRhIlnFg1CZKivLBgmJ4kksMd.jpg/"
+ },
+ {
+ "name" : "Jeffrey Scott Kelly",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Mark Beltzman",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Reginald James",
+ "order" : 3
+ },
+ {
+ "name" : "Christopher Gehrman",
+ "role" : "",
+ "order" : 4,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fChristopher_Gehrman.jpg/"
+ },
+ {
+ "order" : 5,
+ "name" : "Michael Balin",
+ "role" : ""
+ },
+ {
+ "order" : 6,
+ "role" : "",
+ "name" : "John Maynard"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2003-09-30",
+ "label" : "3x02. The Packer Ball",
+ "rating" : 7.30000019073486,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "episodeid" : 178
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E3.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "plot" : "Jim wrestles with his conscience after he cheats at a church fundraiser bingo game.",
+ "episode" : 3,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180031.jpg/",
+ "votes" : "12",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "seasonid" : 16,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180031.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "We Have a Bingo",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180031"
+ },
+ "lastplayed" : "",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fChris_Elliott.jpg/",
+ "role" : "",
+ "name" : "Chris Elliott"
+ },
+ {
+ "order" : 1,
+ "name" : "Eve Brenner",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-10-07",
+ "label" : "3x03. We Have a Bingo",
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "episodeid" : 179,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3
+ },
+ {
+ "label" : "3x04. Getting to Know You",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "James Ishida"
+ },
+ {
+ "role" : "",
+ "name" : "Chris Dollard",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2003-10-14",
+ "episodeid" : 180,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.69999980926514,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "Cheryl says a friend of hers got jewelry for his wife for no reason and Jim says he's probably cheating on her. After Cheryl takes it offensively that Jim won't buy her jewelry because he doesn't think he has to – after all, they are married and he isn't cheating – he goes out to shop for earrings, only to find out he knows nothing about Cheryl. After spending three days dedicating himself entirely to paying attention to Cheryl – with a bit of Andy's help – Jim finds out that Cheryl's friend was indeed cheating and they finally make up.",
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.69999980926514,
+ "votes" : 12
+ }
+ },
+ "votes" : "12",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180032.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E4.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Getting to Know You",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180032.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 16,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180032"
+ },
+ "tvshowid" : 4
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E5.mp4",
+ "specialsortseason" : -1,
+ "votes" : "13",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180033.jpg/",
+ "plot" : "Jim and Cheryl encourage the girls to make a lemonade stand and raise money for their scooters. What was supposed to be a lesson about the value of the dollar turns into a racy competition among neighbors when Bill and his next door neighbor Driscoll set up little amusement parks in their years. Dana and Andy pitch in, while Cheryl tries to stay out of it – until she gets into a catfight with the neighbor's wife. Once the police is called in, Jim realizes he's lost the purpose of the lemonade stand and decides to give the girls the rest of the money for the scooters.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 13,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "episode" : 5,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180033.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Lemonade Stand",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180033"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "firstaired" : "2003-10-21",
+ "cast" : [
+ {
+ "name" : "Hunter Gomez",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Robin Krieger",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Grace Rowe"
+ },
+ {
+ "role" : "",
+ "name" : "Kevin Chamberlin",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fJane_Lynch.jpg/",
+ "order" : 4,
+ "name" : "Jane Lynch",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "label" : "3x05. The Lemonade Stand",
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 181,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "name" : "Susan Mackin",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Tom Bergeron",
+ "order" : 1
+ },
+ {
+ "name" : "Brooks Almy",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Elizabeth Anne Smith"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Hira Ambrosino"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2003-10-21",
+ "label" : "3x06. ABC's and 123's",
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "episodeid" : 182,
+ "writer" : [
+ "Warren Bell"
+ ],
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180034.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 16,
+ "title" : "ABC's and 123's",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180034"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E6.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 6,
+ "plot" : "Trying to lighten Ruby's homework load – and therefore look like he's helping her – Jim tells Ruby's teacher that Cheryl can't read.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180034.jpg/",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ }
+ },
+ {
+ "title" : "Dana Dates Jim",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180035.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 16,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180035"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180035.jpg/",
+ "votes" : "13",
+ "plot" : "It's Halloween and Cheryl is trying to host \"the\" party so she can own Halloween in the neighborhood. Dana brings in her newest date, Hank, who carries an awful lot of similarities to Jim. While refusing to admit she's dating Jim, Dana realizes the truth when she accidentally pinches Jim's butt thinking it was Hank. The next day she and Cheryl have a fight over the whole situation, which leaves it up to Jim and Andy to fix the friendship between the two sisters.",
+ "playcount" : 0,
+ "episode" : 7,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 13
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E7.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3,
+ "label" : "3x07. Dana Dates Jim",
+ "firstaired" : "2003-10-28",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jeremy Rowley",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "James McCauley"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "episodeid" : 183,
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180036.jpg/",
+ "votes" : "10",
+ "episode" : 8,
+ "plot" : "Gracie and Ruby have nightmares after Jim secretly takes them to see a scary movie. (ABC)",
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E8.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "Scary Movie",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180036.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 16,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180036"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "label" : "3x08. Scary Movie",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Andrea Walters",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2003-11-04",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "episodeid" : 184,
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.59999990463257,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "cast" : [
+ {
+ "name" : "Deji Olasimbo",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2003-11-11",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "label" : "3x09. The Imaginary Friend",
+ "rating" : 7.5,
+ "showtitle" : "According to Jim",
+ "episodeid" : 185,
+ "writer" : [
+ "David Feeney"
+ ],
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180037.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 16,
+ "title" : "The Imaginary Friend",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180037"
+ },
+ "runtime" : 1800,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E9.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180037.jpg/",
+ "votes" : "12",
+ "plot" : "Jim creates an imaginary friend to avoid going to a couple's baby shower with Cheryl.",
+ "playcount" : 0,
+ "episode" : 9,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ }
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E10.mp4",
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180038.jpg/",
+ "episode" : 10,
+ "playcount" : 0,
+ "plot" : "Cheryl cajoles Jim into attending a couples cooking class, which turns into a disaster, so she lets Jim pick out the next couples activity – paintball.",
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180038.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Paintball",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180038"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Mary Gross",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2003-11-18",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "label" : "3x10. Paintball",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "episodeid" : 186,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3
+ },
+ {
+ "season" : 3,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Warren Bell"
+ ],
+ "episodeid" : 187,
+ "cast" : [
+ {
+ "name" : "Lynne Maria Stewart",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Kevin Kirkpatrick",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2003-11-25",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "label" : "3x11. The Empty Gesture",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180039"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 16,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180039.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Empty Gesture",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E11.mp4",
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180039.jpg/",
+ "plot" : "Cheryl starts to feel taken for granted as she prepares Thanksgiving dinner. She suffers the ultimate insult when she gets stuck on the roof after retrieving her tablecloth that Jim had fashioned into a ghost for Halloween, and no one notices her absence until she unhooks the satellite. To apologize, Jim tells her that he, Dana and Andy will prepare the dinner. Jim never thinks that Cheryl, being the control freak that she is, would allow that to happen, so he doesn't make dinner. Unfortunately, neither does Cheryl.",
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.80000019073486,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59"
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180040"
+ },
+ "tvshowid" : 4,
+ "title" : "Rules of Engagement",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180040.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/"
+ },
+ "seasonid" : 16,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "plot" : "Cheryl caters to Jim's every whim to make amends for a big fight they had the night before-except Jim doesn't remember the fight at all.",
+ "playcount" : 0,
+ "episode" : 12,
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180040.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E12.mp4",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 188,
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "3x12. Rules of Engagement",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "cast" : [
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2003-12-02"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "plot" : "Dana admits to Cheryl that she can't afford to buy Jim a Christmas present, so Cheryl lets Dana put her name on one of the presents she bought for him. Dana innocently picks out Cheryl's big present to Jim, but when Jim is thrilled with the gift, Dana is ready to take all the credit for it.",
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.90000009536743,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180041.jpg/",
+ "votes" : "11",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E13.mp4",
+ "specialsortseason" : -1,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180041"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Secret Santa",
+ "seasonid" : 16,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180041.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 189,
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "3x13. Secret Santa",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2003-12-09",
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "label" : "3x14. House for Sale",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2004-01-06",
+ "cast" : [
+ {
+ "name" : "James Kiriyama-Lem",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Tim Bagley",
+ "role" : "",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feijzmkkXb4NstAdvpMZ1m91cRxY.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fb59DN25UqjxOLHVBFLMtbiOwn0W.jpg/",
+ "name" : "Cynthia Stevenson",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "episodeid" : 190,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "rating" : 8.10000038146973,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 14,
+ "plot" : "The Devlins place a bid on the house across the street from Jim and Cheryl, to their dismay.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.10000038146973,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180042.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E14.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "House for Sale",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180042.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/"
+ },
+ "seasonid" : 16,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180042"
+ },
+ "tvshowid" : 4
+ },
+ {
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180043"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Dana Dates the Reverend",
+ "seasonid" : 16,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180043.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "episode" : 15,
+ "plot" : "Dana and Jim both covet their reverend - she for romance, he for the pastor's prowess at bowling.",
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 7.90000009536743,
+ "default" : true
+ }
+ },
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180043.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E15.mp4",
+ "specialsortseason" : -1,
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "episodeid" : 191,
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "label" : "3x15. Dana Dates the Reverend",
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "name" : "Michelle Hurd",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Bea Nordella"
+ },
+ {
+ "role" : "",
+ "name" : "Chris Elliott",
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fChris_Elliott.jpg/"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2004-01-27"
+ },
+ {
+ "label" : "3x16. The Best Man",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Dan Aykroyd",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fstc0H1GhIaLF4MAHh0rNVgxKlfn.jpg/",
+ "name" : "Laraine Newman",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Tracy Newman",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Nicholas Hormann",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Robert Joseph"
+ },
+ {
+ "name" : "Doug Budin",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2004-02-10",
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "episodeid" : 192,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "plot" : "Cheryl forbids Jim from throwing his cop friend Danny a bachelor party with beer and strippers. She fears that Danny will show up at his own wedding with a hangover – as Jim did at their wedding. Jim and his buddies decide to take Danny for a swim in bitter-cold Lake Michigan – forcing a hospital visit for Danny. The wedding morning, Danny stays in bed, moaning and groaning, and Cheryl frets, but the doctor assures everyone there's nothing wrong with him. Jim realizes Danny just has cold feet, so he tries to convince him to go through with his wedding to Laraine, a fellow cop.",
+ "episode" : 16,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.80000019073486,
+ "votes" : 9
+ }
+ },
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180044.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E16.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "The Best Man",
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180044.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180044"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "episodeid" : 193,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "label" : "3x17. Cheryl Sings",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Tom Cano",
+ "order" : 0
+ },
+ {
+ "name" : "Rachael Harris",
+ "role" : "",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fRachael_Harris.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Dayna Devon",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2004-02-17",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180045.jpg/",
+ "playcount" : 0,
+ "plot" : "Cheryl tries to impress her boastful cousin Mindy by posing as the lead singer of Jim's band – even though she has a terrible voice. Jim agrees to perform at Mindy's engagement party with Cheryl playing the part in order to teach his wife a lesson about embellishment by making a fool of herself. However, when Mindy tells Jim that her fiancé, Eric, is a record producer, he must decide between telling Cheryl the truth and making a bad impression on Eric.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.10000038146973,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "episode" : 17,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E17.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180045"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Cheryl Sings",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180045.jpg/"
+ },
+ "seasonid" : 16
+ },
+ {
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.5,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "plot" : "Dana's first task at the ad agency is to cast the perfect TV family for a Disney cruise commercial. Cheryl and the kids get the job, but Dana's boss replaces Jim with a handsome actor in the role of \"dad.\"",
+ "episode" : 18,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180046.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E18.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "When You Wish to Be a Star (1)",
+ "seasonid" : 16,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180046.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180046"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "label" : "3x18. When You Wish to Be a Star (1)",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Ingo Rademacher",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "name" : "Michelle Hurd",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2004-02-24",
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "episodeid" : 194,
+ "rating" : 7.5,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "label" : "3x19. When You Wish to Be a Star (2)",
+ "firstaired" : "2004-03-02",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Ingo Rademacher"
+ },
+ {
+ "role" : "",
+ "name" : "Michelle Hurd",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Roberta Hanlen",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "writer" : [
+ "Ron Hart",
+ "John D. Beck"
+ ],
+ "episodeid" : 195,
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "userrating" : 0,
+ "title" : "When You Wish to Be a Star (2)",
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180047.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "180047"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180047.jpg/",
+ "votes" : "10",
+ "plot" : "Jim takes umbrage at being replaced as the father in a promotional shoot for a cruise line.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.59999990463257,
+ "votes" : 10
+ }
+ },
+ "episode" : 19,
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E19.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E20.mp4",
+ "specialsortseason" : -1,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180048.jpg/",
+ "plot" : "Gracie's recent misbehavior makes Jim think she is lying about a friend giving her a new video game.",
+ "playcount" : 0,
+ "episode" : 20,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180048.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "No Crime, But Punishment",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180048"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "firstaired" : "2004-03-09",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Austin Rogers",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Stella Hudgens",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "label" : "3x20. No Crime, But Punishment",
+ "rating" : 7.5,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "episodeid" : 196,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3
+ },
+ {
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 197,
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "label" : "3x21. The Baby",
+ "firstaired" : "2004-03-16",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fJennifer_Coolidge.jpg/",
+ "role" : "",
+ "name" : "Jennifer Coolidge"
+ },
+ {
+ "role" : "",
+ "name" : "Rick Overton",
+ "order" : 1,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fRick_Overton.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Frances Callier"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Glenda Morgan Brown"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180049.jpg/",
+ "votes" : "8",
+ "episode" : 21,
+ "plot" : "Jim's sister, Roxanne, shows up on his doorstep, pregnant, and lets Andy believe he's the father.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 8
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E21.mp4",
+ "uniqueid" : {
+ "unknown" : "180049"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Baby",
+ "seasonid" : 16,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180049.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ }
+ },
+ {
+ "firstaired" : "2004-03-30",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Nana Visitor"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "label" : "3x22. Who's The Boss?",
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "episodeid" : 198,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E22.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180050.jpg/",
+ "votes" : "9",
+ "episode" : 22,
+ "playcount" : 0,
+ "plot" : "Andy resents a wealthy client, but then decides to date her.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.69999980926514,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180050.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 16,
+ "title" : "Who's The Boss?",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180050"
+ },
+ "runtime" : 1800
+ },
+ {
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 199,
+ "writer" : [
+ "Terry Mulroy"
+ ],
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "label" : "3x23. The Truck",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2004-04-06",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Taylor Michaels",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Andy Morrow"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Brenda Julian"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180051"
+ },
+ "tvshowid" : 4,
+ "title" : "The Truck",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180051.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 16,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Cheryl ask Jim to use his truck to transport a giant paper-mâché grizzly bear the girls made for \"spirit week\" to their school – except Jim just lost his truck in an arm wrestling match and, in a gesture of macho pride, refuses to ask for it back.",
+ "episode" : 23,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180051.jpg/",
+ "votes" : "9",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E23.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180052"
+ },
+ "tvshowid" : 4,
+ "title" : "The Toilet",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180052.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/"
+ },
+ "seasonid" : 16,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "episode" : 24,
+ "plot" : "Cheryl promises to take Jim's opinions seriously when she decides to remodel the bathroom, until Jim insists it include a hideous high-tech stainless steel toilet – that talks.",
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "rating" : 7.90000009536743,
+ "default" : true
+ }
+ },
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180052.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E24.mp4",
+ "specialsortseason" : -1,
+ "season" : 3,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 200,
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "3x24. The Toilet",
+ "director" : [
+ "James Belushi"
+ ],
+ "firstaired" : "2004-04-27",
+ "cast" : [
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fJames_Earl_Jones.jpg/",
+ "order" : 0,
+ "name" : "James Earl Jones",
+ "role" : ""
+ },
+ {
+ "name" : "Tim Kazurinsky",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ]
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Carla Renata",
+ "order" : 0
+ },
+ {
+ "name" : "Barbara Dodd Remsen",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Frank Potenza",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2004-05-04",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "label" : "3x25. Trashed",
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "episodeid" : 201,
+ "seasonid" : 16,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180053.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Trashed",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180053"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E25.mp4",
+ "specialsortseason" : -1,
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180053.jpg/",
+ "plot" : "Pack rat Cheryl asks Jim to rent a storage unit to house seven years' worth of the kids' art projects, but Jim refuses to pay the fee, so he tosses everything out, thinking Cheryl won't notice – until she needs some of the projects for a special retirement party for Ruby's art teacher.",
+ "playcount" : 0,
+ "episode" : 25,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Susan Cicchino",
+ "role" : ""
+ },
+ {
+ "name" : "Stephen Tobolowsky",
+ "role" : "",
+ "order" : 1,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fthriller%2f.actors%2fStephen_Tobolowsky.jpg/"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Todd Tesen"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2004-05-11",
+ "label" : "3x26. The Marriage Bank",
+ "showtitle" : "According to Jim",
+ "rating" : 7.40000009536743,
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "episodeid" : 202,
+ "seasonid" : 16,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180054.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Marriage Bank",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180054"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E26.mp4",
+ "plot" : "Thinking it might get Cheryl to let him go on a fishing trip with Andy, Jim makes a \"deposit\" in the \"marriage bank\" by agreeing to go to a couples seminar with her. Jim's plans are foiled, however, when Dr. Ted, the marriage guru, declares the whole marriage bank mentality unhealthy and Cheryl learns Jim's real motives – so that Dr. Ted must intervene.",
+ "episode" : 26,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.40000009536743,
+ "votes" : 7
+ }
+ },
+ "votes" : "7",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180054.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ }
+ },
+ {
+ "label" : "3x27. Everyone Gets Dumped",
+ "director" : [
+ "Chris Brougham"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Ed Quinn",
+ "order" : 0
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2004-05-18",
+ "episodeid" : 203,
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "episode" : 27,
+ "plot" : "Jim develops a friendship with Dana's new boyfriend, despite the fact that the guy dumped Cheryl years ago.",
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 8.10000038146973
+ }
+ },
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180055.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E27.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "Everyone Gets Dumped",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180055.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 16,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180055"
+ },
+ "tvshowid" : 4
+ },
+ {
+ "title" : "The Swimming Pool (1)",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180056.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 16,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180056"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180056.jpg/",
+ "playcount" : 0,
+ "plot" : "Cheryl protests when a heat wave sends the family sneaking into a vacationing neighbor's pool -- until she starts sneaking over on her own.",
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 7.59999990463257
+ }
+ },
+ "episode" : 28,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E28.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 3,
+ "label" : "3x28. The Swimming Pool (1)",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Carla Renata",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2004-05-25",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "episodeid" : 204,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim"
+ },
+ {
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180057.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 16,
+ "title" : "The Vast Difference (2)",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180057"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 3/S3E29.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 29,
+ "plot" : "Jim chickens out of having a vasectomy, but Cheryl is so effusive in her praise that he's unable to admit he didn't go through with it",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.80000019073486,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180057.jpg/",
+ "votes" : "9",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "director" : [
+ "Charles T. Kanganis"
+ ],
+ "firstaired" : "2004-05-25",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "label" : "3x29. The Vast Difference (2)",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "episodeid" : 205,
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ]
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4,
+ "label" : "4x01. A Hole in One",
+ "director" : [
+ "Charlie Kanganis"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "John Ducey"
+ },
+ {
+ "order" : 1,
+ "name" : "Jim Toth",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2004-09-21",
+ "writer" : [
+ "Nastaran Dibai",
+ "Jeffrey B. Hodes"
+ ],
+ "episodeid" : 206,
+ "showtitle" : "According to Jim",
+ "rating" : 8.39999961853027,
+ "userrating" : 0,
+ "title" : "A Hole in One",
+ "seasonid" : 17,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180059.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180059"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "plot" : "Cheryl wants Jim to give up his vices so he can get her pregnant.",
+ "playcount" : 0,
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 8.39999961853027,
+ "default" : true
+ }
+ },
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180059.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E1.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180060"
+ },
+ "lastplayed" : "",
+ "seasonid" : 17,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180060.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Effort",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E2.mp4",
+ "specialsortseason" : -1,
+ "plot" : "Cheryl surprises Jim with a romantic evening, but it cuts into his planned TV boxing match.",
+ "playcount" : 0,
+ "episode" : 2,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180060.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 4,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 207,
+ "director" : [
+ "Charles T. Kanganis"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Nicole Neith"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2004-09-28",
+ "label" : "4x02. The Effort"
+ },
+ {
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180061.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17,
+ "title" : "The Grill",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180061"
+ },
+ "runtime" : 1800,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E3.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180061.jpg/",
+ "plot" : "Jim offers to give Andy an old barbecue grill, then decides Andy should pay for it.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.90000009536743,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "episode" : 3,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "firstaired" : "2004-10-12",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Willie Amakye",
+ "order" : 0
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "label" : "4x03. The Grill",
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "episodeid" : 208,
+ "writer" : [
+ "Christopher J. Nowak"
+ ]
+ },
+ {
+ "title" : "The Garage Door",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180062.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180062"
+ },
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Cheryl and Dana are forced to smash their way out of a locked garage, because they ignored Jim's lesson on how to open the door from the inside.",
+ "playcount" : 0,
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.90000009536743,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180062.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E4.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4,
+ "label" : "4x04. The Garage Door",
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "firstaired" : "2004-10-19",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Ingrid Sanai Buron"
+ },
+ {
+ "order" : 1,
+ "name" : "Christian Anderson",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "episodeid" : 209,
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743
+ },
+ {
+ "episodeid" : 210,
+ "writer" : [
+ "Warren Bell"
+ ],
+ "rating" : 8.30000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "4x05. Dress to Kill Me",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2004-10-26",
+ "cast" : [
+ {
+ "name" : "Richard Willgrubs",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Kurt Doss",
+ "role" : ""
+ },
+ {
+ "name" : "Benjamin Bryan",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Kinga Philipps",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Sarah Cole Sommers",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "rating" : 8.30000019073486,
+ "default" : true
+ }
+ },
+ "plot" : "Kyle wants to be Cinderella for Halloween. Jim is against it because he thinks he's growing up to be a sissy. Jim buys Kyle a manly costume (a dinosaur) but Kyle changes back into the dress. Jim, Andy, and Kyle all sit on the couch, Jim and Kyle persistent. Jim goes in the kitchen, sees an older Kyle who convinces Jim to let Kyle go as Cinderella. In the end, they all go as ladies and they trick-or-treat.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180063.jpg/",
+ "votes" : "8",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E5.mp4",
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180063"
+ },
+ "tvshowid" : 4,
+ "title" : "Dress to Kill Me",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180063.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E6.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "Ruby hurts Jim's feelings when she invites Andy to a father-daughter dance instead of him.",
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "rating" : 8.30000019073486,
+ "default" : true
+ }
+ },
+ "episode" : 6,
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180064.jpg/",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180064.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 17,
+ "title" : "Father-Daughter Dance",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180064"
+ },
+ "director" : [
+ "Charlie Kanganis"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Kyle Chavarria",
+ "order" : 0
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2004-11-09",
+ "label" : "4x06. Father-Daughter Dance",
+ "rating" : 8.30000019073486,
+ "showtitle" : "According to Jim",
+ "episodeid" : 211,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4,
+ "label" : "4x07. Plot Twist",
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "name" : "Andrew Hawtrey",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Mark Brandon Anderson",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2004-11-16",
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 212,
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "userrating" : 0,
+ "title" : "Plot Twist",
+ "seasonid" : 17,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180065.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180065"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "playcount" : 0,
+ "episode" : 7,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.69999980926514,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "plot" : "Cheryl's mother, Maggie, wants Jim, Cheryl and the family to rest someday in a family plot she reserved years ago, but Jim insists on his own family plot--then secretly reserves a a plot for himself next to a star football player.",
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180065.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E7.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180066.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17,
+ "title" : "The Hunters",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180066"
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E8.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "To prove his worth as a man, Jim -- along with Andy -- hunt a turkey for Thanksgiving, but on the hunt Jim is pursued -- and shot -- by a legendary 40- lb. psychotic bird christened \"Angry Pete.\" Thanksgiving-themed episode.",
+ "episode" : 8,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.30000019073486,
+ "default" : true,
+ "votes" : 8
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180066.jpg/",
+ "votes" : "8",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "firstaired" : "2004-11-23",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Michael Rothhaar",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Jack Donner",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "label" : "4x08. The Hunters",
+ "showtitle" : "According to Jim",
+ "rating" : 8.30000019073486,
+ "episodeid" : 213,
+ "writer" : [
+ "Mitch Hunter",
+ "Jana Hunter"
+ ]
+ },
+ {
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "episodeid" : 214,
+ "rating" : 8.30000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "4x09. Poking The Bear",
+ "director" : [
+ "Charlie Kanganis"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Tom Arnold"
+ },
+ {
+ "role" : "",
+ "name" : "Christina Cindrich",
+ "order" : 1
+ },
+ {
+ "name" : "Stacy Stas",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2004-11-30",
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "plot" : "Cheryl's gynecologist (played by Mitch Rouse) forbids her from having sex with Jim until the time is right to get pregnant, and Jim eats crow in order to win a huge account from a blowhard potential client (Tom Arnold).",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.30000019073486,
+ "default" : true,
+ "votes" : 8
+ }
+ },
+ "playcount" : 0,
+ "episode" : 9,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180067.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E9.mp4",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180067"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Poking The Bear",
+ "seasonid" : 17,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180067.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180068"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Stalking Santa",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180068.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/"
+ },
+ "seasonid" : 17,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180068.jpg/",
+ "plot" : "Jim tangles with a department store Santa after the two are involved in a parking lot fender bender. Unfortunately, Jim's kids witness the skirmish and are fearful Santa won't leave them any gifts for Christmas.",
+ "episode" : 10,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 10
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E10.mp4",
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 215,
+ "writer" : [
+ "Tim Kazurinsky"
+ ],
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "label" : "4x10. Stalking Santa",
+ "cast" : [
+ {
+ "name" : "Bruce Jarchow",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Tim Kazurinski",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Tim Kazurinsky",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2004-12-14",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ]
+ },
+ {
+ "label" : "4x11. Sympathy From the Devlins",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Cynthia Stevenson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fb59DN25UqjxOLHVBFLMtbiOwn0W.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Tim Bagley",
+ "role" : "",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feijzmkkXb4NstAdvpMZ1m91cRxY.jpg/"
+ },
+ {
+ "order" : 2,
+ "name" : "Sean Hogan",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2005-01-11",
+ "director" : [
+ "James Belushi"
+ ],
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "episodeid" : 216,
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180069.jpg/",
+ "votes" : "11",
+ "plot" : "Jim befriends his obnoxious neighbors when he believes they bring good luck when he's watching the Chicago Bulls.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.59999990463257,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "playcount" : 0,
+ "episode" : 11,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E11.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Sympathy From the Devlins",
+ "seasonid" : 17,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180069.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "180069"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180070"
+ },
+ "runtime" : 1800,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180070.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17,
+ "title" : "Nanny-Cam",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E12.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180070.jpg/",
+ "episode" : 12,
+ "playcount" : 0,
+ "plot" : "Jim buys a nanny-cam to spy on the sitter he didn't want Cheryl to hire but learns something about Cheryl instead, prompting her to buy a camera of her own.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.90000009536743,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "season" : 4,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "episodeid" : 217,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Barbara Dodd Remsen",
+ "order" : 0
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2005-01-18",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "label" : "4x12. Nanny-Cam"
+ },
+ {
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180071"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Jealous Husband",
+ "seasonid" : 17,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180071.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "plot" : "To make Cheryl feel desirable, Jim fakes a jealous rage in a restaurant and tries to teach Dana's date to do the same, but the lesson backfires when Dana fears her new beau is paranoid and possessive.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180071.jpg/",
+ "votes" : "11",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E13.mp4",
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 218,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "4x13. The Jealous Husband",
+ "director" : [
+ "Dennis Capps"
+ ],
+ "firstaired" : "2005-01-25",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Christopher Stapleton"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Chad Brokaw"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ]
+ },
+ {
+ "userrating" : 0,
+ "title" : "A Crying Shame",
+ "seasonid" : 17,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180072.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180072"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "playcount" : 0,
+ "plot" : "Cheryl claims to like men who aren't afraid to cry, but when Jim bursts into tears after a movie, she is surprised to find herself turned off by his sensitivity.",
+ "episode" : 14,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.40000009536743,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180072.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E14.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4,
+ "label" : "4x14. A Crying Shame",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Willie Amakye",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2005-02-08",
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "episodeid" : 219,
+ "showtitle" : "According to Jim",
+ "rating" : 7.40000009536743
+ },
+ {
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180073"
+ },
+ "lastplayed" : "",
+ "seasonid" : 17,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180073.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Guess Who's Cooking Your Dinner?",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E15.mp4",
+ "plot" : "Cheryl cooks dinner for Dana and her boyfriend and lets him believe that Dana actually did the cooking.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.90000009536743,
+ "votes" : 8
+ }
+ },
+ "episode" : 15,
+ "playcount" : 0,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180073.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 4,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Warren Bell"
+ ],
+ "episodeid" : 220,
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "firstaired" : "2005-02-15",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Carlos Lacamara",
+ "order" : 0
+ },
+ {
+ "name" : "Amy Brewczynski",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "label" : "4x15. Guess Who's Cooking Your Dinner?"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "cast" : [
+ {
+ "name" : "Lori Bell",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2005-02-22",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "label" : "4x16. The Wedding Dress",
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "episodeid" : 221,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180074.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17,
+ "title" : "The Wedding Dress",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180074"
+ },
+ "runtime" : 1800,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E16.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180074.jpg/",
+ "votes" : "9",
+ "episode" : 16,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.10000038146973,
+ "votes" : 9
+ }
+ },
+ "plot" : "When Cheryl offers Dana the use of her wedding gown, Jim and Andy try to cover up the fact that the dress was destroyed in a fiery sports celebration years ago.",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4,
+ "label" : "4x17. The Mustache",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "firstaired" : "2005-03-08",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jennifer Alden",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "episodeid" : 222,
+ "showtitle" : "According to Jim",
+ "rating" : 7.5,
+ "userrating" : 0,
+ "title" : "The Mustache",
+ "seasonid" : 17,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180075.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180075"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "playcount" : 0,
+ "plot" : "A hot delivery girl gives Jim some fashion advice, prompting him to grow a mustache, which Cheryl hates. Cheryl retaliates by becoming a brunette - but Jim loves it. After a chance meeting with the girl, Cheryl asks her to give Jim suggestions that will make him look ridiculous.",
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.5,
+ "default" : true
+ }
+ },
+ "episode" : 17,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180075.jpg/",
+ "votes" : "11",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E17.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "When Andy decides to learn how to dance for his sister's wedding, he turns to Jim, a closet dancer, for help.",
+ "playcount" : 0,
+ "episode" : 18,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 7.69999980926514,
+ "default" : true
+ }
+ },
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180076.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E18.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Shall We Dance",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180076.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 17,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180076"
+ },
+ "tvshowid" : 4,
+ "label" : "4x18. Shall We Dance",
+ "director" : [
+ "Mark Cendrowski"
+ ],
+ "firstaired" : "2005-03-08",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Heather Lee",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Bobby Black",
+ "order" : 1
+ },
+ {
+ "name" : "Renie Ferruggia",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "episodeid" : 223,
+ "writer" : [
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4,
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Steven Gilborn"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2005-03-15",
+ "director" : [
+ "James Belushi"
+ ],
+ "label" : "4x19. Take My Wife, Please",
+ "showtitle" : "According to Jim",
+ "rating" : 7.69999980926514,
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "episodeid" : 224,
+ "seasonid" : 17,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180077.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Take My Wife, Please",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "180077"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E19.mp4",
+ "specialsortseason" : -1,
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180077.jpg/",
+ "plot" : "In order to avoid going to an opera with Cheryl, Jim asks an elderly widower to be her escort.",
+ "episode" : 19,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 7.69999980926514,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ }
+ },
+ {
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "episodeid" : 225,
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "firstaired" : "2005-03-22",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Henriette Mantel"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "label" : "4x20. Spelling Bee",
+ "season" : 4,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E20.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 20,
+ "plot" : "Jim's pride in Gracie's new-found spelling-bee aptitude quickly turns to dismay when he has to drive her to tournaments all over the state.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.90000009536743,
+ "default" : true
+ }
+ },
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180078.jpg/",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180078"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180078.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 17,
+ "title" : "Spelling Bee",
+ "userrating" : 0
+ },
+ {
+ "uniqueid" : {
+ "unknown" : "180079"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Kentucky Fried Beltzman",
+ "seasonid" : 17,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180079.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/"
+ },
+ "productioncode" : "",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180079.jpg/",
+ "episode" : 21,
+ "playcount" : 0,
+ "plot" : "Jim is shocked to learn that his recently deceased friend will be buried with a rare baseball card he stole from Jim.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.10000038146973,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E21.mp4",
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "episodeid" : 226,
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "label" : "4x21. Kentucky Fried Beltzman",
+ "firstaired" : "2005-03-29",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Charles C. Stevenson Jr.",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "name" : "Jane Morris",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ]
+ },
+ {
+ "season" : 4,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "episodeid" : 227,
+ "writer" : [
+ "David Feeney",
+ "Jeffrey B. Hodes",
+ "Nastaran Dibai"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Mitch Rouse",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2005-04-12",
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "label" : "4x22. The Clock",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180080"
+ },
+ "runtime" : 1800,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180080.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17,
+ "title" : "The Clock",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E22.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180080.jpg/",
+ "votes" : "12",
+ "plot" : "Jim and Cheryl adjust the clocks to get the kids to bed earlier so they can have more quality time together.",
+ "episode" : 22,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ }
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "Jim, certain he will win the annual hot dog eating contest, is humiliated when instead he loses to a petit woman (Suzy Nakamura), and his problems are further compounded when Andy decides to date the female champion.",
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 8,
+ "default" : true
+ }
+ },
+ "episode" : 23,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180081.jpg/",
+ "votes" : "10",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E23.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "The Competition",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180081.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 17,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "180081"
+ },
+ "tvshowid" : 4,
+ "label" : "4x23. The Competition",
+ "director" : [
+ "Lynn McCracken"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Matthew Jones",
+ "order" : 0
+ },
+ {
+ "name" : "Doug Cameron",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Suzy Nakamura",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2frymamRd9wzjZquxMBKWOkylD5wN.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2005-04-19",
+ "episodeid" : 228,
+ "writer" : [
+ "Daniel Egan"
+ ],
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 4
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180083.jpg/",
+ "plot" : "When Cheryl's prim and proper bachelorette party disappoints Dana, Jim and Andy treat Dana to a rowdy night she'll never forget - but now will she make it to the wedding?",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 7.59999990463257,
+ "default" : true
+ }
+ },
+ "episode" : 24,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E24.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "The Bachelorette Party",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180083.jpg/"
+ },
+ "seasonid" : 17,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180083"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "label" : "4x24. The Bachelorette Party",
+ "firstaired" : "2005-05-03",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Carol Pawlak",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Jamieson Price",
+ "order" : 1
+ },
+ {
+ "name" : "Thomas Crnkovich",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Tina Gasbarr",
+ "order" : 3
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "director" : [
+ "Dennis Capps"
+ ],
+ "episodeid" : 229,
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E25.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180082.jpg/",
+ "votes" : "11",
+ "plot" : "Cheryl and Dana think they have cause to worry when Dana's fianc - wants to race fast cars and Jim wants to take up skydiving.",
+ "episode" : 25,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180082.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 17,
+ "title" : "Geronimo Jim",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "180082"
+ },
+ "runtime" : 1800,
+ "firstaired" : "2005-05-10",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Robert Belushi",
+ "order" : 0
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "label" : "4x25. Geronimo Jim",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "episodeid" : 230,
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 4
+ },
+ {
+ "writer" : [
+ "Sylvia Green",
+ "Harry Hannigan"
+ ],
+ "episodeid" : 231,
+ "showtitle" : "According to Jim",
+ "rating" : 7.59999990463257,
+ "label" : "4x26. The Scrapbook",
+ "firstaired" : "2005-05-10",
+ "cast" : [
+ {
+ "name" : "Michael McCarthy",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Anthony Heald",
+ "role" : ""
+ },
+ {
+ "name" : "Rick Hall",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Willie Amakye",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "season" : 4,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180084.jpg/",
+ "votes" : "9",
+ "playcount" : 0,
+ "episode" : 26,
+ "plot" : "Jim actually remembers his and Cheryl's anniversary - but Cheryl didn't! Improvising, she gives him the photo album that covers years worth of memories. They start reminiscing.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.59999990463257,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E26.mp4",
+ "uniqueid" : {
+ "unknown" : "180084"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Scrapbook",
+ "seasonid" : 17,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f180084.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ }
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 4,
+ "label" : "4x27. Wedding Bell Blues",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Mitch Rouse",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Kathleen Noone"
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Anthony Heald"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2005-05-17",
+ "director" : [
+ "Charles T. Kanganis"
+ ],
+ "episodeid" : 232,
+ "writer" : [
+ "Jana Hunter",
+ "Mitch Hunter"
+ ],
+ "rating" : 8.19999980926514,
+ "showtitle" : "According to Jim",
+ "title" : "Wedding Bell Blues",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f621261.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 17,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "621261"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f621261.jpg/",
+ "votes" : "6",
+ "plot" : "On Dana's wedding day, Jim accidentally knocks the family's favorite reverend unconscious with the car door, so he has to scramble to find a replacement preacher at the last minute, on the Season Finale.",
+ "playcount" : 0,
+ "episode" : 27,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.19999980926514,
+ "default" : true,
+ "votes" : 6
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 4/S4E27.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "seasonid" : 18,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299404.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Foul Ball",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "299404"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E1.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299404.jpg/",
+ "votes" : "11",
+ "plot" : "The fifth season premieres with Jim sneaking off to a Cubs game with Kyle instead of taking him to his first day of kindergarten.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "episode" : 1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "firstaired" : "2005-09-20",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Tammy Townsend"
+ },
+ {
+ "name" : "Michael Krepack",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Meredith Cross",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "label" : "5x01. Foul Ball",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "episodeid" : 233
+ },
+ {
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 234,
+ "writer" : [
+ "John Hart",
+ "John D. Beck"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "5x02. The Tale of the Tape (1)",
+ "director" : [
+ "James Belushi",
+ "Dennis Capps"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "David Pasquesi",
+ "order" : 0
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2005-09-27",
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "299405"
+ },
+ "tvshowid" : 4,
+ "title" : "The Tale of the Tape (1)",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299405.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 18,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Jim worries that Cheryl's romantic expectations will increase when his new brother-in-law, Ryan, showers Dana with flowers and gifts. But then Jim learns that a special blues tape Cheryl supposedly made for him when they were dating, and that made him fall in love with her, was actually made for her by an old boyfriend",
+ "episode" : 2,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299405.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E2.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "showtitle" : "According to Jim",
+ "rating" : 8.69999980926514,
+ "writer" : [
+ "John Hart",
+ "John D. Beck"
+ ],
+ "episodeid" : 235,
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "David Pasquesi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2005-09-27",
+ "label" : "5x03. The Tale of the Tape (2)",
+ "season" : 5,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E3.mp4",
+ "specialsortseason" : -1,
+ "episode" : 3,
+ "plot" : "Jim worries that Cheryl's romantic expectations will increase when his new brother-in-law, Ryan, showers Dana with flowers and gifts. But then Jim learns that a special blues tape Cheryl supposedly made for him when they were dating, and that made him fall in love with her, was actually made for her by an old boyfriend.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 3,
+ "default" : true,
+ "rating" : 8.69999980926514
+ }
+ },
+ "votes" : "3",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299406.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "299406"
+ },
+ "lastplayed" : "",
+ "seasonid" : 18,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299406.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Tale of the Tape (2)"
+ },
+ {
+ "writer" : [
+ "John Peaslee",
+ "Judd Pillot"
+ ],
+ "episodeid" : 236,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "5x04. Charity Begins at Hef's",
+ "firstaired" : "2005-10-04",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Marisa Petroro",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Wylie Small",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Anthony Holiday",
+ "role" : ""
+ },
+ {
+ "name" : "Hugh Hefner",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299407.jpg/",
+ "playcount" : 0,
+ "plot" : "When Cheryl wins two tickets to visit Hugh Hefner at the Playboy Mansion in a charity-raising contest that Jim secretly entered her in, she decides to take Dana instead of him.",
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E4.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "299407"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Charity Begins at Hef's",
+ "seasonid" : 18,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299407.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : ""
+ },
+ {
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 237,
+ "showtitle" : "According to Jim",
+ "rating" : 7.5,
+ "label" : "5x05. The Race",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Tammy Townsend",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Lucille Soong",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Willie Amakye",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "name" : "Michael Krepack",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Lily Jackson",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Jamison Belushi",
+ "order" : 5
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2005-10-11",
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299408.jpg/",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.5,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "plot" : "Out-of-shape Jim enters a 10K marathon to teach Kyle, who wants to quit basketball, a lesson about not being a quitter -- but he cheats to get first to the finish line.",
+ "episode" : 5,
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E5.mp4",
+ "uniqueid" : {
+ "unknown" : "299408"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Race",
+ "seasonid" : 18,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299408.jpg/"
+ }
+ },
+ {
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299409.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "seasonid" : 18,
+ "title" : "Anec-Dont's",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "299409"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E6.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Cheryl, upset that Jim thinks her daily anecdotes are boring, steals Dana's story about meeting Oprah. Jim, now determined to out-do Cheryl, makes up a story about his construction office catching fire. But when Cheryl take the kids to see the damage, Jim and Andy, who are scrambling to make it look authentic, end up setting a real fire.",
+ "episode" : 6,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 8,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299409.jpg/",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Mitch Rouse",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2005-10-18",
+ "label" : "5x06. Anec-Dont's",
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "episodeid" : 238,
+ "writer" : [
+ "Howard J. Morris"
+ ]
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E7.mp4",
+ "specialsortseason" : -1,
+ "plot" : "Jim helps Andy pick up a beautiful woman in a bar, but she turns out to be crazy -- and eventually leaves Andy and stalks Jim instead.",
+ "episode" : 7,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "rating" : 8,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299410.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "seasonid" : 18,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299410.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Chick Whisperer",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "299410"
+ },
+ "lastplayed" : "",
+ "director" : [
+ "Gerry Cohen"
+ ],
+ "firstaired" : "2005-11-01",
+ "cast" : [
+ {
+ "name" : "Katie Lohmann",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Cate Cohen",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Laurel Green"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "label" : "5x07. The Chick Whisperer",
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "episodeid" : 239,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 5,
+ "label" : "5x08. James & the Annoying Peach",
+ "director" : [
+ "Gerry Cohen"
+ ],
+ "firstaired" : "2005-11-08",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2ffantasy%2f.actors%2fRosalind_Chao.jpg/",
+ "name" : "Rosalind Chao",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "episodeid" : 240,
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "title" : "James & the Annoying Peach",
+ "userrating" : 0,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299411.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 18,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "299411"
+ },
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.10000038146973,
+ "default" : true,
+ "votes" : 8
+ }
+ },
+ "plot" : "To teach Jim the value of communication, Cheryl doesn't speak to him for three days.",
+ "playcount" : 0,
+ "episode" : 8,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f299411.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E8.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "name" : "Mitch Rouse",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2005-11-15",
+ "label" : "5x09. The Dream",
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 241,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E9.mp4",
+ "specialsortseason" : -1,
+ "plot" : "Jim tries to blackmail Dana when he finds out she’s having erotic dreams about him.",
+ "episode" : 9,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 9
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f301492.jpg/",
+ "votes" : "9",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "seasonid" : 18,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f301492.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Dream",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "301492"
+ },
+ "lastplayed" : ""
+ },
+ {
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Robin Krieger",
+ "role" : ""
+ },
+ {
+ "name" : "Mark Gagliardi",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2ffcRpgjonpH3WmPs0V63g7iP7Dbm.jpg/",
+ "role" : "",
+ "name" : "Linda Hamilton"
+ },
+ {
+ "role" : "",
+ "name" : "Molly Beck Ferguson",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2005-11-29",
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "label" : "5x10. Lean On Me",
+ "showtitle" : "According to Jim",
+ "rating" : 7.69999980926514,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 242,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E10.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f301493.jpg/",
+ "votes" : "11",
+ "plot" : "Cheryl encourages Jim to meet a former girlfriend wants to discuss business for lunch, and then regrets it when she becomes convinced that the old flame has romantic intentions.",
+ "playcount" : 0,
+ "episode" : 10,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 7.69999980926514,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "seasonid" : 18,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f301493.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Lean On Me",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "301493"
+ },
+ "runtime" : 1800,
+ "lastplayed" : ""
+ },
+ {
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 243,
+ "writer" : [
+ "Daniel Egan"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.5,
+ "label" : "5x11. The Gift of Maggie",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Kathleen Noone",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Mitch Rouse",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2005-12-13",
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "301494"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "The Gift of Maggie",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f301494.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 18,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f301494.jpg/",
+ "playcount" : 0,
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.5,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "plot" : "When Cheryl and Dana's mother, Maggie, visits for the holidays, Jim and Cheryl compete with Ryan and Dana for her affection",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E11.mp4"
+ },
+ {
+ "writer" : [
+ "Mitch Hunter",
+ "Jana Hunter"
+ ],
+ "episodeid" : 244,
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "label" : "5x12. Sex Ed Fred",
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "firstaired" : "2006-01-10",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Carol Pawlak",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Doug Cameron",
+ "role" : ""
+ },
+ {
+ "name" : "Jacob Nelson",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Paul Greenburg",
+ "order" : 3
+ },
+ {
+ "name" : "Elijah Runcorn",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "name" : "Laken Romine",
+ "role" : "",
+ "order" : 5
+ },
+ {
+ "role" : "",
+ "name" : "Karen Dyer",
+ "order" : 6
+ },
+ {
+ "role" : "",
+ "name" : "Barry Williams",
+ "order" : 7
+ },
+ {
+ "order" : 8,
+ "role" : "",
+ "name" : "Kari Coleman"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "episode" : 12,
+ "plot" : "When Jim and Cheryl watch an sex education video that is shown at Ruby's school, Jim realizes that he is watching a young him.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.90000009536743,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320678.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E12.mp4",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320678"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "Sex Ed Fred",
+ "seasonid" : 18,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320678.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/"
+ }
+ },
+ {
+ "season" : 5,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 7.5,
+ "episodeid" : 245,
+ "writer" : [
+ "Bob Nickman"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Loudon Wainwright",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Max Lesser"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2006-01-24",
+ "director" : [
+ "James Belushi"
+ ],
+ "label" : "5x13. Renewing Vows",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "320679"
+ },
+ "runtime" : 1800,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320679.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 18,
+ "title" : "Renewing Vows",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E13.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "13",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320679.jpg/",
+ "playcount" : 0,
+ "plot" : "Ruby and Gracie want to get their ears pierced but Cheryl believes that this will lead to the girls growing up too quickly and convinces Jim. Jim and Cheryl renew their wedding vows and Jim walks down the aisle with an earring.",
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "votes" : 13,
+ "default" : true,
+ "rating" : 7.5
+ }
+ }
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Stick",
+ "seasonid" : 18,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320680.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320680"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "episode" : 14,
+ "plot" : "It's Jim's birthday and he gets upset when Cheryl gives him gifts he does not want, but is really happy when Kyle give him a stick for his birthday.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.69999980926514,
+ "votes" : 9
+ }
+ },
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320680.jpg/",
+ "votes" : "9",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E14.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 5,
+ "label" : "5x14. The Stick",
+ "director" : [
+ "Lauren Breiting"
+ ],
+ "cast" : [
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2006-02-07",
+ "writer" : [
+ "John Peaslee",
+ "Judd Pillot"
+ ],
+ "episodeid" : 246,
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E15.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320681.jpg/",
+ "votes" : "10",
+ "playcount" : 0,
+ "episode" : 15,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 8.19999980926514
+ }
+ },
+ "plot" : "Cheryl and Jim get into a disagreement about Erik Estrada, and Jim tries to prove that the incident that occurred ten years ago was not wrong.",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320681.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "seasonid" : 18,
+ "title" : "Mr. Right",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "320681"
+ },
+ "runtime" : 1800,
+ "firstaired" : "2006-02-07",
+ "cast" : [
+ {
+ "name" : "Asante Jones",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Erik Estrada",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Roxanne Beckford",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Scott Michael Morgan",
+ "order" : 3
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "label" : "5x15. Mr. Right",
+ "rating" : 8.19999980926514,
+ "showtitle" : "According to Jim",
+ "episodeid" : 247,
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5
+ },
+ {
+ "label" : "5x16. Get Your Freak On",
+ "firstaired" : "2006-02-21",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Laurel Green",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "writer" : [
+ "Mitch Hunter",
+ "Jana Hunter"
+ ],
+ "episodeid" : 248,
+ "showtitle" : "According to Jim",
+ "rating" : 8.19999980926514,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 5,
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320682.jpg/",
+ "plot" : "Cheryl believes she's attending a tasteful lingerie party, but is shocked to learn the hostess is selling sex toys and Cheryl buys one, but won't tell Jim.",
+ "playcount" : 0,
+ "episode" : 16,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "rating" : 8.19999980926514,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E16.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Get Your Freak On",
+ "seasonid" : 18,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320682.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "320682"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E17.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Jim gets mad when he finds out that his neighbor Julie has been writing children books and basing them about him.",
+ "episode" : 17,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320683.jpg/",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320683"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320683.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 18,
+ "title" : "The Grumpy Guy",
+ "userrating" : 0,
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "episodeid" : 249,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "director" : [
+ "Kimberly Williams-Paisley"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Andrea Mikolajczak"
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Julie Newmar"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2006-02-28",
+ "label" : "5x17. The Grumpy Guy",
+ "season" : 5,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "season" : 5,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 7.59999990463257,
+ "episodeid" : 250,
+ "writer" : [
+ "Wil Fox",
+ "Michael P Fox"
+ ],
+ "cast" : [
+ {
+ "name" : "Jeanne Chin",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "H. Richard Greene",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Jill Holden",
+ "order" : 2
+ },
+ {
+ "name" : "Francoise Gralewski",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2006-03-07",
+ "director" : [
+ "Bob Koherr"
+ ],
+ "label" : "5x18. Polite Jim",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "320684"
+ },
+ "runtime" : 1800,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320684.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 18,
+ "title" : "Polite Jim",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E18.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320684.jpg/",
+ "episode" : 18,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 7.59999990463257
+ }
+ },
+ "plot" : "Jim makes his own neighbour cry with complaining about his backyard barbeque, so he ends up taking polite lessons from Andy, in order to become a better person."
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E19.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320685.jpg/",
+ "votes" : "12",
+ "episode" : 19,
+ "plot" : "Jim believes that Bill (played by Joseph Bologna), the father of one of Rubys and Gracies classmates is actually his real father that abandoned Jim when he was a child.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.80000019073486,
+ "default" : true,
+ "votes" : 12
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "320685"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 18,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320685.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Daddy Dearest",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Tracy Gamble"
+ ],
+ "episodeid" : 251,
+ "firstaired" : "2006-03-07",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Austin Majors",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Chris Barnes"
+ },
+ {
+ "name" : "Caitlin Dulany",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "name" : "Joseph Bologna",
+ "role" : "",
+ "order" : 3
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "label" : "5x19. Daddy Dearest",
+ "season" : 5,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E20.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320686.jpg/",
+ "votes" : "11",
+ "plot" : "Cheryl gives her best to assure herself a spot on the Church Committee, and in order to get that, she forbids Jim to do his annual \"Green Man\" routine on St. Patrick's day. However, her plans are ruined when she gets arrested.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.90000009536743,
+ "votes" : 11
+ }
+ },
+ "episode" : 20,
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "seasonid" : 18,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320686.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Thin Green Line",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "320686"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "firstaired" : "2006-03-14",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jesse Donnelly",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Anne Bellamy"
+ },
+ {
+ "order" : 2,
+ "name" : "Joey Gnoffo",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Siobhan Dunn"
+ },
+ {
+ "name" : "Harley Zumbrum",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "",
+ "name" : "Edmund L. Shaff",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "label" : "5x20. The Thin Green Line",
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Harry Hannigan"
+ ],
+ "episodeid" : 252,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5
+ },
+ {
+ "season" : 5,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 253,
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "5x21. Jim's Best Friend",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jason Stewart",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Max Lesser"
+ },
+ {
+ "role" : "",
+ "name" : "Michael McCarthy",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Robert Belushi"
+ },
+ {
+ "order" : 4,
+ "role" : "",
+ "name" : "Taras Los"
+ },
+ {
+ "role" : "",
+ "name" : "Bruce Jarchow",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "name" : "Sarah Poytner",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2006-03-21",
+ "director" : [
+ "Dennis Capps"
+ ],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "320687"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Jim's Best Friend",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320687.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 18,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320687.jpg/",
+ "votes" : "10",
+ "playcount" : 0,
+ "episode" : 21,
+ "plot" : "When Andy stars playing chess with Ryan on a regular basis, Jim is convinced that he is losing his best friend.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.80000019073486,
+ "votes" : 10
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E21.mp4"
+ },
+ {
+ "seasonid" : 18,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320688.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Belaboring the Point",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320688"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 5/S5E22.mp4",
+ "plot" : "When a proud and happy Ryan announces that Dana is pregnant, Jim warns him of Dana's upcoming hormone swings, and ends up dreaming that he is pregnant.",
+ "playcount" : 0,
+ "episode" : 22,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "rating" : 8.30000019073486,
+ "default" : true
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320688.jpg/",
+ "votes" : "8",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 5,
+ "director" : [
+ "Bob Koherr"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Marc Evan Jackson",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f739YCwcRkcTnbyCHD0Qo526bTrG.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Sue Nelson"
+ },
+ {
+ "order" : 2,
+ "name" : "Katrina Lenk",
+ "role" : ""
+ },
+ {
+ "name" : "Charlie Hartsock",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx8P9MAClyW4pAGdB1RndzUxDtne.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2006-05-02",
+ "label" : "5x22. Belaboring the Point",
+ "showtitle" : "According to Jim",
+ "rating" : 8.30000019073486,
+ "writer" : [
+ "Howard J. Morris"
+ ],
+ "episodeid" : 254
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Punch",
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320689.jpg/"
+ },
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320689"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "playcount" : 0,
+ "episode" : 1,
+ "plot" : "Jim realizes that Cheryl has been spoiling their son Kyle for way too long, so he decides to make him a man by teaching him how to throw a perfect punch in self defense. However, things get out of control when little Kyle gets suspended for repeatedly hitting the school bully.",
+ "ratings" : {
+ "default" : {
+ "rating" : 7.80000019073486,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320689.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E1.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 6,
+ "label" : "6x01. The Punch",
+ "director" : [
+ "James Widdoes"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Tammy Townsend"
+ },
+ {
+ "role" : "",
+ "name" : "Bree Pavey",
+ "order" : 1
+ },
+ {
+ "name" : "Marc Musso",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2007-01-03",
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "episodeid" : 255,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim"
+ },
+ {
+ "season" : 6,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 8.39999961853027,
+ "episodeid" : 256,
+ "writer" : [
+ "Ron Hart",
+ "John D. Beck"
+ ],
+ "director" : [
+ "James Widdoes"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Mitch Rouse",
+ "order" : 0
+ },
+ {
+ "name" : "Gillian Vigman",
+ "role" : "",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2f2uwR6JalWrZWZq3NhL7CdDlDKhL.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Matt Braaten"
+ },
+ {
+ "role" : "",
+ "name" : "Tanjareen Martin",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Nikki Boyer",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2007-01-03",
+ "label" : "6x02. The Flannelsexual",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320690"
+ },
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320690.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 19,
+ "title" : "The Flannelsexual",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E2.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 2,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.39999961853027,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "plot" : "Jim ends up on a talk show after claiming that men shouldn't let women feminize them, and then goes to Dana's co-ed baby shower to prove his point.",
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320690.jpg/",
+ "votes" : "9"
+ },
+ {
+ "plot" : "When the family pet guinea pig swallows an eraser, Jim is forced to pay for an expensive operation.",
+ "episode" : 3,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320691.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E3.mp4",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Guinea Pygmalion",
+ "seasonid" : 19,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320691.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320691"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "label" : "6x03. Guinea Pygmalion",
+ "director" : [
+ "James Widdoes"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Barbara Stevens",
+ "role" : ""
+ },
+ {
+ "name" : "Maribeth Monroe",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Bruce Jarchow",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Byron McIntyre"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2007-01-10",
+ "writer" : [
+ "John Peaslee",
+ "Judd Pillot"
+ ],
+ "episodeid" : 257,
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 6
+ },
+ {
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320692.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Hoosier Daddy",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320692"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E4.mp4",
+ "episode" : 4,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.80000019073486,
+ "votes" : 11
+ }
+ },
+ "plot" : "Cheryl and Jim go to a motel in Indiana to celebrate their fifteenth wedding anniversary, but Dana's possible labor and a tornado interfere.",
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320692.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 6,
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Louella Boquiren"
+ },
+ {
+ "order" : 1,
+ "name" : "Tim Meadows",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2007-01-10",
+ "label" : "6x04. Hoosier Daddy",
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "John Peaslee",
+ "Judd Pillot"
+ ],
+ "episodeid" : 258
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E5.mp4",
+ "plot" : "When Cheryl's beloved Uncle Donald dies, Jim takes over housekeeping, but soon starts to suspect that Cheryl is using him.",
+ "playcount" : 0,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.39999961853027,
+ "votes" : 10
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320693.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320693"
+ },
+ "lastplayed" : "",
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320693.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Good Grief",
+ "rating" : 8.39999961853027,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "John Peaslee",
+ "Judd Pillot"
+ ],
+ "episodeid" : 259,
+ "director" : [
+ "James Belushi"
+ ],
+ "firstaired" : "2007-01-17",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "label" : "6x05. Good Grief",
+ "season" : 6,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "episodeid" : 260,
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "label" : "6x06. All the Rage",
+ "director" : [
+ "Dennis Capps"
+ ],
+ "firstaired" : "2007-01-17",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "David Atkinson",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Kevin McDonald"
+ },
+ {
+ "name" : "Bill Fagerbakke",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Terrance Christopher Jones"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "season" : 6,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "plot" : "Cheryl persuades Jim to attend an anger-management class, but he soon learns that getting mad isn't as much fun as getting even.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "rating" : 7.90000009536743,
+ "default" : true
+ }
+ },
+ "episode" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320694.jpg/",
+ "votes" : "12",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E6.mp4",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320694"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "All the Rage",
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320694.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ }
+ },
+ {
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Daniel Egan"
+ ],
+ "episodeid" : 261,
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Mitch Rouse",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2007-01-24",
+ "director" : [
+ "James Widdoes"
+ ],
+ "label" : "6x07. Cheryl Gone Wild",
+ "season" : 6,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E7.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320695.jpg/",
+ "votes" : "10",
+ "plot" : "Andy, Ryan and Jim are stunned when they find out that Dana and Cheryl recently appeared in a Chicks Gone Wild video.",
+ "episode" : 7,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "320695"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320695.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Cheryl Gone Wild"
+ },
+ {
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320696.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 19,
+ "title" : "Deliverance",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "320696"
+ },
+ "runtime" : 1800,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E8.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320696.jpg/",
+ "votes" : "9",
+ "plot" : "When Dana gets into premature labor, and Ryan isn't able to come and deliver the baby because he is delivering a celebrity's baby, Jim has to be the one to deliver Dana's baby.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.39999961853027,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "episode" : 8,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 6,
+ "firstaired" : "2007-01-31",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Alex Endeshaw",
+ "role" : ""
+ },
+ {
+ "name" : "Mitch Rouse",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "James Widdoes"
+ ],
+ "label" : "6x08. Deliverance",
+ "showtitle" : "According to Jim",
+ "rating" : 8.39999961853027,
+ "episodeid" : 262,
+ "writer" : [
+ "Hayes Jackson"
+ ]
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 8,
+ "default" : true
+ }
+ },
+ "plot" : "When Cheryl and Dana allow Jim and Ryan to take care of the kids and baby Tanner while they are out, things get out of control. Jim takes everyone to the museum and everything goes great until the Tyrannosaurus Rex display ends up destroyed.",
+ "playcount" : 0,
+ "episode" : 9,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320697.jpg/",
+ "votes" : "10",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E9.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "Dino-Mite",
+ "userrating" : 0,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320697.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 19,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320697"
+ },
+ "tvshowid" : 4,
+ "label" : "6x09. Dino-Mite",
+ "director" : [
+ "James Widdoes"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Mitch Rouse",
+ "order" : 0
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2007-02-28",
+ "episodeid" : 263,
+ "writer" : [
+ "Hayes Jackson"
+ ],
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 6
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "320698"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Separate Ways",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320698.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 19,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320698.jpg/",
+ "plot" : "While Ryan is away, Dana and baby Tanner are staying at Jim and Cheryl's, until Jim starts complaining about the presence of the baby, so Cheryl wants him to stay at Andy's for a while. While Jim and Andy enjoy their male bonding, Cheryl and Dana are enjoying their time together too. At least, until Ryan returns.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 8.5,
+ "default" : true
+ }
+ },
+ "episode" : 10,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E10.mp4",
+ "specialsortseason" : -1,
+ "season" : 6,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 264,
+ "writer" : [
+ "Warren Bell"
+ ],
+ "rating" : 8.5,
+ "showtitle" : "According to Jim",
+ "label" : "6x10. Separate Ways",
+ "cast" : [
+ {
+ "name" : "Tara Strong",
+ "role" : "",
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2ffantasy%2f.actors%2fTara_Strong.jpg/"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2007-03-07",
+ "director" : [
+ "James Widdoes"
+ ]
+ },
+ {
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "320699"
+ },
+ "lastplayed" : "",
+ "seasonid" : 19,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320699.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "In Case of Jimergency",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E11.mp4",
+ "plot" : "After an argument with a claims representative about his bill, Jim's health insurance is canceled, and Jim decides to hide the truth from Cheryl, until she ends up sick and he gets her cold.",
+ "playcount" : 0,
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.30000019073486,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f320699.jpg/",
+ "votes" : "9",
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 6,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 8.30000019073486,
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "episodeid" : 265,
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "cast" : [
+ {
+ "name" : "Cleo King",
+ "role" : "",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCleo_King.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2007-03-14",
+ "label" : "6x11. In Case of Jimergency"
+ },
+ {
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f326682.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 19,
+ "title" : "Coach Jim",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "326682"
+ },
+ "runtime" : 1800,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E12.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f326682.jpg/",
+ "votes" : "11",
+ "plot" : "Jim decides to toughen up his daughters basketball team and soon turns them from sweet and peaceful to an angry and aggressive basketball team.",
+ "episode" : 12,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.30000019073486,
+ "votes" : 11
+ }
+ },
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 6,
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Jamison Belushi",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Courtney Taylor Burness"
+ },
+ {
+ "name" : "Meagan Fay",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2007-03-28",
+ "director" : [
+ "James Widdoes"
+ ],
+ "label" : "6x12. Coach Jim",
+ "showtitle" : "According to Jim",
+ "rating" : 8.30000019073486,
+ "episodeid" : 266,
+ "writer" : [
+ "Sylvia Green"
+ ]
+ },
+ {
+ "label" : "6x13. At-Bat",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Mitch Rouse"
+ },
+ {
+ "name" : "Jamison Belushi",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "name" : "Jesse Donnelly",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Robert Belushi"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2007-04-04",
+ "director" : [
+ "James Belushi"
+ ],
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 267,
+ "rating" : 8.39999961853027,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342707.jpg/",
+ "votes" : "10",
+ "episode" : 13,
+ "plot" : "Jim's bad softball game advice to Kyle turns to be Jim's worst nightmare when an Ghost of Andy visits him to show him the Adult Kyle's life as a loser.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 8.39999961853027
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E13.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "At-Bat",
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342707.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "342707"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "seasonid" : 19,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342708.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "What Lies Beneath",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "342708"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E14.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342708.jpg/",
+ "votes" : "11",
+ "plot" : "Andy's new metal detector uncovers Jim's long-lost wedding ring, which causes headaches to Jim, because he bought a fake wedding ring as a replacement a long time ago so Cheryl wouldn't notice he lost it.",
+ "playcount" : 0,
+ "episode" : 14,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.80000019073486,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 6,
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Jamison Belushi",
+ "order" : 0
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2007-04-18",
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "label" : "6x14. What Lies Beneath",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 268
+ },
+ {
+ "season" : 6,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [
+ "Christopher J. Nowak"
+ ],
+ "episodeid" : 269,
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "label" : "6x15. The Grill II",
+ "director" : [
+ "Dennis Capps"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Taras Los",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fGeorge_Takei.jpg/",
+ "order" : 1,
+ "name" : "George Takei",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "name" : "Siobhan Dunn",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2007-04-25",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "342709"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Grill II",
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342709.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "plot" : "Andy and Jim end up in a war after Andy tries to sell him a grill that Jim gave him a few years ago.",
+ "episode" : 15,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 8.10000038146973
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342709.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E15.mp4"
+ },
+ {
+ "episodeid" : 270,
+ "writer" : [
+ "Ron Hart",
+ "John D. Beck"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.19999980926514,
+ "label" : "6x16. Devlin in Disguise",
+ "firstaired" : "2007-05-02",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fb59DN25UqjxOLHVBFLMtbiOwn0W.jpg/",
+ "order" : 0,
+ "name" : "Cynthia Stevenson",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2feijzmkkXb4NstAdvpMZ1m91cRxY.jpg/",
+ "order" : 1,
+ "name" : "Tim Bagley",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "season" : 6,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342710.jpg/",
+ "votes" : "9",
+ "plot" : "After Tim and Cindy Devlin's sudden divorce announcement, Andy starts spending time with Cindy, which turns into a relationship, and an urge for Cheryl and Jim to break them up.",
+ "episode" : 16,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.19999980926514,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E16.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "342710"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Devlin in Disguise",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342710.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 19
+ },
+ {
+ "season" : 6,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 8.10000038146973,
+ "writer" : [
+ "Daniel Egan"
+ ],
+ "episodeid" : 271,
+ "director" : [
+ "Kimberly Williams-Paisley"
+ ],
+ "cast" : [
+ {
+ "name" : "Danielle Burgio",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Patrick Fischler",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx8P9MAClyW4pAGdB1RndzUxDtne.jpg/",
+ "order" : 2,
+ "role" : "",
+ "name" : "Charlie Hartsock"
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Phil LaMarr"
+ },
+ {
+ "name" : "Hunter Maats",
+ "role" : "",
+ "order" : 4
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2007-05-09",
+ "label" : "6x17. Any Man of Mine",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "342711"
+ },
+ "lastplayed" : "",
+ "seasonid" : 19,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342711.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Any Man of Mine",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E17.mp4",
+ "plot" : "In order to avoid attending another musical with Cheryl, Jim finds a gay man to accompany her.",
+ "playcount" : 0,
+ "episode" : 17,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.10000038146973,
+ "votes" : 11
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342711.jpg/",
+ "votes" : "11",
+ "dateadded" : "2016-08-26 09:16:59"
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 6/S6E18.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "episode" : 18,
+ "plot" : "Cheryl throws Jim an unwanted surprise party for his 50th birthday, which Jim then sabotages, and then later reveals the real reason why he won't celebrate his birthday.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 10
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342712.jpg/",
+ "votes" : "10",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "342712"
+ },
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f342712.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 19,
+ "title" : "Jim's Birthday",
+ "userrating" : 0,
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "episodeid" : 272,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "director" : [
+ "James Widdoes"
+ ],
+ "firstaired" : "2007-05-16",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Elijah Runcorn"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx8P9MAClyW4pAGdB1RndzUxDtne.jpg/",
+ "name" : "Charlie Hartsock",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "label" : "6x18. Jim's Birthday",
+ "season" : 6,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "season" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 273,
+ "writer" : [
+ "Ron Hart",
+ "John D. Beck"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "label" : "7x01. Jim Almighty",
+ "firstaired" : "2008-01-01",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Lee Majors"
+ },
+ {
+ "role" : "",
+ "name" : "Maribeth Monroe",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "347165"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Jim Almighty",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347165.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "seasonid" : 20,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347165.jpg/",
+ "votes" : "12",
+ "plot" : "Crazed about the fact that Cheryl joined a dinner party club, Jim insults the very creator of women, God, who then gives Jim the power to try to do a better job, but Jim ends up making women behave like Jim would. Also, when Andy tries to make guys more like women, he turns himself and Jim into oversensitive girly guys.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8,
+ "default" : true,
+ "votes" : 12
+ }
+ },
+ "episode" : 1,
+ "playcount" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E1.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "episodeid" : 274,
+ "writer" : [
+ "David Feeney"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "label" : "7x02. The Hot Wife",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Adam Ray",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Marc Worden",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Meredith Giancrande",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2008-01-01",
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "season" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347166.jpg/",
+ "votes" : "11",
+ "episode" : 2,
+ "playcount" : 0,
+ "plot" : "Cheryl feels down when she can't use her sexuality to get a dinner table at a restaurant, so Jim tries to cheer her up by writing letter as a 'water delivery guy', but his plan soon makes Jim doubt if Cheryl is attracted to him or the delivery guy.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 11
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E2.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "347166"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "The Hot Wife",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347166.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "347239"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Safety Last",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347239.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347239.jpg/",
+ "votes" : "10",
+ "plot" : "When Cheryl takes a greater interest in general safety and health, Jim feels stifled by her new rules and regulations. Just after Cheryl forces Jim to wear an I.D. badge during his morning jog, Jim is head-butted by a bull on a side road. While Cheryl learns that one can't anticipate every danger out there, Jim realizes that he's willing to do whatever it takes to make his family feel secure.",
+ "playcount" : 0,
+ "episode" : 3,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.69999980926514,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E3.mp4",
+ "specialsortseason" : -1,
+ "season" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 275,
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "label" : "7x03. Safety Last",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Bruce Jarchow"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2008-01-08",
+ "director" : [
+ "Leonard R. Garner Jr."
+ ]
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 7,
+ "cast" : [
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2008-01-15",
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "label" : "7x04. The Perfect Fight",
+ "rating" : 8,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 276,
+ "seasonid" : 20,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347240.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Perfect Fight",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "347240"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E4.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f347240.jpg/",
+ "votes" : "10",
+ "plot" : "Cheryl and Jim have an evening at home without the kids and decide to stay in and just have dessert for dinner. But Jim's choice of pastries causes a spat which morphs into an all-out food fight. The next day they laugh off the night's argument; Jim is thrilled that they don't seem to have to talk things out. But then Andy, who's out for revenge on Jim for coaxing his kids to play pranks on him, counsels Cheryl to really dissect and analyze her marital arguments.",
+ "playcount" : 0,
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ }
+ },
+ {
+ "showtitle" : "According to Jim",
+ "rating" : 8.19999980926514,
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 277,
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Mary Gross",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Meagen Fay",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "name" : "Maribeth Monroe",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2008-01-22",
+ "label" : "7x05. Cheryl Goes to Florida",
+ "season" : 7,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E5.mp4",
+ "plot" : "While Cheryl is out of town to take care of her mother, Jim has to take care of their kids, and he receives sympathy from a neighborhood mom. Soon, other moms start helping Jim, and he tells each one that she's the only help in the house.",
+ "playcount" : 0,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.19999980926514,
+ "default" : true,
+ "votes" : 9
+ }
+ },
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f349693.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "349693"
+ },
+ "lastplayed" : "",
+ "seasonid" : 20,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f349693.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Cheryl Goes to Florida"
+ },
+ {
+ "episodeid" : 278,
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "label" : "7x06. Ruby's First Date",
+ "director" : [
+ "Kimberly Williams-Paisley"
+ ],
+ "firstaired" : "2008-01-29",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Tom Maden",
+ "order" : 0
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "season" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "While Cheryl is still out of town, Jim is having hard time dealing with Ruby's girl problems, so he assigns Dana to help her. However, when Dana tells Ruby to go out on a date with an older guy, Jim if forced to intervene, as he, Dana and Andy end up following Ruby to her date.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "episode" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f349694.jpg/",
+ "votes" : "11",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E6.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "349694"
+ },
+ "tvshowid" : 4,
+ "title" : "Ruby's First Date",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f349694.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 7,
+ "label" : "7x07. Period Peace",
+ "cast" : [
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2008-02-05",
+ "director" : [
+ "Leonard R. Garner Jr."
+ ],
+ "episodeid" : 279,
+ "writer" : [
+ "Mike Murphy",
+ "John Schwab"
+ ],
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "title" : "Period Peace",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f349695.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "seasonid" : 20,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "349695"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f349695.jpg/",
+ "votes" : "10",
+ "episode" : 7,
+ "plot" : "When Ruby and Gracie can't seem to stop fighting, Jim is \"forced\" to read their diaries to determine the cause, only to realize that he needs to give out delicate motherly advice to them, while Cheryl is still away.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.80000019073486,
+ "votes" : 10
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E7.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "label" : "7x08. The Rendezvous",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fiireVGPzHjKgscjktAC9MGGcoSA.jpg/",
+ "name" : "Ian Gomez",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Molly Erdman"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2008-02-19",
+ "director" : [
+ "James Belushi"
+ ],
+ "episodeid" : 280,
+ "writer" : [
+ "Ron Hart"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.90000009536743,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 7,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f352876.jpg/",
+ "playcount" : 0,
+ "plot" : "When Cheryl returns home for a visit the kids end up occupying her time, so Jim decides to prepare a special date with her at the airport lounge, only to end up mistakenly arrested.",
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "episode" : 8,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E8.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "The Rendezvous",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f352876.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "352876"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "352877"
+ },
+ "tvshowid" : 4,
+ "title" : "Goodwill Hunting",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f352877.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "seasonid" : 20,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "episode" : 9,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "rating" : 8.19999980926514,
+ "default" : true
+ }
+ },
+ "plot" : "Without consulting with Cheryl, Jim transforms the garage into a cigar lounge and donates the kids' old clothes and furniture to charity. When Cheryl informs Jim that she is pregnant with twins, he is forced to retrieve all the stuff that he gave away, and has to deal with the fact that he is going to be a father of five.",
+ "votes" : "12",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f352877.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E9.mp4",
+ "specialsortseason" : -1,
+ "season" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 281,
+ "writer" : [
+ "Jim Keily"
+ ],
+ "rating" : 8.19999980926514,
+ "showtitle" : "According to Jim",
+ "label" : "7x09. Goodwill Hunting",
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "firstaired" : "2008-02-26",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Bruce Jarchow",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ]
+ },
+ {
+ "label" : "7x10. All Dolled Up",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fBeth_Grant.jpg/",
+ "role" : "",
+ "name" : "Beth Grant"
+ },
+ {
+ "role" : "",
+ "name" : "Courtney Taylor Burness",
+ "order" : 1
+ },
+ {
+ "name" : "Jamison Belushi",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2008-03-04",
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "writer" : [
+ "Judd Pillot",
+ "John Peaslee"
+ ],
+ "episodeid" : 282,
+ "showtitle" : "According to Jim",
+ "rating" : 8.19999980926514,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 7,
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f352878.jpg/",
+ "plot" : "Jim is forced organize a doll-themed party for Gracie while Cheryl is on bed rest, but when Gracie admits that the only reason she agreed to the party was because she wanted to please her mother, Jim decides to turn the party into something totally else.",
+ "episode" : 10,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "default" : true,
+ "rating" : 8.19999980926514
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E10.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "All Dolled Up",
+ "seasonid" : 20,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f352878.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "352878"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "label" : "7x11. Pregnancy Brain",
+ "firstaired" : "2008-03-11",
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "writer" : [
+ "Hayes Jackson"
+ ],
+ "episodeid" : 283,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 7,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f353956.jpg/",
+ "votes" : "9",
+ "episode" : 11,
+ "playcount" : 0,
+ "plot" : "Jim finds a way to use Cheryl's forgetfulness (a.k.a. \"the pregnancy brain\") to his advantage by trying to convince her that it was her idea to turn the basement into a media room instead of a room for Ruby and Gracie.",
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E11.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Pregnancy Brain",
+ "seasonid" : 20,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f353956.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "353956"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4
+ },
+ {
+ "cast" : [
+ {
+ "name" : "Jim Ward",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Bob Levitan"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2008-04-15",
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "label" : "7x12. The Gift Certificate",
+ "showtitle" : "According to Jim",
+ "rating" : 8.19999980926514,
+ "episodeid" : 284,
+ "writer" : [
+ "Sung Suh"
+ ],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 7,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E12.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360349.jpg/",
+ "playcount" : 0,
+ "plot" : "Realizing that Andy didn't use the gift certificate that Jim gave him for his birthday, Jim decides to use the certificate to treat himself with a nice meal, but soon Jim finds himself in an uncomfortable situation when Andy remembers the certificate and decides to invite Jim to join him for a meal.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.19999980926514,
+ "default" : true,
+ "votes" : 11
+ }
+ },
+ "episode" : 12,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360349.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20,
+ "title" : "The Gift Certificate",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "360349"
+ },
+ "runtime" : 1800
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 7,
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Cole Sprouse"
+ },
+ {
+ "order" : 1,
+ "name" : "Dylan Sprouse",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2008-04-22",
+ "director" : [
+ "Dennis Capps"
+ ],
+ "label" : "7x13. I Drink Your Milkshake",
+ "showtitle" : "According to Jim",
+ "rating" : 8.19999980926514,
+ "episodeid" : 285,
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360350.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20,
+ "title" : "I Drink Your Milkshake",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "360350"
+ },
+ "runtime" : 1800,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E13.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360350.jpg/",
+ "votes" : "11",
+ "playcount" : 0,
+ "plot" : "Jim makes a rule he believes to be the perfect cure for children's fights, but when he enters a discussion with Andy, the both end up on the same \"tribunal system,\" fighting to prove who's right.",
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "default" : true,
+ "rating" : 8.19999980926514
+ }
+ },
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360351.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20,
+ "title" : "The Chaperone",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "360351"
+ },
+ "runtime" : 1800,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E14.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360351.jpg/",
+ "votes" : "10",
+ "plot" : "Andy finally meets the perfect girl, but things get rough when he lets Jim babysit the woman's daughters, who then end up missing while Andy is having dinner with Emily.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "default" : true,
+ "rating" : 7.90000009536743
+ }
+ },
+ "episode" : 14,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 7,
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Veronica Louise Dunne",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faxqOCxr8AGLSkwBwxjS5bRF8e3t.jpg/",
+ "name" : "Mo Collins",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Savannah Stehlin"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2008-04-29",
+ "director" : [
+ "James Belushi"
+ ],
+ "label" : "7x14. The Chaperone",
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "episodeid" : 286,
+ "writer" : [
+ "Christopher J. Nowak",
+ "Warren Bell"
+ ]
+ },
+ {
+ "uniqueid" : {
+ "unknown" : "360352"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Six-Week Curse",
+ "seasonid" : 20,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360352.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360352.jpg/",
+ "votes" : "11",
+ "episode" : 15,
+ "plot" : "Dana puts Andy under hypnosis to learn why all of his relationships don't last longer than six weeks. Upon learning that it's due to Andy's low self-esteem, Dana decides to boost up Andy's confidence, but she ends up making things worse when Andy starts flirting with other women while on a date with Emily.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 11,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E15.mp4",
+ "season" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 287,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "7x15. The Six-Week Curse",
+ "cast" : [
+ {
+ "name" : "Betsy Rue",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Candace Kita",
+ "role" : ""
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faxqOCxr8AGLSkwBwxjS5bRF8e3t.jpg/",
+ "order" : 2,
+ "name" : "Mo Collins",
+ "role" : ""
+ },
+ {
+ "order" : 3,
+ "role" : "",
+ "name" : "Buckley Sampson"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2008-05-13",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ]
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360353.jpg/",
+ "plot" : "Cheryl insists on playing a game that she somehow always wins, but Dana is aware of the fact that Cheryl is cheating.",
+ "episode" : 16,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 8.30000019073486,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E16.mp4",
+ "uniqueid" : {
+ "unknown" : "360353"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Cheater",
+ "seasonid" : 20,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360353.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [
+ "Judd Pillot",
+ "John Peaslee"
+ ],
+ "episodeid" : 288,
+ "rating" : 8.30000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "7x16. The Cheater",
+ "firstaired" : "2008-05-13",
+ "cast" : [
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "season" : 7,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "rating" : 7.90000009536743,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "David Feeney"
+ ],
+ "episodeid" : 289,
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Jim Ward"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2008-05-27",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "label" : "7x17. No Bedrest for the Wicked",
+ "season" : 7,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E17.mp4",
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360354.jpg/",
+ "plot" : "Jim anxiously awaits for the moment when Cheryl is off bedrest so she'd take over all the chores, but Dana urges him to let Cheryl rest until she goes into labor. After meeting Cheryl's gynecologist, Jim learns that Cheryl was already allowed to be more active, but she didn't tell him.",
+ "episode" : 17,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.90000009536743,
+ "votes" : 11
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "360354"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 20,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360354.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "No Bedrest for the Wicked"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 7/S7E18.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360355.jpg/",
+ "episode" : 18,
+ "plot" : "The Devil himself visits Jim to remind him of the deal they made years ago, when Jim promised to give away his fifth child if the Devil helped him win over Cheryl.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8.39999961853027,
+ "votes" : 11
+ }
+ },
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f360355.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 20,
+ "title" : "The Devil Went Down to Oak Park",
+ "userrating" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "360355"
+ },
+ "runtime" : 1800,
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "James Lipton"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2008-05-27",
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "label" : "7x18. The Devil Went Down to Oak Park",
+ "showtitle" : "According to Jim",
+ "rating" : 8.39999961853027,
+ "episodeid" : 290,
+ "writer" : [
+ "Warren Bell",
+ "Christopher J. Nowak"
+ ],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 7
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 8,
+ "firstaired" : "2008-12-02",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "label" : "8x01. The Blankie",
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Sung Suh"
+ ],
+ "episodeid" : 291,
+ "seasonid" : 21,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412150.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Blankie",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "412150"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E1.mp4",
+ "votes" : "12",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412150.jpg/",
+ "episode" : 1,
+ "plot" : "Jim guilts the older kids into doing household chores after Jonathan's special blanket goes missing.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 7.69999980926514,
+ "default" : true,
+ "votes" : 12
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "rating" : 7.5,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Judd Pillot",
+ "John Peaslee"
+ ],
+ "episodeid" : 292,
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faxqOCxr8AGLSkwBwxjS5bRF8e3t.jpg/",
+ "name" : "Mo Collins",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2008-12-02",
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "label" : "8x02. The New Best Friend",
+ "season" : 8,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E2.mp4",
+ "votes" : "12",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412151.jpg/",
+ "plot" : "When Dana, Cheryl's sister and best friend, moves away, Jim realizes he must find Cheryl a new friend as soon as possible.",
+ "episode" : 2,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 12,
+ "default" : true,
+ "rating" : 7.5
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "412151"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 21,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412151.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The New Best Friend"
+ },
+ {
+ "seasonid" : 21,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412153.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Jami Mcfame",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "412153"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E3.mp4",
+ "ratings" : {
+ "default" : {
+ "votes" : 10,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "episode" : 3,
+ "plot" : "Jim and his band win a chance to play for a child pop sensation Jami McFame, but when the star gives them an attitude, Jim decides to set her straight.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412153.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 8,
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "name" : "Andrea Bendewald",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "name" : "Jamison Belushi",
+ "role" : ""
+ },
+ {
+ "name" : "Tony Braunagel",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "role" : "",
+ "name" : "Charlie Hartsock",
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fx8P9MAClyW4pAGdB1RndzUxDtne.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "",
+ "name" : "John Rubano",
+ "order" : 4
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2008-12-09",
+ "label" : "8x03. Jami Mcfame",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Sung Suh"
+ ],
+ "episodeid" : 293
+ },
+ {
+ "director" : [
+ "James Belushi"
+ ],
+ "firstaired" : "2008-12-09",
+ "cast" : [
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2faxqOCxr8AGLSkwBwxjS5bRF8e3t.jpg/",
+ "name" : "Mo Collins",
+ "role" : ""
+ },
+ {
+ "role" : "",
+ "name" : "Jere Burns",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "label" : "8x04. Andy's Proposal",
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Warren Bell",
+ "Christopher J. Nowak"
+ ],
+ "episodeid" : 294,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 8,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E4.mp4",
+ "specialsortseason" : -1,
+ "plot" : "Jim urges Andy to propose to Emily or risk losing her, but when he sees Emily dining with another man, he doubts the wisdom of his advice.",
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.59999990463257,
+ "votes" : 11
+ }
+ },
+ "playcount" : 0,
+ "votes" : "11",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412152.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "seasonid" : 21,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412152.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Andy's Proposal",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "412152"
+ },
+ "lastplayed" : ""
+ },
+ {
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "412154"
+ },
+ "lastplayed" : "",
+ "seasonid" : 21,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412154.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Two For The Money",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E5.mp4",
+ "plot" : "When Cheryl learns of Jim's plan to use their twins in a movie starring Steve Guttenberg to get some money for Christmas gifts, she refuses to let him do it, but Andy and Jim decide to go through with the plan anyway, only to have it backfire when the producers cut the kids hair to make them look alike.",
+ "playcount" : 0,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 7,
+ "rating" : 7.69999980926514,
+ "default" : true
+ }
+ },
+ "votes" : "7",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f412154.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 8,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 7.69999980926514,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 295,
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Steve Guttenberg",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2008-12-16",
+ "label" : "8x05. Two For The Money"
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E6.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "episode" : 6,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.59999990463257,
+ "votes" : 9
+ }
+ },
+ "plot" : "Jim looks forward to a \"guys only\" weekend with Andy, but when Andy ends up dumped by Emily over a text message and when the guys stumble upon Emily's depressed ex husband, Jim decides to do his best to cheer up the guys and save what's left of their weekend.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f416277.jpg/",
+ "votes" : "9",
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "416277"
+ },
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f416277.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 21,
+ "title" : "Cabin Boys",
+ "userrating" : 0,
+ "rating" : 7.59999990463257,
+ "showtitle" : "According to Jim",
+ "episodeid" : 296,
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Jere Burns",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Dot Jones",
+ "order" : 1
+ },
+ {
+ "name" : "Diane Delano",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2008-12-30",
+ "label" : "8x06. Cabin Boys",
+ "season" : 8,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "title" : "The Ego Boost",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f416278.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "seasonid" : 21,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "416278"
+ },
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "plot" : "Jim is convinced that an old flame wants to get back with him until he realizes that she wants to hook up with Andy, leaving Jim with a bruised ego.",
+ "episode" : 7,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.59999990463257,
+ "votes" : 10
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f416278.jpg/",
+ "votes" : "10",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E7.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 8,
+ "label" : "8x07. The Ego Boost",
+ "director" : [
+ "James Belushi"
+ ],
+ "firstaired" : "2009-04-14",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Constance Marie",
+ "order" : 0
+ },
+ {
+ "name" : "Jennifer Candy",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "episodeid" : 297,
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 7.59999990463257
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:59",
+ "plot" : "Jim becomes intrigued by Cheryl's raving about a yoga teacher so he decides to try out the class, only to end up impressed by the teacher. Both Jim and Cheryl end up taking separate private classes to relax from their busy family life.",
+ "playcount" : 0,
+ "episode" : 8,
+ "ratings" : {
+ "default" : {
+ "rating" : 8.10000038146973,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537871.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E8.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "The Yoga Bear",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537871.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 21,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "537871"
+ },
+ "tvshowid" : 4,
+ "label" : "8x08. The Yoga Bear",
+ "director" : [
+ "Penny Marshall"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Patrick Fabian",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2009-04-14",
+ "episodeid" : 298,
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "rating" : 8.10000038146973,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 8
+ },
+ {
+ "rating" : 8.10000038146973,
+ "showtitle" : "According to Jim",
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 299,
+ "director" : [
+ "James Belushi"
+ ],
+ "cast" : [
+ {
+ "name" : "Jackie Debatin",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0,
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "firstaired" : "2009-04-21",
+ "label" : "8x09. Kyle's Crush",
+ "season" : 8,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E9.mp4",
+ "specialsortseason" : -1,
+ "episode" : 9,
+ "plot" : "Jim prepares Kyle for his first \"date\" with Ruby's slightly older piano teacher, Mandy, whom Andy has fallen for and is secretly dating behind Kyle's back.",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.10000038146973,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537881.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "537881"
+ },
+ "lastplayed" : "",
+ "seasonid" : 21,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537881.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Kyle's Crush"
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "playcount" : 0,
+ "plot" : "Andy, desperate to impress Mandy with the perfect birthday gift, turns to Jim for advice. Jim counsels against givivng fancy jewelry, urging Andy instead to give a sentimental gift to win her over. But Andy's recollection of what has meaning to Mandy is way off base, and instead of being pleased with the gift, she thinks he's cheating on her.",
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 8.5
+ }
+ },
+ "episode" : 10,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537891.jpg/",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E10.mp4",
+ "specialsortseason" : -1,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "537891"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "userrating" : 0,
+ "title" : "The Meaningful Gift",
+ "seasonid" : 21,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537891.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 300,
+ "rating" : 8.5,
+ "showtitle" : "According to Jim",
+ "label" : "8x10. The Meaningful Gift",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Jackie Debatin"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "name" : "Taylor Atelian",
+ "role" : "Ruby"
+ },
+ {
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "role" : "Gracie",
+ "name" : "Billi Bruno",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "firstaired" : "2009-04-21",
+ "season" : 8,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "showtitle" : "According to Jim",
+ "rating" : 8.30000019073486,
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 301,
+ "firstaired" : "2009-04-28",
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "Robert Belushi",
+ "order" : 0
+ },
+ {
+ "role" : "",
+ "name" : "Harry Hannigan",
+ "order" : 1
+ },
+ {
+ "name" : "Rachel Sondag",
+ "role" : "",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Madison Dirks",
+ "role" : ""
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "role" : "Kyle",
+ "name" : "Conner Rayburn",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/"
+ }
+ ],
+ "director" : [
+ "Steve Zuckerman"
+ ],
+ "label" : "8x11. The Daddy Way",
+ "season" : 8,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E11.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537901.jpg/",
+ "votes" : "9",
+ "episode" : 11,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 8.30000019073486
+ }
+ },
+ "plot" : "Cheryl and her friends, eager to get an afternoon away from the kids, arrange a \"Daddy and Me\" group for Jim and other dads with young kids at their home. Jim makes the best of a potentially boring situation by turning babysitting into a sporting event--staging baby races where the dads bet on their kids and drink beer.",
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "537901"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 21,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537901.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Daddy Way"
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "537911"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 4,
+ "title" : "Physical Therapy",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537911.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "seasonid" : 21,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537911.jpg/",
+ "plot" : "Andy ends up injured after playing snow football with Jim, so Jim helps Andy make it seem like he had a freak accident because Andy was previously warned by his girlfriend not to play the game.",
+ "playcount" : 0,
+ "episode" : 12,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E12.mp4",
+ "specialsortseason" : -1,
+ "season" : 8,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 302,
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "label" : "8x12. Physical Therapy",
+ "cast" : [
+ {
+ "order" : 0,
+ "name" : "Garry Marshall",
+ "role" : ""
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Jackie Debatin"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2
+ },
+ {
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2009-04-28",
+ "director" : [
+ "Penny Marshall"
+ ]
+ },
+ {
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "plot" : "Jim attempts to look cool in the eyes of Ruby and her friends, until he realizes that he may be undermining Cheryl's authority due to his behavior.",
+ "episode" : 13,
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537921.jpg/",
+ "votes" : "9",
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E13.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "The Cooler One",
+ "seasonid" : 21,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f537921.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "537921"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "label" : "8x13. The Cooler One",
+ "director" : [
+ "Larry Joe Campbell"
+ ],
+ "cast" : [
+ {
+ "name" : "Lacey Ellison",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "role" : "",
+ "name" : "Alec Hogan"
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3,
+ "name" : "Larry Joe Campbell",
+ "role" : "Andy"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2009-05-12",
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 303,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 8
+ },
+ {
+ "userrating" : 0,
+ "title" : "Happy Jim",
+ "seasonid" : 21,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642911.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "642911"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "votes" : "8",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642911.jpg/",
+ "plot" : "Jim's bad back has him on prescription pain pills which has him in an altered state and opens up an opportunity for the family to share information which usually would upset him.",
+ "episode" : 14,
+ "ratings" : {
+ "default" : {
+ "votes" : 8,
+ "default" : true,
+ "rating" : 7.80000019073486
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E14.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 8,
+ "label" : "8x14. Happy Jim",
+ "cast" : [
+ {
+ "name" : "Wendy Benson-Landes",
+ "role" : "",
+ "order" : 0
+ },
+ {
+ "name" : "Joe Liss",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "firstaired" : "2009-05-12",
+ "director" : [
+ "Lauren Breiting"
+ ],
+ "writer" : [
+ "Tracy Newman",
+ "Jonathan Stark"
+ ],
+ "episodeid" : 304,
+ "rating" : 7.80000019073486,
+ "showtitle" : "According to Jim"
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 8,
+ "label" : "8x15. King of the Nerds",
+ "director" : [
+ "Philip Charles MacKenzie"
+ ],
+ "firstaired" : "2009-05-26",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "William 'Refrigerator' Perry"
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "name" : "James Belushi",
+ "role" : "Jim"
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell"
+ },
+ {
+ "name" : "Taylor Atelian",
+ "role" : "Ruby",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "name" : "Conner Rayburn",
+ "role" : "Kyle"
+ },
+ {
+ "name" : "Billi Bruno",
+ "role" : "Gracie",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6
+ }
+ ],
+ "episodeid" : 305,
+ "writer" : [
+ "Michael J.S. Murphy",
+ "John Schwab"
+ ],
+ "showtitle" : "According to Jim",
+ "rating" : 8.19999980926514,
+ "title" : "King of the Nerds",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642921.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 21,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "642921"
+ },
+ "tvshowid" : 4,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 15,
+ "plot" : "Jim uses his passion for sports to connect with son Kyle. But sports-challenged Kyle identifies more with fellow sci-fi nerd Andy, forcing a reluctant Jim to dress up as a Cyclops at a sci-fi convention in order to win his son back.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 9,
+ "default" : true,
+ "rating" : 8.19999980926514
+ }
+ },
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642921.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E15.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "ratings" : {
+ "default" : {
+ "rating" : 7.5,
+ "default" : true,
+ "votes" : 10
+ }
+ },
+ "plot" : "Cheryl forces Jim to donate time to charity. His reluctance turns to elation when he's rewarded with a thousand-dollar check for his efforts. Cheryl insists he return the check, but Jim is itching to buy himself somthing frivolous with the money. And to really test Cheryl's integrity, he spends the money on a pricey designer handbag for her.",
+ "episode" : 16,
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642931.jpg/",
+ "votes" : "10",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E16.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "I Hate the High Road",
+ "seasonid" : 21,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642931.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "642931"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 4,
+ "label" : "8x16. I Hate the High Road",
+ "director" : [
+ "Dennis Capps"
+ ],
+ "cast" : [
+ {
+ "thumbnail" : "image://http%3a%2f%2fimage.tmdb.org%2ft%2fp%2foriginal%2fdbbOF0P2h8qJ0fktNzMj4rmztP3.jpg/",
+ "order" : 0,
+ "name" : "Patricia Belcher",
+ "role" : ""
+ },
+ {
+ "name" : "Fitz Houston",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Kelsey Crane"
+ },
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1,
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl"
+ },
+ {
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley",
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/",
+ "order" : 3
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4,
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2009-05-26",
+ "writer" : [
+ "Sylvia Green"
+ ],
+ "episodeid" : 306,
+ "showtitle" : "According to Jim",
+ "rating" : 7.5,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 8
+ },
+ {
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "642941"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "seasonid" : 21,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642941.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Diamonds Are a Ghoul's Best Friend",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E17.mp4",
+ "specialsortseason" : -1,
+ "votes" : "10",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642941.jpg/",
+ "playcount" : 0,
+ "plot" : "It's Cheryl's birthday and Jim decides to buy her a diamond necklace. But in an attempt to save money, he buys the necklace from Andy's unreliable source and soon learns that it was taken off of a dead woman whose ghost now begins to haunt him.",
+ "episode" : 17,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 7.80000019073486,
+ "votes" : 10
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "season" : 8,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "According to Jim",
+ "rating" : 7.80000019073486,
+ "writer" : [
+ "Warren Bell"
+ ],
+ "episodeid" : 307,
+ "cast" : [
+ {
+ "role" : "",
+ "name" : "William Schallert",
+ "order" : 0
+ },
+ {
+ "name" : "Fatso-Fasano",
+ "role" : "",
+ "order" : 1
+ },
+ {
+ "role" : "",
+ "name" : "Ellen Albertini Dow",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "name" : "Jackie Debatin",
+ "role" : ""
+ },
+ {
+ "order" : 4,
+ "name" : "Kristen Claire Feldman",
+ "role" : ""
+ },
+ {
+ "order" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "role" : "Jim",
+ "name" : "James Belushi"
+ },
+ {
+ "name" : "Courtney Thorne-Smith",
+ "role" : "Cheryl",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "role" : "Dana",
+ "name" : "Kimberly Williams-Paisley"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5,
+ "role" : "Kyle",
+ "name" : "Conner Rayburn"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "firstaired" : "2009-06-02",
+ "director" : [
+ "Christopher J. Nowak"
+ ],
+ "label" : "8x17. Diamonds Are a Ghoul's Best Friend"
+ },
+ {
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/Season 8/S8E18.mp4",
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "9",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642951.jpg/",
+ "plot" : "When Jim chokes on a shrimp puff, he dies and arrives at Heaven's gate. With Jim on trial to prove his selfless acts on earth, best friend Andy is summoned to heaven to defend him. As Jim attempts to prove his good works to God, his sister-in-law, Dana, represents the Devil, arguing that Jim's selfishness should mean a certain trip to hell.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 8,
+ "votes" : 9
+ }
+ },
+ "episode" : 18,
+ "playcount" : 0,
+ "tvshowid" : 4,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "642951"
+ },
+ "runtime" : 1800,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f75926%2f642951.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "seasonid" : 21,
+ "title" : "Heaven Opposed to Hell",
+ "userrating" : 0,
+ "showtitle" : "According to Jim",
+ "rating" : 8,
+ "episodeid" : 308,
+ "writer" : [
+ "John D. Beck",
+ "Ron Hart"
+ ],
+ "firstaired" : "2009-06-02",
+ "cast" : [
+ {
+ "order" : 0,
+ "role" : "",
+ "name" : "Dan Aykroyd"
+ },
+ {
+ "order" : 1,
+ "name" : "Lee Majors",
+ "role" : ""
+ },
+ {
+ "order" : 2,
+ "role" : "",
+ "name" : "Erik Estrada"
+ },
+ {
+ "role" : "",
+ "name" : "Mitch Rouse",
+ "order" : 3
+ },
+ {
+ "order" : 4,
+ "name" : "Bruce Jarchow",
+ "role" : ""
+ },
+ {
+ "order" : 5,
+ "name" : "Jackie Debatin",
+ "role" : ""
+ },
+ {
+ "role" : "Jim",
+ "name" : "James Belushi",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "order" : 1
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "role" : "Ruby",
+ "name" : "Taylor Atelian"
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/"
+ },
+ {
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "name" : "Billi Bruno",
+ "role" : "Gracie"
+ }
+ ],
+ "director" : [
+ "James Belushi"
+ ],
+ "label" : "8x18. Heaven Opposed to Hell",
+ "season" : 8,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-09-26",
+ "label" : "1x01. The Porridge Party",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 2992,
+ "seasonid" : 560,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180196.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "The Porridge Party",
+ "tvshowid" : 138,
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4180196"
+ },
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E1.mp4",
+ "plot" : "Abney and Teal make lots of porridge to warm them up on a cold and gloomy day. They make so much that it fills all the bowls in Abney's house and starts to get everywhere. Teal decides they should have a porridge party to use it all up.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 1,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180196.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "episodeid" : 2993,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "2011-09-27",
+ "director" : [],
+ "label" : "1x02. The Star Stick",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E2.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180197.jpg/",
+ "votes" : "0",
+ "episode" : 2,
+ "playcount" : 0,
+ "plot" : "Teal can't sleep and is watching the sky when she sees a beautiful shooting star. She wakes up Abney and the Poc-Pocs to help her catch one for herself.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4180197"
+ },
+ "runtime" : 660,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180197.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/"
+ },
+ "seasonid" : 560,
+ "title" : "The Star Stick",
+ "userrating" : 0
+ },
+ {
+ "episodeid" : 2994,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "label" : "1x03. The Poc Pocs' Holiday",
+ "cast" : [],
+ "firstaired" : "2011-09-28",
+ "director" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180198.jpg/",
+ "plot" : "Abney and Teal are worried because the Poc-Pocs are not poc-ing; they are not even interested in porridge or games. Teal decides that what the Poc-Pocs need is a holiday to cheer them up.",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 3,
+ "playcount" : 0,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E3.mp4",
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4180198"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138,
+ "title" : "The Poc Pocs' Holiday",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180198.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 560
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-09-29",
+ "label" : "1x04. The Storm",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 2995,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E4.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "playcount" : 0,
+ "plot" : "A wild storm is blowing over the Island and Abney and Teal shelter inside. The Poc-Pocs soon join them but two are missing! Abney and Teal come up with a plan to save the two Poc-Pocs from a storm monster.",
+ "episode" : 4,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180199.jpg/",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180199.jpg/"
+ },
+ "seasonid" : 560,
+ "title" : "The Storm",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4180199"
+ }
+ },
+ {
+ "title" : "Stuck",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180200.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/"
+ },
+ "seasonid" : 560,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4180200"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4180200.jpg/",
+ "votes" : "0",
+ "plot" : "Everyone is very busy on the Island. Abney is decorating the trees and Teal has found an old tyre to do tricks with. The tyre gets stuck around Bop's tummy and Teal, Abney, Neep and the Poc-Pocs have to think what to do.",
+ "playcount" : 0,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E5.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "label" : "1x05. Stuck",
+ "firstaired" : "2011-09-30",
+ "cast" : [],
+ "director" : [],
+ "episodeid" : 2996,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x06. Firefly Lullaby",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-10-03",
+ "episodeid" : 2997,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "title" : "Firefly Lullaby",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186362.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 560,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4186362"
+ },
+ "tvshowid" : 138,
+ "dateadded" : "2016-08-26 09:16:57",
+ "plot" : "The Poc-Pocs keep waking Abney and Teal up and won't go to sleep. They all go and see if Bop can think of a way to calm the Poc-Pocs down. Meanwhile, Neep encounters some fireflies.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186362.jpg/",
+ "votes" : "0",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E6.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4186363"
+ },
+ "runtime" : 660,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186363.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 560,
+ "title" : "The Rainbow Whistle",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E7.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186363.jpg/",
+ "votes" : "0",
+ "plot" : "Abney finds a whistle. When he plays it a beautiful rainbow appears in the sky. Teal thinks there will be treasure at the end of the rainbow so they set out across the lake to find it.",
+ "episode" : 7,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 2998,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "2011-10-04",
+ "director" : [],
+ "label" : "1x07. The Rainbow Whistle"
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:57",
+ "episode" : 8,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "Teal and Neep help Abney find something to fill a gap on his shelves. Nothing seems to fit until they find an old radio in the lake which causes all sorts of excitement.",
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186364.jpg/",
+ "votes" : "0",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E8.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "The Radio",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186364.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 560,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4186364"
+ },
+ "tvshowid" : 138,
+ "label" : "1x08. The Radio",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-10-05",
+ "episodeid" : 2999,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1
+ },
+ {
+ "label" : "1x09. Sky High",
+ "cast" : [],
+ "firstaired" : "2011-10-06",
+ "director" : [],
+ "episodeid" : 3000,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186365.jpg/",
+ "votes" : "0",
+ "episode" : 9,
+ "plot" : "It is extremely windy. Neep has a wonderful time flying through the air on a whirligig. Abney and Teal go to see Bop who blows a giant bubble for each of them so they can join in. They go higher and higher and higher, which Abney is not too sure about.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E9.mp4",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "Sky High",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186365.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 560,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4186365"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138
+ },
+ {
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E10.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "plot" : "It is a lazy day on the Island. Abney, Teal and Neep put up a hammock and have a great time trying to get into it. The Poc-Pocs join in the fun but are thrown up into the air and disappear. Where have they gone?",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 10,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186366.jpg/",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186366.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "seasonid" : 560,
+ "title" : "The Poc-Poc Hunt",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4186366"
+ },
+ "director" : [],
+ "firstaired" : "2011-10-09",
+ "cast" : [],
+ "label" : "1x10. The Poc-Poc Hunt",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 3001,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "label" : "1x11. The Train",
+ "cast" : [],
+ "firstaired" : "2011-10-10",
+ "director" : [],
+ "episodeid" : 3002,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186367.jpg/",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 11,
+ "plot" : "It is a lazy day on the Island. Abney, Everybody is bored. Abney builds a train so they can go on a tour. Then Teal has an idea - why don't they tour the whole island? It is a fantastic tour until something gets in the way.",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E11.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "The Train",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186367.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/"
+ },
+ "seasonid" : 560,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4186367"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Mystery",
+ "seasonid" : 560,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186368.jpg/"
+ },
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4186368"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "playcount" : 0,
+ "plot" : "Some of Abney and Teal's favourite objects are missing. Has there been a robbery? It's a mystery!",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 12,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186368.jpg/",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E12.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "label" : "1x12. The Mystery",
+ "director" : [],
+ "firstaired" : "2011-10-11",
+ "cast" : [],
+ "writer" : [],
+ "episodeid" : 3003,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0
+ },
+ {
+ "label" : "1x13. Neep's Birthday",
+ "cast" : [],
+ "firstaired" : "2011-10-12",
+ "director" : [],
+ "episodeid" : 3004,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186369.jpg/",
+ "votes" : "0",
+ "plot" : "It is a peaceful day but Neep is digging holes all over the island and won't stop. Abney and Teal try to work out why he is so excited. It must be his birthday!",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 13,
+ "playcount" : 0,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E13.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "Neep's Birthday",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186369.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/"
+ },
+ "seasonid" : 560,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4186369"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E14.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "plot" : "It is a very rainy day and Abney finds a hole in his roof. Then he starts to notice holes everywhere. He decides to dig one of his own, but gets stuck in it! Teal, Neep and the Poc-Pocs try to get him out.",
+ "episode" : 14,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186370.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "seasonid" : 560,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186370.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Abney Finds a Hole",
+ "tvshowid" : 138,
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4186370"
+ },
+ "lastplayed" : "",
+ "director" : [],
+ "firstaired" : "2011-10-13",
+ "cast" : [],
+ "label" : "1x14. Abney Finds a Hole",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 3005,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 3006,
+ "cast" : [],
+ "firstaired" : "2011-10-14",
+ "director" : [],
+ "label" : "1x15. Faraway Island",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E15.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186371.jpg/",
+ "votes" : "0",
+ "plot" : "Teal goes to see what its like living on a faraway island. Abney worries that she might be lonely and sends her the Poc-Pocs for company, but when they arrive there is one missing - lost in the post!",
+ "playcount" : 0,
+ "episode" : 15,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:57",
+ "tvshowid" : 138,
+ "uniqueid" : {
+ "unknown" : "4186371"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "seasonid" : 560,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4186371.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Faraway Island"
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 16,
+ "plot" : "Bop is experimenting with a new kind of bubble. Abney, Teal, Neep and the Poc-Pocs have a great time playing with Bop's musical creations. That is, until things get a bit too bubbly.",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201287.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E16.mp4",
+ "specialsortseason" : -1,
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4201287"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "userrating" : 0,
+ "title" : "Bop's Best Bubble",
+ "seasonid" : 560,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201287.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [],
+ "episodeid" : 3007,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "1x16. Bop's Best Bubble",
+ "director" : [],
+ "firstaired" : "2011-11-07",
+ "cast" : [],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4201288"
+ },
+ "runtime" : 660,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201288.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 560,
+ "title" : "The Slide",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E17.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201288.jpg/",
+ "votes" : "0",
+ "playcount" : 0,
+ "plot" : "It is a damp and soggy day on the Island. Abney and Teal have great fun sliding about in the mud and when it is time to get clean they have a super soapy bath. Somehow their foamy bath water gets into the lake and Bop gets a bit of a surprise.",
+ "episode" : 17,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "episodeid" : 3008,
+ "writer" : [],
+ "firstaired" : "2011-11-08",
+ "cast" : [],
+ "director" : [],
+ "label" : "1x17. The Slide"
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [],
+ "episodeid" : 3009,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "1x18. The Enormous Neep",
+ "firstaired" : "2011-11-09",
+ "cast" : [],
+ "director" : [],
+ "uniqueid" : {
+ "unknown" : "4201289"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "userrating" : 0,
+ "title" : "The Enormous Neep",
+ "seasonid" : 560,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201289.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201289.jpg/",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "plot" : "Abney makes a pot of brilliant porridge, but while Abney and Teal are busy setting the table the porridge disappears. Where could it have gone?\r\n\r\n.",
+ "playcount" : 0,
+ "episode" : 18,
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E18.mp4"
+ },
+ {
+ "firstaired" : "2011-11-10",
+ "cast" : [],
+ "director" : [],
+ "label" : "1x19. The Buzzing Thing",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 3010,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E19.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201290.jpg/",
+ "plot" : "Neep finds a buzzing thing. It buzzes all over the Island causing all kinds of mischief. Abney, Teal and the Poc-Pocs go and see what the excitement is all about.",
+ "playcount" : 0,
+ "episode" : 19,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201290.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ "seasonid" : 560,
+ "title" : "The Buzzing Thing",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4201290"
+ },
+ "runtime" : 660
+ },
+ {
+ "userrating" : 0,
+ "title" : "The Moon",
+ "seasonid" : 560,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201291.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4201291"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "episode" : 20,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "plot" : "Teal wants to build something huge, as big as the moon. Abney isn't sure how big the moon is exactly. So they decide to build a rocket and go there to find out.",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4201291.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E20.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x20. The Moon",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-11-11",
+ "writer" : [],
+ "episodeid" : 3011,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0
+ },
+ {
+ "label" : "1x21. The Snow Neep",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-12-12",
+ "episodeid" : 3012,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "plot" : "A thick blanket of snow covers the Island. Abney and Teal are very excited and go out to play, but they can't find Neep anywhere to join in the snowy fun.",
+ "episode" : 21,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4228649.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E21.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "The Snow Neep",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4228649.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "seasonid" : 560,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4228649"
+ },
+ "tvshowid" : 138
+ },
+ {
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4228650.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ "seasonid" : 560,
+ "title" : "The Perfect Tree",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4228650"
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E22.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "plot" : "Abney and Teal search all over the Island to find the perfect tree to put their presents under. They aren't having much luck, but Bop has a surprise in store.",
+ "episode" : 22,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4228650.jpg/",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-12-16",
+ "label" : "1x22. The Perfect Tree",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 3013,
+ "writer" : []
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "plot" : "It is a beautiful day and Abney is inspired to make some art. He can't find anything to draw, but then Bop strikes the perfect pose. If only Abney could concentrate long enough to draw his picture.",
+ "episode" : 23,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261741.jpg/",
+ "votes" : "0",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E23.mp4",
+ "specialsortseason" : -1,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4261741"
+ },
+ "tvshowid" : 138,
+ "title" : "The Artwork",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261741.jpg/"
+ },
+ "seasonid" : 560,
+ "episodeid" : 3014,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "label" : "1x23. The Artwork",
+ "director" : [
+ "Joel Stewart"
+ ],
+ "cast" : [],
+ "firstaired" : "2012-02-06",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "label" : "1x24. Abney's Magic Show",
+ "director" : [
+ "Joel Stewart"
+ ],
+ "cast" : [],
+ "firstaired" : "2012-02-07",
+ "writer" : [],
+ "episodeid" : 3015,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "episode" : 24,
+ "plot" : "Abney puts on a magic show for Teal and the Poc Pocs. They are not very impressed! Then all sorts of strange and mysterious things start to happen with Abney's new hat.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261742.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E24.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Abney's Magic Show",
+ "seasonid" : 560,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261742.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4261742"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 138
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E25.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261743.jpg/",
+ "votes" : "0",
+ "plot" : "Abney is knitting. He is so engrossed that he doesn't notice an enormous woolly tangle wreaking havoc all over the Island. Teal thinks Abney must be trapped by a woolly monster and sets out to save him.",
+ "episode" : 25,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261743.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/"
+ },
+ "seasonid" : 560,
+ "title" : "The Woolly Tangle",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4261743"
+ },
+ "runtime" : 660,
+ "cast" : [],
+ "firstaired" : "2012-02-08",
+ "director" : [
+ "Joel Stewart"
+ ],
+ "label" : "1x25. The Woolly Tangle",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "episodeid" : 3016,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261744.jpg/",
+ "plot" : "Abney's front door is blocked by a huge leaf pile, which Teal has great fun jumping in. But when Abney decides to join in the leaves are gone. Abney and Teal set about making a new leaf pile to play in, which proves harder than they expected.",
+ "playcount" : 0,
+ "episode" : 26,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 1/S1E26.mp4",
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4261744"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138,
+ "title" : "The Leaf Sweep",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4261744.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 560,
+ "episodeid" : 3017,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "1x26. The Leaf Sweep",
+ "firstaired" : "2012-02-09",
+ "cast" : [],
+ "director" : [
+ "Joel Stewart"
+ ],
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 3018,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "2x01. The Very Cold Day",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-02-10",
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4340241"
+ },
+ "tvshowid" : 138,
+ "title" : "The Very Cold Day",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340241.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 561,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "episode" : 1,
+ "plot" : "It is a very cold day. Abney, Teal, Neep and the Poc-Pocs have a wonderful time playing winter games.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340241.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E1.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 3019,
+ "cast" : [],
+ "firstaired" : "2012-04-30",
+ "director" : [],
+ "label" : "2x02. Straw Hat Trouble",
+ "tvshowid" : 138,
+ "uniqueid" : {
+ "unknown" : "4340246"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "seasonid" : 561,
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340246.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Straw Hat Trouble",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E2.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340246.jpg/",
+ "votes" : "0",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "plot" : "It is a hot and sunny day on the island, so Abney and Teal make themselves some shady straw hats. Then the weather turns and a strong wind starts blowing them into all sorts of trouble.",
+ "playcount" : 0,
+ "episode" : 2,
+ "dateadded" : "2016-08-26 09:16:57"
+ },
+ {
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4340247"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138,
+ "title" : "The Visit",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340247.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "seasonid" : 561,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340247.jpg/",
+ "votes" : "0",
+ "plot" : "Neep's friends and relations come to the island for a visit, but their digging soon causes a few problems around the place.",
+ "episode" : 3,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E3.mp4",
+ "specialsortseason" : -1,
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 3020,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "label" : "2x03. The Visit",
+ "cast" : [],
+ "firstaired" : "2012-05-01",
+ "director" : []
+ },
+ {
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "episodeid" : 3021,
+ "writer" : [],
+ "director" : [],
+ "firstaired" : "2012-05-02",
+ "cast" : [],
+ "label" : "2x04. The Enormous Sneeze",
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4340248"
+ },
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340248.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "seasonid" : 561,
+ "title" : "The Enormous Sneeze",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E4.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "plot" : "Teal is having a lovely time in the flowers that are blooming all over the island. She brings a bunch to Abney but they make him sneeze... and sneeze... and sneeze! His unstoppable sneezes get bigger and bigger and funny things start to happen.",
+ "episode" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340248.jpg/",
+ "votes" : "0"
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340249.jpg/",
+ "votes" : "0",
+ "plot" : "Abney and Teal go fishing. Teal soon loses interest, but Abney finally catches something very interesting - a handbag, the contents of which cause all sorts of chaos.",
+ "playcount" : 0,
+ "episode" : 5,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E5.mp4",
+ "specialsortseason" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "title" : "The Handbag",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340249.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "seasonid" : 561,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4340249"
+ },
+ "runtime" : 660,
+ "tvshowid" : 138,
+ "label" : "2x05. The Handbag",
+ "firstaired" : "2012-05-03",
+ "cast" : [],
+ "director" : [],
+ "episodeid" : 3022,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2
+ },
+ {
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E6.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340250.jpg/",
+ "playcount" : 0,
+ "episode" : 6,
+ "plot" : "Abney and Teal construct a dragon. Neep puts on a brave face, but he isn't sure he wants to share the island with a scary monster!",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4340250"
+ },
+ "runtime" : 660,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4340250.jpg/"
+ },
+ "seasonid" : 561,
+ "title" : "Neep and the Dragon",
+ "userrating" : 0,
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 3023,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "2012-05-04",
+ "director" : [],
+ "label" : "2x06. Neep and the Dragon",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : ""
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "episodeid" : 3024,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "2x07. The Mysterious Mist",
+ "director" : [],
+ "firstaired" : "2012-10-28",
+ "cast" : [],
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4428287"
+ },
+ "tvshowid" : 138,
+ "title" : "The Mysterious Mist",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428287.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "seasonid" : 561,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. Abney, Teal and Neep make mysterious noises on a misty day. They try to get Bop to join in the game but it's not so mysterious down by the lake.",
+ "playcount" : 0,
+ "episode" : 7,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428287.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E7.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E8.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "playcount" : 0,
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. It is a boiling hot day; much too hot to do anything apart from eat ice-cream and go swimming. But when Abney and Teal finally get to the lake there's something not quite right about it.",
+ "episode" : 8,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428288.jpg/",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428288.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "seasonid" : 561,
+ "title" : "The Very Hot Day",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4428288"
+ },
+ "director" : [],
+ "firstaired" : "2012-10-29",
+ "cast" : [],
+ "label" : "2x08. The Very Hot Day",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 3025,
+ "writer" : [],
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2
+ },
+ {
+ "label" : "2x09. Hiccups",
+ "director" : [],
+ "firstaired" : "2012-10-30",
+ "cast" : [],
+ "writer" : [],
+ "episodeid" : 3026,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 2,
+ "playcount" : 0,
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. The Poc-Pocs have got hiccups. Teal finds the cure, but they are spreading! When they reach Bop something has to be done.",
+ "episode" : 9,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428289.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E9.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Hiccups",
+ "seasonid" : 561,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428289.jpg/"
+ },
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4428289"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 138
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "writer" : [],
+ "episodeid" : 3027,
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "label" : "2x10. The Enormous Cabbage",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-10-31",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4428290"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "userrating" : 0,
+ "title" : "The Enormous Cabbage",
+ "seasonid" : 561,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428290.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "productioncode" : "",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. Abney plants seeds in the moonlight. In the morning some have grown into lovely big cabbages. Abney and Teal decide to help out one that is struggling, which leads to big trouble.",
+ "episode" : 10,
+ "playcount" : 0,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428290.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E10.mp4",
+ "specialsortseason" : -1
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 3028,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "2x11. The Summerhouse",
+ "director" : [],
+ "firstaired" : "2012-11-01",
+ "cast" : [],
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4428291"
+ },
+ "tvshowid" : 138,
+ "title" : "The Summerhouse",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428291.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "seasonid" : 561,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "episode" : 11,
+ "playcount" : 0,
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. When Abney and Teal have a snooze in Abney's new summerhouse, they don't wake up where they expect. Abney has to use his building skills to find them a way home.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4428291.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E11.mp4"
+ },
+ {
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433121.jpg/",
+ "episode" : 12,
+ "playcount" : 0,
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. Neep finds some wheels, Teal finds some wheels and finally, Abney gets hold of some wheels of his own. They are not brilliant at first - but soon they become a bit too brilliant!",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E12.mp4",
+ "specialsortseason" : -1,
+ "uniqueid" : {
+ "unknown" : "4433121"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "userrating" : 0,
+ "title" : "Brilliant Wheels",
+ "seasonid" : 561,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433121.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "writer" : [],
+ "episodeid" : 3029,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "2x12. Brilliant Wheels",
+ "firstaired" : "2012-11-04",
+ "cast" : [],
+ "director" : [],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "writer" : [],
+ "episodeid" : 3030,
+ "director" : [],
+ "firstaired" : "2012-11-05",
+ "cast" : [],
+ "label" : "2x13. Bop's Babies",
+ "season" : 2,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E13.mp4",
+ "specialsortseason" : -1,
+ "playcount" : 0,
+ "episode" : 13,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. On a beautiful springtime day, it looks like Bop has had little babies! Abney and Teal find out just how much trouble growing babies can be.",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433123.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "tvshowid" : 138,
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4433123"
+ },
+ "lastplayed" : "",
+ "seasonid" : 561,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433123.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Bop's Babies"
+ },
+ {
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "writer" : [],
+ "episodeid" : 3031,
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "label" : "2x14. Sleep Digging",
+ "cast" : [],
+ "firstaired" : "2012-11-06",
+ "director" : [],
+ "uniqueid" : {
+ "unknown" : "4433125"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "userrating" : 0,
+ "title" : "Sleep Digging",
+ "seasonid" : 561,
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433125.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "productioncode" : "",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433125.jpg/",
+ "episode" : 14,
+ "plot" : "Animated adventures. Neep causes watery mischief all over the Island when he starts digging in his sleep.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E14.mp4"
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "cast" : [],
+ "firstaired" : "2012-11-07",
+ "director" : [],
+ "label" : "2x15. The Porridge Tower",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "writer" : [],
+ "episodeid" : 3032,
+ "seasonid" : 561,
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433126.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Porridge Tower",
+ "tvshowid" : 138,
+ "uniqueid" : {
+ "unknown" : "4433126"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E15.mp4",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433126.jpg/",
+ "votes" : "0",
+ "playcount" : 0,
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. Abney is making porridge bread, but he just can't get the recipe right, and he ends up with lots of spare loaves and nothing to do with them.",
+ "episode" : 15,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortepisode" : -1,
+ "plot" : "Animated adventures of two friends who live on an island in the middle of the big city. Abney adds some shiny fish to his collection, but soon finds that they take up more room than expected. Now where can he get some sleep?",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 16,
+ "playcount" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433128.jpg/",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E16.mp4",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4433128"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "userrating" : 0,
+ "title" : "Abney's Aquarium",
+ "seasonid" : 561,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433128.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "productioncode" : "",
+ "writer" : [
+ "Steve Roberts",
+ "Matilda Tristram"
+ ],
+ "episodeid" : 3033,
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "label" : "2x16. Abney's Aquarium",
+ "director" : [
+ "Joel Stewart"
+ ],
+ "firstaired" : "2012-11-08",
+ "cast" : [],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ }
+ },
+ {
+ "seasonid" : 561,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433133.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Shadows",
+ "tvshowid" : 138,
+ "uniqueid" : {
+ "unknown" : "4433133"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E17.mp4",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433133.jpg/",
+ "episode" : 17,
+ "plot" : "The moonlight is so strange and beautiful that it's hard for Abney to sleep. Teal decides to tire Abney out with an adventure, but she's soon feeling pretty sleepy herself. Luckily there's still a lot to look at.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "firstaired" : "2012-11-11",
+ "cast" : [],
+ "director" : [],
+ "label" : "2x17. Shadows",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 3034
+ },
+ {
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "plot" : "Animated adventures. Abney and Teal decide to set up a café. They're worried that they might not get any guests, but they needn't have worried!",
+ "episode" : 18,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433134.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E18.mp4",
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4433134"
+ },
+ "tvshowid" : 138,
+ "title" : "The Café",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433134.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "seasonid" : 561,
+ "episodeid" : 3035,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "label" : "2x18. The Café",
+ "director" : [],
+ "firstaired" : "2012-11-12",
+ "cast" : [],
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-11-13",
+ "label" : "2x19. Abney's Precious Things",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 3036,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E19.mp4",
+ "playcount" : 0,
+ "plot" : "Animated adventures. Abney has so many precious things that he decides to put on a display. The display gets longer and longer until...",
+ "episode" : 19,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433136.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "seasonid" : 561,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433136.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Abney's Precious Things",
+ "tvshowid" : 138,
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4433136"
+ },
+ "lastplayed" : ""
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "firstaired" : "2012-11-14",
+ "cast" : [],
+ "director" : [],
+ "label" : "2x20. Frogs",
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "episodeid" : 3037,
+ "writer" : [],
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433137.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 561,
+ "title" : "Frogs",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4433137"
+ },
+ "runtime" : 660,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E20.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4433137.jpg/",
+ "plot" : "Animated adventures. A thunderstorm brings some visitors to the Island. Abney and Teal love their new friends, but Neep is not so sure.",
+ "playcount" : 0,
+ "episode" : 20,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ }
+ },
+ {
+ "title" : "Sticky Neep",
+ "userrating" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4437855.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 561,
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4437855"
+ },
+ "tvshowid" : 138,
+ "dateadded" : "2016-08-26 09:16:57",
+ "episode" : 21,
+ "playcount" : 0,
+ "plot" : "Animated adventures. Neep gets himself into a sticky situation copying tricks from the circus. Abney and Teal help him to get cleaned up.",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4437855.jpg/",
+ "votes" : "0",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E21.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2,
+ "label" : "2x21. Sticky Neep",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-11-15",
+ "episodeid" : 3038,
+ "writer" : [],
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0
+ },
+ {
+ "season" : 2,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "episodeid" : 3039,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "2012-11-18",
+ "director" : [],
+ "label" : "2x22. The Porridge Machine",
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4439602"
+ },
+ "runtime" : 660,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439602.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "seasonid" : 561,
+ "title" : "The Porridge Machine",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E22.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439602.jpg/",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "plot" : "Abney and Teal decide to build a Porridge Machine. Oh dear, the machine is rather tiring, and it has some other unexpected results too!",
+ "episode" : 22
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "cast" : [],
+ "firstaired" : "2012-11-19",
+ "director" : [],
+ "label" : "2x23. The Camera",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 3040,
+ "seasonid" : 561,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439603.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "The Camera",
+ "tvshowid" : 138,
+ "uniqueid" : {
+ "unknown" : "4439603"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E23.mp4",
+ "specialsortseason" : -1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439603.jpg/",
+ "votes" : "0",
+ "plot" : "Abney's got a camera. Everybody do something fun! Soon Neep gets a go too and his photos are really special.",
+ "episode" : 23,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "playcount" : 0,
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/"
+ },
+ {
+ "lastplayed" : "",
+ "runtime" : 660,
+ "uniqueid" : {
+ "unknown" : "4439604"
+ },
+ "tvshowid" : 138,
+ "title" : "Spring Cleaning",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439604.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "seasonid" : 561,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "episode" : 24,
+ "plot" : "Abney loves spring cleaning. Teal and Neep just love springing. Soon they need to spring pretty fast, away from a scary monster!",
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439604.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E24.mp4",
+ "specialsortseason" : -1,
+ "season" : 2,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 3041,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "label" : "2x24. Spring Cleaning",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-11-20"
+ },
+ {
+ "productioncode" : "",
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439605.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/"
+ },
+ "seasonid" : 561,
+ "title" : "Spots",
+ "userrating" : 0,
+ "tvshowid" : 138,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4439605"
+ },
+ "runtime" : 660,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E25.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439605.jpg/",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 10,
+ "votes" : 1
+ }
+ },
+ "plot" : "Abney and Teal are painting all sorts of things, but Neep won't join in. Soon everyone joins in with Neep instead. They all need to think of something clever to help them with their spots.",
+ "episode" : 25,
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 2,
+ "cast" : [],
+ "firstaired" : "2012-11-21",
+ "director" : [],
+ "label" : "2x25. Spots",
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 10,
+ "episodeid" : 3042,
+ "writer" : []
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439606.jpg/",
+ "votes" : "1",
+ "plot" : "Abney is trying to write poems. Teal just wants to make noise! Maybe they can find a way to do both together?",
+ "playcount" : 0,
+ "episode" : 26,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 10,
+ "votes" : 1
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/Season 2/S2E26.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "specialsortepisode" : -1,
+ "userrating" : 0,
+ "title" : "Rock Music",
+ "seasonid" : 561,
+ "productioncode" : "",
+ "art" : {
+ "thumb" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f252308%2f4439606.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/"
+ },
+ "uniqueid" : {
+ "unknown" : "4439606"
+ },
+ "runtime" : 660,
+ "lastplayed" : "",
+ "tvshowid" : 138,
+ "label" : "2x26. Rock Music",
+ "cast" : [],
+ "firstaired" : "2012-11-22",
+ "director" : [],
+ "writer" : [],
+ "episodeid" : 3043,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "rating" : 10,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 2
+ },
+ {
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2011-05-05",
+ "label" : "3x01. Episode 1",
+ "showtitle" : "Air Ways",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 309,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 3,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Airways (2009)/Season 3/S3E1.mp4",
+ "plot" : "A grandmother travelling to look after her grandkids is grounded; an Englishman is off to Hobart to meet his online love; and police are called when a passenger becomes physically aggressive.",
+ "playcount" : 1,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "episode" : 1,
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f104171-1.jpg/",
+ "seasonid" : 24,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f104171-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f104171-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f104171-g.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Episode 1",
+ "tvshowid" : 5,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4096024"
+ },
+ "lastplayed" : "2017-02-06 16:41:56"
+ },
+ {
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "showtitle" : "American Colony Meet the Hutterites",
+ "rating" : 0,
+ "writer" : [],
+ "episodeid" : 310,
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-05-29",
+ "label" : "1x01. Harvest Party Scandal",
+ "tvshowid" : 6,
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4327528"
+ },
+ "lastplayed" : "",
+ "seasonid" : 27,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "userrating" : 0,
+ "title" : "Harvest Party Scandal",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E1.mp4",
+ "plot" : "The annual harvest puts the Hutterite colony in danger of survival; Claudia shocks everyone.",
+ "playcount" : 0,
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:57"
+ },
+ {
+ "dateadded" : "2016-08-26 09:16:57",
+ "plot" : "The elders from Canada arrive and lay down the law; Bertha and Rita receive their punishment, a shunning.",
+ "episode" : 2,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E2.mp4",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "specialsortepisode" : -1,
+ "title" : "The Shunning",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 27,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4331768"
+ },
+ "tvshowid" : 6,
+ "label" : "1x02. The Shunning",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-06-05",
+ "episodeid" : 311,
+ "writer" : [],
+ "showtitle" : "American Colony Meet the Hutterites",
+ "rating" : 0,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1
+ },
+ {
+ "userrating" : 0,
+ "title" : "Rockin Road Trip",
+ "seasonid" : 27,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4334505"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 6,
+ "episode" : 3,
+ "plot" : "Relationships are at the top of everyone's minds when the young people attend a wedding in Canada.",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:57",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E3.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x03. Rockin Road Trip",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-06-12",
+ "writer" : [],
+ "episodeid" : 312,
+ "showtitle" : "American Colony Meet the Hutterites",
+ "rating" : 0
+ },
+ {
+ "tvshowid" : 6,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4338916"
+ },
+ "runtime" : 1800,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 27,
+ "title" : "Battle of the Sexes",
+ "userrating" : 0,
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E4.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "Claudia goes against tradition when she decides to work with the men.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "episode" : 4,
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "rating" : 0,
+ "showtitle" : "American Colony Meet the Hutterites",
+ "episodeid" : 313,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "2012-06-19",
+ "director" : [],
+ "label" : "1x04. Battle of the Sexes"
+ },
+ {
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "playcount" : 0,
+ "plot" : "The hunting season coincides with a jerky competition; Claudia wants an iPad but has no way to pay for it.",
+ "episode" : 5,
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E5.mp4",
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4343071"
+ },
+ "tvshowid" : 6,
+ "title" : "Shoot to Kill",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 27,
+ "episodeid" : 314,
+ "writer" : [],
+ "showtitle" : "American Colony Meet the Hutterites",
+ "rating" : 0,
+ "label" : "1x05. Shoot to Kill",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-06-26",
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ }
+ },
+ {
+ "showtitle" : "American Colony Meet the Hutterites",
+ "rating" : 0,
+ "episodeid" : 315,
+ "writer" : [],
+ "cast" : [],
+ "firstaired" : "2012-07-03",
+ "director" : [],
+ "label" : "1x06. ER Bound",
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E6.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "plot" : "Tammy considers dropping out of school; Wesley is rushed to the emergency room.",
+ "episode" : 6,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "tvshowid" : 6,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4345885"
+ },
+ "runtime" : 1800,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 27,
+ "title" : "ER Bound",
+ "userrating" : 0
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "label" : "1x07. Show Me the Money",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-07-10",
+ "writer" : [],
+ "episodeid" : 316,
+ "showtitle" : "American Colony Meet the Hutterites",
+ "rating" : 0,
+ "userrating" : 0,
+ "title" : "Show Me the Money",
+ "seasonid" : 27,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4350427"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 6,
+ "plot" : "Marvin feels the pressure mount as the colony bills pile up; Claudia risks punishment for wearing non-Hutterite clothes.",
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "episode" : 7,
+ "playcount" : 0,
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E7.mp4",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "specialsortepisode" : -1
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 317,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "American Colony Meet the Hutterites",
+ "label" : "1x08. Breaking the Law",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-07-17",
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4361962"
+ },
+ "tvshowid" : 6,
+ "title" : "Breaking the Law",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 27,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "Toby burns the candle at both ends caring for the new-born calves; Clinton continues to shirk responsibility.",
+ "episode" : 8,
+ "playcount" : 0,
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E8.mp4"
+ },
+ {
+ "showtitle" : "American Colony Meet the Hutterites",
+ "rating" : 0,
+ "episodeid" : 318,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-07-24",
+ "label" : "1x09. Were Not a Cult",
+ "season" : 1,
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "streamdetails" : {
+ "audio" : [],
+ "video" : [],
+ "subtitle" : []
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E9.mp4",
+ "dateadded" : "2016-08-26 09:16:57",
+ "plot" : "Wesley tries to dispel some long-held Hutterite stereotypes; Claudia considers leaving the colony for college.",
+ "episode" : 9,
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "votes" : "0",
+ "thumbnail" : "",
+ "tvshowid" : 6,
+ "lastplayed" : "",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "4361963"
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/"
+ },
+ "seasonid" : 27,
+ "title" : "Were Not a Cult",
+ "userrating" : 0
+ },
+ {
+ "seasonid" : 27,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Barnburners",
+ "tvshowid" : 6,
+ "uniqueid" : {
+ "unknown" : "4361964"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/Season 1/S1E10.mp4",
+ "specialsortseason" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "playcount" : 0,
+ "plot" : "The calving barn goes up in flames; Claudia hears from the college she applied to.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 10,
+ "dateadded" : "2016-08-26 09:16:57",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "cast" : [],
+ "firstaired" : "2012-07-31",
+ "director" : [],
+ "label" : "1x10. Barnburners",
+ "rating" : 0,
+ "showtitle" : "American Colony Meet the Hutterites",
+ "writer" : [],
+ "episodeid" : 319
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E1.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "Meet Mose Gingerich, the de facto mayor of the ex-Amish community in Columbia, Missouri. Born and raised Amish, Mose left the community nine years ago, and has been helping others make the transition ever since. For the Amish, the decision to leave the faith is enormous—leaving means permanent shunning by their friends, family, and community, and, according to their beliefs, an afterlife in hell.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "episode" : 1,
+ "playcount" : 0,
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "seasonid" : 30,
+ "title" : "Amish 101",
+ "userrating" : 0,
+ "tvshowid" : 7,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4315717"
+ },
+ "runtime" : 3600,
+ "cast" : [],
+ "firstaired" : "2012-04-24",
+ "director" : [],
+ "label" : "1x01. Amish 101",
+ "rating" : 0,
+ "showtitle" : "Amish: Out Of Order",
+ "episodeid" : 320,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "cast" : [],
+ "firstaired" : "2012-04-24",
+ "director" : [],
+ "label" : "1x02. Culture Clash",
+ "showtitle" : "Amish: Out Of Order",
+ "rating" : 0,
+ "episodeid" : 321,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E2.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 2,
+ "plot" : "Mose is usually the one to help ex-Amish youths transition into the “English” life, but in this episode, he has a crisis of faith when Michaela, a non-Amish teenager whose heart is set on joining the Amish, challenges his views. Michaela is drawn to the simplicity of Amish culture and their strong devotion to family and community—but joining from the outside isn't easy.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "seasonid" : 30,
+ "title" : "Culture Clash",
+ "userrating" : 0,
+ "tvshowid" : 7,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4315718"
+ },
+ "runtime" : 3600
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E3.mp4",
+ "specialsortseason" : -1,
+ "votes" : "0",
+ "thumbnail" : "",
+ "episode" : 3,
+ "plot" : "Ex-Amish teenager Jonas has attained the ultimate teenage dream—a driver’s license. But his new-found freedom is cut short when a terrible car crash lands him in the hospital, fighting for his life. Jonas’ accident devastates the ex-Amish community. And matters are made worse when his Amish father tells him that, if he had died outside the Amish faith, he would have spent an eternity in hell.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "default" : true,
+ "rating" : 0,
+ "votes" : 0
+ }
+ },
+ "dateadded" : "2016-08-26 09:16:59",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "seasonid" : 30,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "productioncode" : "",
+ "userrating" : 0,
+ "title" : "Can't Go Home Again",
+ "tvshowid" : 7,
+ "uniqueid" : {
+ "unknown" : "4315719"
+ },
+ "runtime" : 3600,
+ "lastplayed" : "",
+ "cast" : [],
+ "firstaired" : "2012-05-01",
+ "director" : [],
+ "label" : "1x03. Can't Go Home Again",
+ "rating" : 0,
+ "showtitle" : "Amish: Out Of Order",
+ "writer" : [],
+ "episodeid" : 322,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "rating" : 0,
+ "showtitle" : "Amish: Out Of Order",
+ "episodeid" : 323,
+ "writer" : [],
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-05-08",
+ "label" : "1x04. 9-to-5 Amish",
+ "season" : 1,
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "originaltitle" : "",
+ "specialsortepisode" : -1,
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E4.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "playcount" : 0,
+ "episode" : 4,
+ "plot" : "The Amish view hard work and physical labor as integral to their identity, lifestyle and self-sufficiency. Michaela, a non-Amish teenager who wishes to join the Amish church to escape her troubled past and live a simpler life, goes to stay with Rachel, a very traditional Old Order Amish woman — but only on the condition that she helps with chores.",
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "tvshowid" : 7,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4315720"
+ },
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 30,
+ "title" : "9-to-5 Amish",
+ "userrating" : 0
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 324,
+ "writer" : [],
+ "showtitle" : "Amish: Out Of Order",
+ "rating" : 0,
+ "label" : "1x05. Amish in Public",
+ "firstaired" : "2012-05-15",
+ "cast" : [],
+ "director" : [],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4315721"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 7,
+ "title" : "Amish in Public",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 30,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "episode" : 5,
+ "playcount" : 0,
+ "plot" : "The Amish have a complicated relationship with modern media — shunning phones, television and the Internet, but still being depicted on modern media. After leaving the Amish, Mose was featured in the reality TV show Amish in the City, which gave him tremendous insight into the English perception of the Amish.",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E5.mp4"
+ },
+ {
+ "userrating" : 0,
+ "title" : "Mending Fences",
+ "seasonid" : 30,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "productioncode" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4331766"
+ },
+ "lastplayed" : "",
+ "tvshowid" : 7,
+ "episode" : 6,
+ "plot" : "Mose tries to reopen the lines of communication with his mother who still sees him as an outcast.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E6.mp4",
+ "specialsortseason" : -1,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "specialsortepisode" : -1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "season" : 1,
+ "label" : "1x06. Mending Fences",
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-05-22",
+ "writer" : [],
+ "episodeid" : 325,
+ "rating" : 0,
+ "showtitle" : "Amish: Out Of Order"
+ },
+ {
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E7.mp4",
+ "specialsortseason" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "episode" : 7,
+ "plot" : "The role that religion plays in the lives of Amish and ex-Amish alike; Mose confronts his conflicted beliefs.",
+ "playcount" : 0,
+ "ratings" : {
+ "default" : {
+ "rating" : 0,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "thumbnail" : "",
+ "votes" : "0",
+ "specialsortepisode" : -1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [],
+ "video" : []
+ },
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 30,
+ "title" : "Change of Faith",
+ "userrating" : 0,
+ "tvshowid" : 7,
+ "lastplayed" : "",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "4331767"
+ },
+ "director" : [],
+ "cast" : [],
+ "firstaired" : "2012-05-29",
+ "label" : "1x07. Change of Faith",
+ "showtitle" : "Amish: Out Of Order",
+ "rating" : 0,
+ "episodeid" : 326,
+ "writer" : [],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "originaltitle" : "",
+ "season" : 1
+ },
+ {
+ "originaltitle" : "",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "season" : 1,
+ "label" : "1x09. Family Affairs",
+ "cast" : [],
+ "firstaired" : "2012-06-12",
+ "director" : [],
+ "episodeid" : 327,
+ "writer" : [],
+ "rating" : 0,
+ "showtitle" : "Amish: Out Of Order",
+ "title" : "Family Affairs",
+ "userrating" : 0,
+ "productioncode" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "seasonid" : 30,
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4334504"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 7,
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "0",
+ "thumbnail" : "",
+ "plot" : "Michaela realizes how much she misses her mother and reaches out to her.",
+ "episode" : 9,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "default" : true,
+ "rating" : 0
+ }
+ },
+ "playcount" : 0,
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E9.mp4",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "streamdetails" : {
+ "video" : [],
+ "audio" : [],
+ "subtitle" : []
+ },
+ "specialsortepisode" : -1
+ },
+ {
+ "season" : 1,
+ "originaltitle" : "",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "episodeid" : 328,
+ "writer" : [],
+ "showtitle" : "Amish: Out Of Order",
+ "rating" : 0,
+ "label" : "1x10. A Very Ex-Amish Christmas",
+ "firstaired" : "2012-06-19",
+ "cast" : [],
+ "director" : [],
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "4338912"
+ },
+ "runtime" : 3600,
+ "tvshowid" : 7,
+ "title" : "A Very Ex-Amish Christmas",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "productioncode" : "",
+ "seasonid" : 30,
+ "streamdetails" : {
+ "subtitle" : [],
+ "video" : [],
+ "audio" : []
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "specialsortepisode" : -1,
+ "dateadded" : "2016-08-26 09:16:59",
+ "thumbnail" : "",
+ "votes" : "0",
+ "playcount" : 0,
+ "plot" : "Moses hosts a reunion for the ex-Amish community; the community creates a memorial for Cephas Yoder.",
+ "episode" : 10,
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 0,
+ "default" : true
+ }
+ },
+ "specialsortseason" : -1,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/Season 1/S1E10.mp4"
+ }
+ ]
+ }
+}
diff --git a/app/src/debug/assets/VideoLibrary.GetMusicVideos.json b/app/src/debug/assets/VideoLibrary.GetMusicVideos.json
new file mode 100644
index 0000000..c0e2eb6
--- /dev/null
+++ b/app/src/debug/assets/VideoLibrary.GetMusicVideos.json
@@ -0,0 +1,581 @@
+{
+ "id" : "libMovies",
+ "jsonrpc" : "2.0",
+ "result" : {
+ "musicvideos" : [
+ {
+ "album" : "...Baby One More Time",
+ "director" : [
+ "Nigel Dick"
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fbaby-one-more-time-4dcff7453745a.jpg/"
+ },
+ "plot" : "\"(You Drive Me) Crazy\" is a song by American recording artist Britney Spears from her debut studio album, ...Baby One More Time (1999). Written and produced by Max Martin, Per Magnusson and David Kreuger, with additional writing by Jörgen Elofsson and remix by Martin and Rami Yacoub, it was released as the album's third single on August 23, 1999 by Jive Records. It was remixed for the soundtrack of Drive Me Crazy. \"(You Drive Me) Crazy\" is a teen pop song that draws influences from R&B and rock. The song garnered positive reviews from music critics, some of whom praised its simple formula and noted similarities to Spears' debut single, \"...Baby One More Time\".\n\n\"(You Drive Me) Crazy\" was a commercial success, and peaked inside the top ten on the singles charts of seventeen countries. In the United Kingdom, it became Spears' third consecutive single to peak inside the top five, while it reached number 10 in the United States' Hot 100, and peaked at number one in Belgium (Wallonia). An accompanying music video, directed by Nigel Dick, and portrayed Spears as a waitress of a dance club, and performed a highly choreographed dance routine with the other waitresses. The video premiered on MTV's Making the Video special, and featured cameo appearances of actors Melissa Joan Hart and Adrien Grenier. As part of promotion for the song, Spears performed the song at the 1999 MTV Europe Music Awards and 1999 Billboard Music Awards. It has also been included on five of her concert tours.",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fbaby-one-more-time-4dcff7453745a.jpg/",
+ "fanart" : "",
+ "rating" : 0,
+ "year" : 1999,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/Britney Spears - (You Drive Me) Crazy (1999).mp4",
+ "dateadded" : "2016-12-29 16:50:28",
+ "userrating" : 0,
+ "artist" : [
+ "Britney Spears"
+ ],
+ "lastplayed" : "2017-02-28 11:07:15",
+ "studio" : [],
+ "tag" : [],
+ "title" : "(You Drive Me) Crazy",
+ "label" : "(You Drive Me) Crazy",
+ "runtime" : 12,
+ "track" : -1,
+ "genre" : [
+ "Pop"
+ ],
+ "streamdetails" : {
+ "audio" : [
+ {
+ "channels" : 2,
+ "language" : "und",
+ "codec" : "aac"
+ }
+ ],
+ "video" : [
+ {
+ "width" : 480,
+ "language" : "und",
+ "height" : 360,
+ "duration" : 12,
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "codec" : "h264"
+ }
+ ],
+ "subtitle" : []
+ },
+ "musicvideoid" : 60,
+ "premiered" : "1999-01-01",
+ "playcount" : 1
+ },
+ {
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fsvpxyw1364737910.jpg/"
+ },
+ "director" : [],
+ "plot" : "",
+ "album" : "Rubber Factory",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/The Black Keys - 10 A.M. Automatic (2004).mp4",
+ "rating" : 0,
+ "year" : 2004,
+ "fanart" : "",
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fsvpxyw1364737910.jpg/",
+ "track" : -1,
+ "label" : "10 A.M. Automatic",
+ "runtime" : 12,
+ "lastplayed" : "",
+ "studio" : [],
+ "title" : "10 A.M. Automatic",
+ "tag" : [],
+ "dateadded" : "2016-12-29 16:50:29",
+ "artist" : [
+ "The Black Keys"
+ ],
+ "userrating" : 0,
+ "premiered" : "2004-01-01",
+ "playcount" : 0,
+ "musicvideoid" : 370,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "channels" : 2,
+ "language" : "und",
+ "codec" : "aac"
+ }
+ ],
+ "video" : [
+ {
+ "language" : "",
+ "height" : 360,
+ "width" : 480,
+ "duration" : 12,
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "codec" : "avc1"
+ }
+ ]
+ },
+ "genre" : [
+ "Indie"
+ ]
+ },
+ {
+ "runtime" : 12,
+ "label" : "99 Problems",
+ "track" : -1,
+ "userrating" : 0,
+ "artist" : [
+ "Jay-Z"
+ ],
+ "dateadded" : "2016-12-29 16:50:28",
+ "title" : "99 Problems",
+ "tag" : [],
+ "studio" : [
+ "Anonymous Content"
+ ],
+ "lastplayed" : "",
+ "musicvideoid" : 164,
+ "streamdetails" : {
+ "audio" : [
+ {
+ "codec" : "aac",
+ "channels" : 2,
+ "language" : "und"
+ }
+ ],
+ "video" : [
+ {
+ "aspect" : 1.33333301544189,
+ "stereomode" : "",
+ "codec" : "avc1",
+ "duration" : 12,
+ "width" : 480,
+ "language" : "",
+ "height" : 360
+ }
+ ],
+ "subtitle" : []
+ },
+ "premiered" : "2003-01-01",
+ "playcount" : 0,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "director" : [
+ "Mark Romanek"
+ ],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fthe-black-album-4ee5475d9f478.jpg/"
+ },
+ "plot" : "\"99 Problems\" is the third single released by American rapper Jay-Z in 2004 from The Black Album. The song was originally written by rapper Ice-T in 1993. Throughout the song Jay-Z tells a story about dealing with a racist police officer who wants to illegally search his car, dealing with rap critics, and dealing with an aggressor. The song reached number 30 on the Billboard Hot 100.\nThe track was produced by Rick Rubin, his first hip hop production in many years. Rubin provided Jay-Z with a guitar riff and stripped-down beat that were once his trademarks. In creating the track Rubin used some classic 1980s sample staples such as \"The Big Beat\" by Billy Squier, \"Long Red\" by Mountain, and \"Get Me Back On Time\" by Wilson Pickett. These songs were long coveted by early hip hop producers, in particular the drum beat from Big Beat, used most famously by Run–D.M.C. on \"Here We Go\" in 1985 and by British rapper Dizzee Rascal a year prior to Jay-Z on his break-through hit \"Fix Up, Look Sharp\". It also featured on the popular Ultimate Breaks and Beats series.\nWhile the song's meaning is widely debated, the chorus \"If you're having girl problems, I feel bad for you son/I've got 99 problems but a bitch ain't one\" was defined in Jay-Z's book, Decoded, as referring to a police dog. Jay-Z wrote that in 1994 he was pulled over by police while carrying cocaine in a secret compartment in his sunroof. Jay-Z refused to let the police search the car and the police called for the drug sniffing dogs. However, the dogs never showed up and the police had to let Jay-Z go. Moments after he drove away, he wrote that he saw a police car with the dogs drive by.\nThe title and chorus are taken from Ice-T's \"99 Problems\" from his 1993 album Home Invasion. The song featured Brother Marquis of 2 Live Crew. The original song was more profane and describes a wide range of sexual conquests. Portions of Ice-T's original lyrics were similarly quoted in a song by fellow rapper Trick Daddy on a track also titled \"99 Problems\" from his 2001 album Thugs Are Us. Jay-Z begins his third verse directly quoting lines from Bun B's opening verse off the track \"Touched\" from the UGK album Ridin' Dirty.",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "album" : "The Black Album",
+ "year" : 2003,
+ "rating" : 0,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/Jay-Z - 99 Problems (2004).mp4",
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fthe-black-album-4ee5475d9f478.jpg/",
+ "fanart" : ""
+ },
+ {
+ "album" : "Dirty",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "plot" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fdirty-50030abf884f2.jpg/"
+ },
+ "director" : [
+ "Tamra Davis"
+ ],
+ "fanart" : "",
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fdirty-50030abf884f2.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/Sonic Youth - 100% (1992).mp4",
+ "rating" : 0,
+ "year" : 1992,
+ "lastplayed" : "",
+ "studio" : [],
+ "tag" : [],
+ "title" : "100%",
+ "dateadded" : "2016-12-29 16:50:28",
+ "userrating" : 0,
+ "artist" : [
+ "Sonic Youth"
+ ],
+ "track" : -1,
+ "label" : "100%",
+ "runtime" : 12,
+ "genre" : [
+ "Alternative Rock"
+ ],
+ "premiered" : "1992-01-01",
+ "playcount" : 0,
+ "streamdetails" : {
+ "audio" : [
+ {
+ "language" : "und",
+ "channels" : 2,
+ "codec" : "aac"
+ }
+ ],
+ "video" : [
+ {
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "codec" : "avc1",
+ "width" : 480,
+ "language" : "",
+ "height" : 360,
+ "duration" : 12
+ }
+ ],
+ "subtitle" : []
+ },
+ "musicvideoid" : 349
+ },
+ {
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "art" : {
+ "thumb" : "image://video@%2fUsers%2fmartijn%2fProjects%2fdummymediafiles%2fmedia%2fmusicvideos%2fPeter%20Himmelman%20-%20245%20Days%20(1990).mp4/"
+ },
+ "director" : [],
+ "plot" : "",
+ "album" : "Synesthesia",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/Peter Himmelman - 245 Days (1990).mp4",
+ "year" : 1989,
+ "rating" : 0,
+ "fanart" : "",
+ "thumbnail" : "image://video@%2fUsers%2fmartijn%2fProjects%2fdummymediafiles%2fmedia%2fmusicvideos%2fPeter%20Himmelman%20-%20245%20Days%20(1990).mp4/",
+ "track" : -1,
+ "runtime" : 12,
+ "label" : "245 Days",
+ "tag" : [],
+ "title" : "245 Days",
+ "lastplayed" : "",
+ "studio" : [],
+ "artist" : [
+ "Peter Himmelman"
+ ],
+ "userrating" : 0,
+ "dateadded" : "2016-12-29 16:50:28",
+ "premiered" : "1989-01-01",
+ "playcount" : 0,
+ "streamdetails" : {
+ "audio" : [
+ {
+ "language" : "und",
+ "channels" : 2,
+ "codec" : "aac"
+ }
+ ],
+ "video" : [
+ {
+ "stereomode" : "",
+ "codec" : "avc1",
+ "aspect" : 1.33333301544189,
+ "duration" : 12,
+ "width" : 480,
+ "language" : "",
+ "height" : 360
+ }
+ ],
+ "subtitle" : []
+ },
+ "musicvideoid" : 297,
+ "genre" : [
+ "..."
+ ]
+ },
+ {
+ "dateadded" : "2016-12-29 16:50:28",
+ "artist" : [
+ "Public Enemy"
+ ],
+ "userrating" : 0,
+ "studio" : [],
+ "lastplayed" : "2017-03-02 10:43:26",
+ "tag" : [],
+ "title" : "911 Is a Joke",
+ "label" : "911 Is a Joke",
+ "runtime" : 12,
+ "track" : -1,
+ "genre" : [
+ "Hip-Hop"
+ ],
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "codec" : "aac",
+ "language" : "und",
+ "channels" : 2
+ }
+ ],
+ "video" : [
+ {
+ "codec" : "h264",
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "language" : "und",
+ "height" : 360,
+ "width" : 480,
+ "duration" : 12
+ }
+ ]
+ },
+ "musicvideoid" : 306,
+ "premiered" : "1990-01-01",
+ "playcount" : 1,
+ "album" : "Fear of a Black Planet",
+ "director" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2ffear-of-a-black-planet-526965153a1e4.jpg/"
+ },
+ "plot" : "\"911 Is a Joke\" is a 1990 song by American hip hop group Public Enemy, from their third album, Fear of a Black Planet. The song is solely done by Flavor Flav. It was released as a single and became a hit in June 1990, reaching number 15 on the Hot R&B/Hip-Hop Singles & Tracks chart, and number 1 on the Hot Rap Singles chart, becoming their second number-one rap chart hit after \"Fight the Power\". It also reached number one on the Bubbling Under Hot 100 Singles chart. This was due largely to its sales, which were unusually high for the level of mainstream airplay it received; Billboard reported that only one of the stations on its Top 40 panel was playing it.\n\nThe song is about the lack of response to emergency calls in a black neighborhood, but specifically references the poor response by paramedic crews and not the police, which is a common misconception regarding the track; the \"911\" in the title of the song refers to 9-1-1, the emergency telephone number used in North America.",
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2ffear-of-a-black-planet-526965153a1e4.jpg/",
+ "fanart" : "",
+ "rating" : 0,
+ "year" : 1990,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/Public Enemy - 911 is a Joke (1990).mp4"
+ },
+ {
+ "label" : "A Case of You",
+ "runtime" : 12,
+ "track" : -1,
+ "dateadded" : "2016-12-29 16:50:28",
+ "userrating" : 0,
+ "artist" : [
+ "James Blake"
+ ],
+ "lastplayed" : "",
+ "studio" : [],
+ "tag" : [],
+ "title" : "A Case of You",
+ "streamdetails" : {
+ "audio" : [
+ {
+ "channels" : 2,
+ "language" : "und",
+ "codec" : "aac"
+ }
+ ],
+ "video" : [
+ {
+ "width" : 480,
+ "height" : 360,
+ "language" : "",
+ "duration" : 12,
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "codec" : "avc1"
+ }
+ ],
+ "subtitle" : []
+ },
+ "musicvideoid" : 160,
+ "premiered" : "2011-01-01",
+ "playcount" : 0,
+ "genre" : [
+ "Electronic"
+ ],
+ "director" : [],
+ "plot" : "",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2ftyswrr1377556931.jpg/"
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "album" : "Enough Thunder",
+ "rating" : 0,
+ "year" : 2011,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/James Blake - A Case Of You (2011).mp4",
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2ftyswrr1377556931.jpg/",
+ "fanart" : ""
+ },
+ {
+ "track" : -1,
+ "label" : "A Little Respect",
+ "runtime" : 12,
+ "studio" : [],
+ "lastplayed" : "",
+ "tag" : [],
+ "title" : "A Little Respect",
+ "dateadded" : "2016-12-29 16:50:28",
+ "artist" : [
+ "Wheatus"
+ ],
+ "userrating" : 0,
+ "premiered" : "2000-01-01",
+ "playcount" : 0,
+ "musicvideoid" : 430,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "channels" : 2,
+ "language" : "und",
+ "codec" : "aac"
+ }
+ ],
+ "video" : [
+ {
+ "stereomode" : "",
+ "codec" : "avc1",
+ "aspect" : 1.33333301544189,
+ "duration" : 12,
+ "language" : "",
+ "height" : 360,
+ "width" : 480
+ }
+ ]
+ },
+ "genre" : [
+ "Rock"
+ ],
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fwheatus-5144f1c42ea0a.jpg/"
+ },
+ "plot" : "",
+ "director" : [],
+ "album" : "Wheatus",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/Wheatus - A Little Respect (2000).mp4",
+ "rating" : 0,
+ "year" : 2000,
+ "fanart" : "",
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fwheatus-5144f1c42ea0a.jpg/"
+ },
+ {
+ "rating" : 0,
+ "year" : 1996,
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/Counting Crows - A Long December (1996).mp4",
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2frecovering-the-satellites-4dcfda1792ec0.jpg/",
+ "fanart" : "",
+ "plot" : "",
+ "director" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2frecovering-the-satellites-4dcfda1792ec0.jpg/"
+ },
+ "resume" : {
+ "total" : 0,
+ "position" : 0
+ },
+ "album" : "Recovering the Satellites",
+ "musicvideoid" : 79,
+ "streamdetails" : {
+ "video" : [
+ {
+ "duration" : 12,
+ "width" : 480,
+ "height" : 360,
+ "language" : "",
+ "aspect" : 1.33333301544189,
+ "stereomode" : "",
+ "codec" : "avc1"
+ }
+ ],
+ "audio" : [
+ {
+ "language" : "und",
+ "channels" : 2,
+ "codec" : "aac"
+ }
+ ],
+ "subtitle" : []
+ },
+ "premiered" : "1996-01-01",
+ "playcount" : 0,
+ "genre" : [
+ "Alternative Rock"
+ ],
+ "label" : "A Long December",
+ "runtime" : 12,
+ "track" : -1,
+ "dateadded" : "2016-12-29 16:50:28",
+ "artist" : [
+ "Counting Crows"
+ ],
+ "userrating" : 0,
+ "studio" : [],
+ "lastplayed" : "",
+ "tag" : [],
+ "title" : "A Long December"
+ },
+ {
+ "genre" : [
+ "Folk"
+ ],
+ "premiered" : "1985-01-01",
+ "playcount" : 0,
+ "streamdetails" : {
+ "subtitle" : [],
+ "audio" : [
+ {
+ "channels" : 2,
+ "language" : "und",
+ "codec" : "aac"
+ }
+ ],
+ "video" : [
+ {
+ "stereomode" : "",
+ "aspect" : 1.33333301544189,
+ "codec" : "avc1",
+ "duration" : 12,
+ "language" : "",
+ "height" : 360,
+ "width" : 480
+ }
+ ]
+ },
+ "musicvideoid" : 390,
+ "tag" : [],
+ "title" : "A Pair of Brown Eyes",
+ "lastplayed" : "",
+ "studio" : [],
+ "artist" : [
+ "The Pogues"
+ ],
+ "userrating" : 0,
+ "dateadded" : "2016-12-29 16:50:28",
+ "track" : -1,
+ "runtime" : 12,
+ "label" : "A Pair of Brown Eyes",
+ "fanart" : "",
+ "thumbnail" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2frum-sodomy--the-lash-52f1dda495de3.jpg/",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/musicvideos/The Pogues - A Pair of Brown Eyes (1985).mp4",
+ "year" : 1985,
+ "rating" : 0,
+ "album" : "Rum Sodomy & the Lash",
+ "resume" : {
+ "position" : 0,
+ "total" : 0
+ },
+ "art" : {
+ "poster" : "image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2frum-sodomy--the-lash-52f1dda495de3.jpg/"
+ },
+ "director" : [],
+ "plot" : ""
+ }
+ ],
+ "limits" : {
+ "total" : 439,
+ "start" : 0,
+ "end" : 10
+ }
+ }
+}
diff --git a/app/src/debug/assets/VideoLibrary.GetSeasons.json b/app/src/debug/assets/VideoLibrary.GetSeasons.json
new file mode 100644
index 0000000..15600c5
--- /dev/null
+++ b/app/src/debug/assets/VideoLibrary.GetSeasons.json
@@ -0,0 +1,465 @@
+{
+ "id" : "libTVShowSeasons",
+ "jsonrpc" : "2.0",
+ "result" : {
+ "limits" : {
+ "end" : 21,
+ "total" : 21,
+ "start" : 0
+ },
+ "seasons" : [
+ {
+ "playcount" : 0,
+ "episode" : 8,
+ "label" : "Season 1",
+ "userrating" : 0,
+ "thumbnail" : "",
+ "watchedepisodes" : 3,
+ "seasonid" : 6,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/"
+ },
+ "fanart" : "",
+ "showtitle" : "3",
+ "season" : 1,
+ "tvshowid" : 2
+ },
+ {
+ "userrating" : 0,
+ "thumbnail" : "",
+ "episode" : 49,
+ "playcount" : 0,
+ "label" : "Season 1",
+ "seasonid" : 9,
+ "watchedepisodes" : 2,
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "season" : 1,
+ "showtitle" : "4 Stjerners Middag",
+ "tvshowid" : 3
+ },
+ {
+ "episode" : 41,
+ "playcount" : 0,
+ "label" : "Season 2",
+ "userrating" : 0,
+ "thumbnail" : "",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/"
+ },
+ "seasonid" : 10,
+ "watchedepisodes" : 0,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshowid" : 3,
+ "season" : 2,
+ "showtitle" : "4 Stjerners Middag"
+ },
+ {
+ "playcount" : 0,
+ "episode" : 20,
+ "label" : "Season 3",
+ "userrating" : 0,
+ "thumbnail" : "",
+ "art" : {
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "watchedepisodes" : 0,
+ "seasonid" : 11,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tvshowid" : 3,
+ "showtitle" : "4 Stjerners Middag",
+ "season" : 3
+ },
+ {
+ "episode" : 8,
+ "playcount" : 1,
+ "label" : "Season 1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f301824-1-4.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/"
+ },
+ "watchedepisodes" : 8,
+ "seasonid" : 3,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "tvshowid" : 1,
+ "showtitle" : "11.22.63",
+ "season" : 1
+ },
+ {
+ "tvshowid" : 137,
+ "showtitle" : "The A-Team",
+ "season" : 1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "art" : {
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "watchedepisodes" : 0,
+ "seasonid" : 553,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-1.jpg/",
+ "userrating" : 0,
+ "label" : "Season 1",
+ "playcount" : 0,
+ "episode" : 13
+ },
+ {
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "playcount" : 0,
+ "label" : "Season 2",
+ "episode" : 23,
+ "seasonid" : 554,
+ "watchedepisodes" : 0,
+ "art" : {
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-2.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "showtitle" : "The A-Team",
+ "season" : 2,
+ "tvshowid" : 137
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "showtitle" : "The A-Team",
+ "season" : 3,
+ "tvshowid" : 137,
+ "episode" : 25,
+ "playcount" : 0,
+ "label" : "Season 3",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "userrating" : 0,
+ "seasonid" : 555,
+ "watchedepisodes" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-3.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-3.jpg/"
+ }
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "showtitle" : "The A-Team",
+ "season" : 4,
+ "tvshowid" : 137,
+ "episode" : 23,
+ "playcount" : 0,
+ "label" : "Season 4",
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "watchedepisodes" : 0,
+ "seasonid" : 556,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-4.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f77904-4.jpg/"
+ }
+ },
+ {
+ "label" : "Season 5",
+ "playcount" : 0,
+ "episode" : 13,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "userrating" : 0,
+ "seasonid" : 557,
+ "watchedepisodes" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f77904-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "season" : 5,
+ "showtitle" : "The A-Team",
+ "tvshowid" : 137
+ },
+ {
+ "watchedepisodes" : 9,
+ "seasonid" : 14,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-1-2.jpg/",
+ "playcount" : 0,
+ "episode" : 22,
+ "label" : "Season 1",
+ "season" : 1,
+ "showtitle" : "According to Jim",
+ "tvshowid" : 4,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ {
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/"
+ },
+ "seasonid" : 15,
+ "watchedepisodes" : 0,
+ "playcount" : 0,
+ "label" : "Season 2",
+ "episode" : 28,
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-2-2.jpg/",
+ "tvshowid" : 4,
+ "season" : 2,
+ "showtitle" : "According to Jim",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ {
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "playcount" : 0,
+ "label" : "Season 3",
+ "episode" : 29,
+ "watchedepisodes" : 0,
+ "seasonid" : 16,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-3-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "showtitle" : "According to Jim",
+ "season" : 3,
+ "tvshowid" : 4
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season" : 4,
+ "showtitle" : "According to Jim",
+ "tvshowid" : 4,
+ "episode" : 27,
+ "playcount" : 0,
+ "label" : "Season 4",
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "watchedepisodes" : 0,
+ "seasonid" : 17,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-4-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ }
+ },
+ {
+ "showtitle" : "According to Jim",
+ "season" : 5,
+ "tvshowid" : 4,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "seasonid" : 18,
+ "watchedepisodes" : 0,
+ "art" : {
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/"
+ },
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f3449-5.jpg/",
+ "label" : "Season 5",
+ "playcount" : 0,
+ "episode" : 22
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "season" : 6,
+ "showtitle" : "According to Jim",
+ "tvshowid" : 4,
+ "playcount" : 0,
+ "episode" : 18,
+ "label" : "Season 6",
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "seasonid" : 19,
+ "watchedepisodes" : 0,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-6-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ }
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshowid" : 4,
+ "season" : 7,
+ "showtitle" : "According to Jim",
+ "episode" : 18,
+ "playcount" : 0,
+ "label" : "Season 7",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "userrating" : 0,
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-7-2.jpg/"
+ },
+ "watchedepisodes" : 0,
+ "seasonid" : 20
+ },
+ {
+ "watchedepisodes" : 0,
+ "seasonid" : 21,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/"
+ },
+ "playcount" : 0,
+ "episode" : 18,
+ "label" : "Season 8",
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f75926-8-2.jpg/",
+ "season" : 8,
+ "showtitle" : "According to Jim",
+ "tvshowid" : 4,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "tvshowid" : 138,
+ "season" : 1,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "userrating" : 0,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "episode" : 26,
+ "playcount" : 0,
+ "label" : "Season 1",
+ "art" : {
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-1.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "watchedepisodes" : 0,
+ "seasonid" : 560
+ },
+ {
+ "season" : 2,
+ "showtitle" : "The Adventures of Abney & Teal",
+ "tvshowid" : 138,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "seasonid" : 561,
+ "watchedepisodes" : 0,
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "season.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "season.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasonswide%2f252308-2.jpg/"
+ },
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fseasons%2f252308-2.jpg/",
+ "userrating" : 0,
+ "playcount" : 0,
+ "label" : "Season 2",
+ "episode" : 26
+ },
+ {
+ "episode" : 1,
+ "playcount" : 1,
+ "label" : "Season 3",
+ "userrating" : 0,
+ "thumbnail" : "",
+ "watchedepisodes" : 1,
+ "seasonid" : 24,
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f104171-1.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f104171-1.jpg/",
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f104171-g.jpg/"
+ },
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f104171-1.jpg/",
+ "season" : 3,
+ "showtitle" : "Air Ways",
+ "tvshowid" : 5
+ },
+ {
+ "art" : {
+ "tvshow.banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/",
+ "tvshow.poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/"
+ },
+ "watchedepisodes" : 0,
+ "seasonid" : 27,
+ "thumbnail" : "",
+ "userrating" : 0,
+ "episode" : 10,
+ "playcount" : 0,
+ "label" : "Season 1",
+ "tvshowid" : 6,
+ "showtitle" : "American Colony Meet the Hutterites",
+ "season" : 1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/"
+ },
+ {
+ "tvshowid" : 7,
+ "showtitle" : "Amish: Out Of Order",
+ "season" : 1,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "art" : {
+ "tvshow.fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "seasonid" : 30,
+ "watchedepisodes" : 0,
+ "userrating" : 0,
+ "thumbnail" : "",
+ "episode" : 9,
+ "playcount" : 0,
+ "label" : "Season 1"
+ }
+ ]
+ }
+}
diff --git a/app/src/debug/assets/VideoLibrary.GetTVShows.json b/app/src/debug/assets/VideoLibrary.GetTVShows.json
new file mode 100644
index 0000000..83b2d05
--- /dev/null
+++ b/app/src/debug/assets/VideoLibrary.GetTVShows.json
@@ -0,0 +1,691 @@
+{
+ "id" : "libTVShows",
+ "jsonrpc" : "2.0",
+ "result" : {
+ "tvshows" : [
+ {
+ "tvshowid" : 2,
+ "sorttitle" : "",
+ "season" : 1,
+ "lastplayed" : "2017-02-06 16:56:12",
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "260473"
+ },
+ "imdbnumber" : "260473",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f260473-g.jpg/"
+ },
+ "originaltitle" : "",
+ "year" : 2012,
+ "title" : "3",
+ "mpaa" : "",
+ "userrating" : 0,
+ "studio" : [
+ "CBS"
+ ],
+ "rating" : 10,
+ "fanart" : "",
+ "tag" : [],
+ "premiered" : "2012-07-26",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/3 (2012)/",
+ "cast" : [],
+ "genre" : [
+ "Reality"
+ ],
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/260473/all/en.zip ",
+ "watchedepisodes" : 3,
+ "dateadded" : "2016-08-26 09:16:59",
+ "label" : "3",
+ "ratings" : {
+ "default" : {
+ "votes" : 0,
+ "rating" : 10,
+ "default" : true
+ }
+ },
+ "episode" : 8,
+ "plot" : "Instead of competing against each other, the women searching for love in this relationship series are there to share the experience with one another, offering emotional support during the dating and decision-making process as they whittle down the group of nearly 100 men they start out with and each tries to find a good match. The women -- 29-year-old entrepreneur April Francis, 34-year-old pharmaceutical sales rep Rachel Harley and 24-year-old model Libby Lopez -- bring different backgrounds and experiences to the table, but their common goal unites them as they embark on their journey. Alex Miranda hosts.",
+ "playcount" : 0,
+ "votes" : "0",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f260473-1.jpg/"
+ },
+ {
+ "cast" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/4-stjerners middag (2010)/",
+ "premiered" : "2010-01-25",
+ "watchedepisodes" : 2,
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/146391/all/en.zip ",
+ "genre" : [
+ "Reality"
+ ],
+ "dateadded" : "2016-08-26 09:16:59",
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 10
+ }
+ },
+ "episode" : 110,
+ "playcount" : 0,
+ "label" : "4 Stjerners Middag",
+ "plot" : "Danish version of the British \"Come Dine With Me\". Every week four celebrities invites each other home for dinner, one by one. The goal is to make a perfect evening for the three guests, and collect as many points as possible, to be the host of the week. The host picks out the three course dinner and is responsible for buying groceries and preparing the meal.",
+ "studio" : [
+ "TVNorge"
+ ],
+ "rating" : 10,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/",
+ "tag" : [],
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f146391-2.jpg/",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f146391-2.jpg/"
+ },
+ "imdbnumber" : "146391",
+ "title" : "4 Stjerners Middag",
+ "year" : 2010,
+ "originaltitle" : "",
+ "userrating" : 0,
+ "mpaa" : "",
+ "tvshowid" : 3,
+ "season" : 3,
+ "sorttitle" : "",
+ "lastplayed" : "2017-02-06 17:02:53",
+ "uniqueid" : {
+ "unknown" : "146391"
+ },
+ "runtime" : 3600
+ },
+ {
+ "title" : "11.22.63",
+ "year" : 2016,
+ "originaltitle" : "",
+ "mpaa" : "TV-MA",
+ "userrating" : 0,
+ "imdbnumber" : "301824",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f301824-g.jpg/"
+ },
+ "lastplayed" : "2017-02-28 11:14:40",
+ "runtime" : 3000,
+ "uniqueid" : {
+ "unknown" : "301824"
+ },
+ "tvshowid" : 1,
+ "sorttitle" : "",
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:17:01",
+ "ratings" : {
+ "default" : {
+ "votes" : 31,
+ "rating" : 7.69999980926514,
+ "default" : true
+ }
+ },
+ "episode" : 8,
+ "label" : "11.22.63",
+ "playcount" : 1,
+ "plot" : "A teacher discovers a time portal that leads to October 21st, 1960 and goes on a quest to try and prevent the assassination of John F. Kennedy, which is complicated by the presence of Lee Harvey Oswald and the fact that he's falling in love with the past itself.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f301824-8.jpg/",
+ "votes" : "31",
+ "premiered" : "2016-02-15",
+ "cast" : [
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fromance%2f.actors%2fJames_Franco.jpg/",
+ "order" : 0,
+ "name" : "James Franco",
+ "role" : "Jake Epping"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358603.jpg/",
+ "order" : 1,
+ "role" : "Sadie Dunhill",
+ "name" : "Sarah Gadon"
+ },
+ {
+ "order" : 2,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fChris_Cooper.jpg/",
+ "role" : "Al Templeton",
+ "name" : "Chris Cooper"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f380762.jpg/",
+ "order" : 3,
+ "role" : "Harry Dunning",
+ "name" : "Leon Rippy"
+ },
+ {
+ "name" : "Kevin J. O'Connor",
+ "role" : "Yellow Card Man",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f370399.jpg/",
+ "order" : 4
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358610.jpg/",
+ "order" : 5,
+ "role" : "Bill Turcotte",
+ "name" : "George MacKay"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358609.jpg/",
+ "order" : 6,
+ "role" : "Lee Harvey Oswald",
+ "name" : "Daniel Webber"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358608.jpg/",
+ "order" : 7,
+ "role" : "Johnny Clayton",
+ "name" : "T.R. Knight"
+ },
+ {
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358607.jpg/",
+ "role" : "Marquerite Oswald",
+ "name" : "Cherry Jones"
+ },
+ {
+ "order" : 9,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358606.jpg/",
+ "name" : "Lucy Fry",
+ "role" : "Marina Oswald"
+ },
+ {
+ "role" : "Frank Dunning",
+ "name" : "Josh Duhamel",
+ "order" : 10,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f358602.jpg/"
+ },
+ {
+ "order" : 22,
+ "role" : "George de Mohrenschildt",
+ "name" : "Johny Coyne"
+ },
+ {
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fdrama%2f.actors%2fNick_Searcy.jpg/",
+ "order" : 23,
+ "role" : "Deke Simmons",
+ "name" : "Nick Searcy"
+ }
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/11_22_63 (2016)/",
+ "genre" : [
+ "Drama",
+ "Mini-Series",
+ "Science-Fiction"
+ ],
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/301824/all/en.zip ",
+ "watchedepisodes" : 8,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f301824-10.jpg/",
+ "tag" : [],
+ "studio" : [
+ "Hulu"
+ ],
+ "rating" : 7.69999980926514
+ },
+ {
+ "tvshowid" : 137,
+ "sorttitle" : "",
+ "season" : 5,
+ "lastplayed" : "",
+ "runtime" : 2700,
+ "uniqueid" : {
+ "unknown" : "77904"
+ },
+ "imdbnumber" : "77904",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f77904-g9.jpg/"
+ },
+ "year" : 1983,
+ "originaltitle" : "",
+ "title" : "The A-Team",
+ "mpaa" : "TV-PG",
+ "userrating" : 0,
+ "studio" : [
+ "NBC"
+ ],
+ "rating" : 7.80000019073486,
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f77904-5.jpg/",
+ "tag" : [],
+ "premiered" : "1983-01-23",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The A-Team (1983)/",
+ "cast" : [
+ {
+ "name" : "George Peppard",
+ "role" : "Col. John \"Hannibal\" Smith",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f82360.jpg/",
+ "order" : 0
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59826.jpg/",
+ "order" : 1,
+ "name" : "Dirk Benedict",
+ "role" : "Lt. Templeton \"Faceman\" Peck"
+ },
+ {
+ "name" : "Mr. T",
+ "role" : "Sgt. Bosco Albert \"B.A.\" Baracus",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59825.jpg/",
+ "order" : 2
+ },
+ {
+ "order" : 3,
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fscifi%2f.actors%2fDwight_Schultz.jpg/",
+ "role" : "Capt. H.M. \"Howling Mad\" Murdock",
+ "name" : "Dwight Schultz"
+ },
+ {
+ "order" : 4,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59831.jpg/",
+ "role" : "Tawnia Baker",
+ "name" : "Marla Heasley"
+ },
+ {
+ "name" : "Melinda Culea",
+ "role" : "Amy Amanda 'Triple A' Allen",
+ "order" : 5,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59827.jpg/"
+ },
+ {
+ "name" : "William Lucking",
+ "role" : "Col. Lynch",
+ "order" : 6,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59836.jpg/"
+ },
+ {
+ "role" : "Col. Roderick Decker",
+ "name" : "Lance LeGault",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59828.jpg/",
+ "order" : 7
+ },
+ {
+ "name" : "Eddie Velez",
+ "role" : "Frankie \"Dishpan Man\" Santana",
+ "order" : 8,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59838.jpg/"
+ },
+ {
+ "role" : "Col. Briggs",
+ "name" : "Charles Napier",
+ "thumbnail" : "image://nfs%3a%2f%2f192.168.2.3%2f%2fvar%2fdata%2fmedia%2fvideos%2fmovies%2fcomedy%2f.actors%2fCharles_Napier.jpg/",
+ "order" : 9
+ },
+ {
+ "role" : "Capt. Crane",
+ "name" : "Carl Franklin",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f59830.jpg/",
+ "order" : 10
+ },
+ {
+ "role" : "Gen. Hunt Stockwell",
+ "name" : "Robert Vaughn",
+ "order" : 19
+ }
+ ],
+ "genre" : [
+ "Action",
+ "Adventure"
+ ],
+ "watchedepisodes" : 0,
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/77904/all/en.zip ",
+ "dateadded" : "2016-08-26 09:16:58",
+ "episode" : 97,
+ "ratings" : {
+ "default" : {
+ "votes" : 45,
+ "rating" : 7.80000019073486,
+ "default" : true
+ }
+ },
+ "label" : "The A-Team",
+ "playcount" : 0,
+ "plot" : "The A-Team is about a group of ex-United States Army Special Forces personnel who work as soldiers of fortune, while on the run from the Army after being branded as war criminals for a crime they didn't commit.",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f77904-3.jpg/",
+ "votes" : "45"
+ },
+ {
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f3449-g.jpg/"
+ },
+ "imdbnumber" : "75926",
+ "userrating" : 0,
+ "mpaa" : "TV-PG",
+ "year" : 2001,
+ "title" : "According to Jim",
+ "originaltitle" : "",
+ "sorttitle" : "",
+ "season" : 8,
+ "tvshowid" : 4,
+ "uniqueid" : {
+ "unknown" : "75926"
+ },
+ "runtime" : 1800,
+ "lastplayed" : "2017-02-28 12:18:10",
+ "watchedepisodes" : 9,
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/75926/all/en.zip ",
+ "genre" : [
+ "Comedy"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/According to Jim (2001)/",
+ "cast" : [
+ {
+ "name" : "James Belushi",
+ "role" : "Jim",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41995.jpg/",
+ "order" : 0
+ },
+ {
+ "order" : 1,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41994.jpg/",
+ "role" : "Cheryl",
+ "name" : "Courtney Thorne-Smith"
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41992.jpg/",
+ "order" : 2,
+ "name" : "Kimberly Williams-Paisley",
+ "role" : "Dana"
+ },
+ {
+ "role" : "Andy",
+ "name" : "Larry Joe Campbell",
+ "order" : 3,
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41993.jpg/"
+ },
+ {
+ "role" : "Ruby",
+ "name" : "Taylor Atelian",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41991.jpg/",
+ "order" : 4
+ },
+ {
+ "name" : "Conner Rayburn",
+ "role" : "Kyle",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41990.jpg/",
+ "order" : 5
+ },
+ {
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2factors%2f41989.jpg/",
+ "order" : 6,
+ "role" : "Gracie",
+ "name" : "Billi Bruno"
+ }
+ ],
+ "premiered" : "2001-10-03",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f75926-1.jpg/",
+ "votes" : "34",
+ "label" : "According to Jim",
+ "ratings" : {
+ "default" : {
+ "votes" : 34,
+ "default" : true,
+ "rating" : 8
+ }
+ },
+ "playcount" : 0,
+ "episode" : 182,
+ "plot" : "Jim is an abrasive but lovable suburban father. Much like his real life counterpart, Jim's character is noted as a fan of Blues music, as well as the Chicago Blackhawks, Chicago Bulls, Chicago Bears, and the Chicago Cubs. He's married to a gorgeous woman, Cheryl, and raises his five children – Ruby, Gracie, Kyle, and twins, Gordan and Jonathan – in a big house. Everything is perfect for Jim, if it wasn't for the messy situations he gets himself into and his laziness, which often makes him search for alternative ways of doing things with less effort. Of course, having his wife's siblings hanging out at his house all the time is no help. While Andy might be one of his best friends, Dana often teams up with Cheryl against Jim.",
+ "dateadded" : "2016-08-26 09:16:59",
+ "rating" : 8,
+ "studio" : [
+ "ABC (US)"
+ ],
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f75926-1.jpg/"
+ },
+ {
+ "watchedepisodes" : 0,
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/252308/all/en.zip ",
+ "genre" : [
+ "Animation",
+ "Children"
+ ],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/The Adventures of Abney & Teal (2011)/",
+ "cast" : [],
+ "premiered" : "2011-09-26",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "votes" : "1",
+ "episode" : 52,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "rating" : 9,
+ "default" : true
+ }
+ },
+ "plot" : "Animated adventures of two friends who live on an island in the middle of a lake, in the middle of a park, in the middle of the big city.",
+ "playcount" : 0,
+ "label" : "The Adventures of Abney & Teal",
+ "dateadded" : "2016-08-26 09:16:57",
+ "rating" : 9,
+ "studio" : [
+ "CBeebies"
+ ],
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f252308-1.jpg/",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f252308-4.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f252308-g3.jpg/"
+ },
+ "imdbnumber" : "252308",
+ "userrating" : 0,
+ "mpaa" : "TV-Y",
+ "year" : 2011,
+ "title" : "The Adventures of Abney & Teal",
+ "originaltitle" : "",
+ "season" : 2,
+ "sorttitle" : "",
+ "tvshowid" : 138,
+ "uniqueid" : {
+ "unknown" : "252308"
+ },
+ "runtime" : 660,
+ "lastplayed" : ""
+ },
+ {
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f104171-1.jpg/",
+ "rating" : 3,
+ "studio" : [
+ "Seven Network"
+ ],
+ "episode" : 1,
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 3
+ }
+ },
+ "label" : "Air Ways",
+ "plot" : "Follow the ups and downs of travel on Tiger Airways as viewers get an unprecedented look into the day-to-day running of a budget airline in Australia. A cancelled flight causes chaos, staff witness an unexpected proposal, a baggage problem riles a mum's temper, and a sleep-deprived teenager awakens to a rude shock.\r\nNarrated by Corinne Grant",
+ "playcount" : 1,
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f104171-1.jpg/",
+ "dateadded" : "2016-08-26 09:16:57",
+ "genre" : [
+ "Reality"
+ ],
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/104171/all/en.zip ",
+ "watchedepisodes" : 1,
+ "premiered" : "2009-07-21",
+ "cast" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Airways (2009)/",
+ "runtime" : 1800,
+ "uniqueid" : {
+ "unknown" : "104171"
+ },
+ "lastplayed" : "2017-02-06 16:41:56",
+ "sorttitle" : "",
+ "season" : 1,
+ "tvshowid" : 5,
+ "mpaa" : "TV-PG",
+ "userrating" : 0,
+ "originaltitle" : "",
+ "year" : 2009,
+ "title" : "Air Ways",
+ "imdbnumber" : "104171",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f104171-1.jpg/",
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f104171-1.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f104171-g.jpg/"
+ }
+ },
+ {
+ "sorttitle" : "",
+ "season" : 0,
+ "tvshowid" : 127,
+ "runtime" : 0,
+ "uniqueid" : {
+ "unknown" : "278782"
+ },
+ "lastplayed" : "",
+ "imdbnumber" : "278782",
+ "art" : {
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f278782-1.jpg/"
+ },
+ "mpaa" : "",
+ "userrating" : 0,
+ "year" : 1969,
+ "originaltitle" : "",
+ "title" : "Al Jazeera Special Series",
+ "rating" : 10,
+ "studio" : [],
+ "tag" : [],
+ "fanart" : "",
+ "genre" : [],
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/278782/all/en.zip ",
+ "watchedepisodes" : 0,
+ "premiered" : "1969-12-31",
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Special Series (2016)/",
+ "cast" : [],
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "rating" : 10,
+ "default" : true
+ }
+ },
+ "episode" : 0,
+ "label" : "Al Jazeera Special Series",
+ "plot" : "",
+ "playcount" : 1,
+ "votes" : "1",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f278782-1.jpg/",
+ "dateadded" : ""
+ },
+ {
+ "originaltitle" : "",
+ "year" : 2012,
+ "title" : "American Colony Meet the Hutterites",
+ "userrating" : 0,
+ "mpaa" : "",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "poster" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "banner" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fgraphical%2f259064-g.jpg/"
+ },
+ "imdbnumber" : "259064",
+ "lastplayed" : "",
+ "uniqueid" : {
+ "unknown" : "259064"
+ },
+ "runtime" : 1800,
+ "tvshowid" : 6,
+ "sorttitle" : "",
+ "season" : 1,
+ "dateadded" : "2016-08-26 09:16:57",
+ "thumbnail" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2fposters%2f259064-1.jpg/",
+ "votes" : "1",
+ "plot" : "Meet the Hutterites—a small religious colony in rural Montana who holds desperately to their sacred traditions while fighting the modern temptations of the outside world. King Colony is made up of 59 people and they are almost all related. This family lives together, works together, and worships God together, 7 days a week, 365 days a year, for their entire lives. And, like any family, this one doesn’t always agree. Most of the colony is holding tight to the age-old traditions of their ancestors, while others are flirting with modern society. Some feel that bringing modern technology, education, and ideas into the colony will only help it, while others fear that this modern way of thinking threatens their very existence. We follow the men, the women, the young, and the old, as they strive to live as proper Hutterites. Some will succeed, some will fail, and everyone will have a choice to make. This is the very first glimpse into the world of the Hutterites.",
+ "ratings" : {
+ "default" : {
+ "votes" : 1,
+ "default" : true,
+ "rating" : 1
+ }
+ },
+ "label" : "American Colony Meet the Hutterites",
+ "episode" : 10,
+ "playcount" : 0,
+ "cast" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/American Colony: Meet the Hutterites (2012)/",
+ "premiered" : "2012-05-29",
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/259064/all/en.zip ",
+ "watchedepisodes" : 0,
+ "genre" : [
+ "Documentary"
+ ],
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f259064-1.jpg/",
+ "tag" : [],
+ "studio" : [
+ "National Geographic"
+ ],
+ "rating" : 1
+ },
+ {
+ "runtime" : 3600,
+ "uniqueid" : {
+ "unknown" : "258525"
+ },
+ "lastplayed" : "",
+ "season" : 1,
+ "sorttitle" : "",
+ "tvshowid" : 7,
+ "mpaa" : "TV-PG",
+ "userrating" : 0,
+ "year" : 2012,
+ "originaltitle" : "",
+ "title" : "Amish: Out Of Order",
+ "imdbnumber" : "258525",
+ "art" : {
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/"
+ },
+ "tag" : [],
+ "fanart" : "image://http%3a%2f%2fthetvdb.com%2fbanners%2ffanart%2foriginal%2f258525-1.jpg/",
+ "rating" : 8.5,
+ "studio" : [
+ "National Geographic"
+ ],
+ "label" : "Amish: Out Of Order",
+ "ratings" : {
+ "default" : {
+ "rating" : 8.5,
+ "default" : true,
+ "votes" : 0
+ }
+ },
+ "plot" : "It takes a lot to leave the only life you’ve ever known—for one you’ve been told will lead you straight to hell. And with little possibility of normal contact with your family ever again, turning your back on the Amish order is an immense undertaking, and a choice that’s not made without tremendous consideration. In the new ten-part series Amish: Out of Order, follow the trials and tribulations of individuals who have made the decision to leave the Amish community behind. Due to their religious beliefs, most Amish refuse to be photographed or videotaped—even ex-Amish risk permanent shunning by their family and community for appearing on camera. The ex-Amish in this program accept that risk.",
+ "playcount" : 0,
+ "episode" : 9,
+ "thumbnail" : "",
+ "votes" : "0",
+ "dateadded" : "2016-08-26 09:16:59",
+ "genre" : [
+ "Documentary",
+ "Reality"
+ ],
+ "watchedepisodes" : 0,
+ "episodeguide" : "http://thetvdb.com/api/1D62F2F90030C444/series/258525/all/en.zip ",
+ "premiered" : "2012-04-24",
+ "cast" : [],
+ "file" : "/Users/martijn/Projects/dummymediafiles/media/tvshows/Amish: Out of Order (2012)/"
+ }
+ ],
+ "limits" : {
+ "start" : 0,
+ "total" : 177,
+ "end" : 10
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/CursorUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/CursorUtils.java
new file mode 100644
index 0000000..b5a41e8
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/CursorUtils.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils;
+
+import android.database.Cursor;
+
+public class CursorUtils {
+ /**
+ * Converts the current row in cursor to a string with each line
+ * containing a column name and value pair.
+ * @param cursor
+ * @return
+ */
+ public static String cursorToString(Cursor cursor) {
+ StringBuffer stringBuffer = new StringBuffer();
+ for (String name : cursor.getColumnNames()) {
+ int index = cursor.getColumnIndex(name);
+ stringBuffer.append(name + "=" + cursor.getString(index) + "\n");
+ }
+ return stringBuffer.toString();
+ }
+
+ /**
+ * Moves cursor to first position item is found at column index
+ * @param cursor
+ * @param columnIndex
+ * @param item integer to search for at given column index
+ * @return true if item found, false otherwise
+ */
+ public static boolean moveCursorToFirstOccurrence(Cursor cursor, int columnIndex, int item) {
+ if (( cursor == null ) || ( ! cursor.moveToFirst() ))
+ return false;
+
+ do {
+ if ( cursor.getInt(columnIndex) == item )
+ return true;
+ } while (cursor.moveToNext());
+
+ return false;
+ }
+
+ /**
+ * Counts the occurences item is found at given column index
+ * @param cursor
+ * @param columnIndex
+ * @param item integer to search for at given column index
+ * @return amount of occurences, -1 if an error occured
+ */
+ public static int countOccurences(Cursor cursor, int columnIndex, int item) {
+ if (( cursor == null ) || ( ! cursor.moveToFirst() ))
+ return -1;
+
+ int count = 0;
+ do {
+ if ( cursor.getInt(columnIndex) == item )
+ count++;
+ } while (cursor.moveToNext());
+
+ return count;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/Database.java b/app/src/debug/java/org/xbmc/kore/testutils/Database.java
new file mode 100644
index 0000000..6349741
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/Database.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils;
+
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.host.HostManager;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiList;
+import org.xbmc.kore.host.HostConnection;
+import org.xbmc.kore.jsonrpc.method.AudioLibrary;
+import org.xbmc.kore.jsonrpc.method.VideoLibrary;
+import org.xbmc.kore.jsonrpc.type.AudioType;
+import org.xbmc.kore.jsonrpc.type.LibraryType;
+import org.xbmc.kore.jsonrpc.type.VideoType;
+import org.xbmc.kore.provider.MediaContract;
+import org.xbmc.kore.service.library.SyncMusic;
+import org.xbmc.kore.service.library.SyncMusicVideos;
+import org.xbmc.kore.service.library.SyncTVShows;
+import org.xbmc.kore.service.library.SyncUtils;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+public class Database {
+ public static final String TAG = LogUtils.makeLogTag(Database.class);
+
+ public static HostInfo fill(HostInfo hostInfo, Context context, ContentResolver contentResolver) throws ApiException, IOException {
+ SyncMusic syncMusic = new SyncMusic(null);
+ insertMovies(context, contentResolver, hostInfo.getId());
+ insertArtists(context, contentResolver, syncMusic, hostInfo.getId());
+ insertGenres(context, contentResolver, syncMusic, hostInfo.getId());
+ insertAlbums(context, contentResolver, syncMusic, hostInfo.getId());
+ insertSongs(context, contentResolver, syncMusic, hostInfo.getId());
+
+ SyncTVShows syncTVShows = new SyncTVShows(hostInfo.getId(), null);
+ insertTVShows(context, contentResolver, syncTVShows);
+
+ SyncMusicVideos syncMusicVideos = new SyncMusicVideos(hostInfo.getId(), null);
+ insertMusicVideos(context, contentResolver, syncMusicVideos);
+
+ return hostInfo;
+ }
+
+ public static void flush(ContentResolver contentResolver) {
+ contentResolver.delete(MediaContract.Hosts.CONTENT_URI, null, null);
+ }
+
+ public static HostInfo addHost(Context context) {
+ return addHost(context, "127.0.0.1", HostConnection.PROTOCOL_TCP,
+ HostInfo.DEFAULT_HTTP_PORT, HostInfo.DEFAULT_TCP_PORT, false,
+ HostInfo.DEFAULT_KODI_VERSION_MAJOR);
+
+ }
+
+ public static HostInfo addHost(Context context, String hostname, int protocol, int httpPort,
+ int tcpPort, boolean useEventServer, int kodiMajorVersion) {
+ return HostManager.getInstance(context).addHost("TestHost", hostname, protocol, httpPort,
+ tcpPort, null, null, "52:54:00:12:35:02", 9, true,
+ useEventServer, HostInfo.DEFAULT_EVENT_SERVER_PORT,
+ kodiMajorVersion,
+ HostInfo.DEFAULT_KODI_VERSION_MINOR,
+ HostInfo.DEFAULT_KODI_VERSION_REVISION,
+ HostInfo.DEFAULT_KODI_VERSION_TAG,
+ false);
+ }
+
+ private static void insertMovies(Context context, ContentResolver contentResolver, int hostId)
+ throws ApiException, IOException {
+ VideoLibrary.GetMovies getMovies = new VideoLibrary.GetMovies();
+ String result = FileUtils.readFile(context, "Video.Details.Movie.json");
+ ApiList movieList = getMovies.resultFromJson(result);
+
+
+ ContentValues[] movieValuesBatch = new ContentValues[movieList.items.size()];
+ int castCount = 0;
+
+ // Iterate on each movie
+ for (int i = 0; i < movieList.items.size(); i++) {
+ VideoType.DetailsMovie movie = movieList.items.get(i);
+ movieValuesBatch[i] = SyncUtils.contentValuesFromMovie(hostId, movie);
+ castCount += movie.cast.size();
+ }
+
+ contentResolver.bulkInsert(MediaContract.Movies.CONTENT_URI, movieValuesBatch);
+
+ ContentValues[] movieCastValuesBatch = new ContentValues[castCount];
+ int count = 0;
+ // Iterate on each movie/cast
+ for (VideoType.DetailsMovie movie : movieList.items) {
+ for (VideoType.Cast cast : movie.cast) {
+ movieCastValuesBatch[count] = SyncUtils.contentValuesFromCast(hostId, cast);
+ movieCastValuesBatch[count].put(MediaContract.MovieCastColumns.MOVIEID, movie.movieid);
+ count++;
+ }
+ }
+
+ contentResolver.bulkInsert(MediaContract.MovieCast.CONTENT_URI, movieCastValuesBatch);
+ }
+
+ private static void insertArtists(Context context, ContentResolver contentResolver, SyncMusic syncMusic, int hostId) throws ApiException, IOException {
+ AudioLibrary.GetArtists getArtists = new AudioLibrary.GetArtists(false);
+ String result = FileUtils.readFile(context, "AudioLibrary.GetArtists.json");
+ ArrayList artistList = (ArrayList) getArtists.resultFromJson(result).items;
+
+ syncMusic.insertArtists(hostId, artistList, contentResolver);
+ }
+
+ private static void insertGenres(Context context, ContentResolver contentResolver, SyncMusic syncMusic, int hostId) throws ApiException, IOException {
+ AudioLibrary.GetGenres getGenres = new AudioLibrary.GetGenres();
+ ArrayList genreList =
+ (ArrayList) getGenres.resultFromJson(FileUtils.readFile(context,
+ "AudioLibrary.GetGenres.json"));
+
+ syncMusic.insertGenresItems(hostId, genreList, contentResolver);
+ }
+
+ private static void insertAlbums(Context context, ContentResolver contentResolver, SyncMusic syncMusic, int hostId) throws ApiException, IOException {
+ AudioLibrary.GetAlbums getAlbums = new AudioLibrary.GetAlbums();
+ String result = FileUtils.readFile(context, "AudioLibrary.GetAlbums.json");
+ ArrayList albumList = (ArrayList) getAlbums.resultFromJson(result).items;
+
+ syncMusic.insertAlbumsItems(hostId, albumList, contentResolver);
+ }
+
+ private static void insertSongs(Context context, ContentResolver contentResolver, SyncMusic syncMusic, int hostId) throws ApiException, IOException {
+ AudioLibrary.GetSongs getSongs = new AudioLibrary.GetSongs();
+ ArrayList songList =
+ (ArrayList) getSongs.resultFromJson(FileUtils.readFile(context, "AudioLibrary.GetSongs.json")).items;
+
+ syncMusic.insertSongsItems(hostId, songList, contentResolver);
+ }
+
+ private static void insertTVShows(Context context, ContentResolver contentResolver, SyncTVShows syncTVShows)
+ throws ApiException, IOException {
+ VideoLibrary.GetTVShows getTVShows = new VideoLibrary.GetTVShows();
+ String result = FileUtils.readFile(context, "VideoLibrary.GetTVShows.json");
+ ArrayList tvShowList = (ArrayList) getTVShows.resultFromJson(result).items;
+
+ syncTVShows.insertTVShows(tvShowList, contentResolver);
+
+ for ( VideoType.DetailsTVShow tvShow : tvShowList ) {
+ VideoLibrary.GetSeasons getSeasons = new VideoLibrary.GetSeasons(tvShow.tvshowid);
+ result = FileUtils.readFile(context, "VideoLibrary.GetSeasons.json");
+ ArrayList detailsSeasons = (ArrayList) getSeasons.resultFromJson(result);
+ syncTVShows.insertSeason(tvShow.tvshowid, detailsSeasons, contentResolver);
+ }
+
+ VideoLibrary.GetEpisodes getEpisodes = new VideoLibrary.GetEpisodes(0);
+ result = FileUtils.readFile(context, "VideoLibrary.GetEpisodes.json");
+ ArrayList detailsEpisodes = (ArrayList) getEpisodes.resultFromJson(result);
+ syncTVShows.insertEpisodes(detailsEpisodes, contentResolver);
+ }
+
+ private static void insertMusicVideos(Context context, ContentResolver contentResolver, SyncMusicVideos syncMusicVideos)
+ throws ApiException, IOException {
+ VideoLibrary.GetMusicVideos getMusicVideos = new VideoLibrary.GetMusicVideos();
+ String result = FileUtils.readFile(context, "VideoLibrary.GetMusicVideos.json");
+ ArrayList musicVideoList = (ArrayList) getMusicVideos.resultFromJson(result);
+
+ syncMusicVideos.insertMusicVideos(musicVideoList, contentResolver);
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/FileUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/FileUtils.java
new file mode 100644
index 0000000..8e8b498
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/FileUtils.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils;
+
+import android.content.Context;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class FileUtils {
+ public static String readFile(Context context, String filename) throws IOException {
+ InputStream is = context.getAssets().open(filename);
+
+ int size = is.available();
+
+ byte[] buffer = new byte[size];
+
+ is.read(buffer);
+
+ is.close();
+
+ return new String(buffer, "UTF-8");
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/TestUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/TestUtils.java
new file mode 100644
index 0000000..dfd8498
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/TestUtils.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils;
+
+import android.database.Cursor;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Player;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertTrue;
+
+public class TestUtils {
+ /**
+ * Tests if cursor contains all numbers from ids given column index.
+ * @param cursor
+ * @param columnIndex
+ * @param numbers
+ */
+ public static void testCursorContainsNumbers(Cursor cursor, int columnIndex, int... numbers) {
+ HashMap idsFound = new HashMap<>();
+ for(int number : numbers) {
+ idsFound.put(number, false);
+ }
+
+ assertTrue(cursor.moveToFirst());
+ do {
+ idsFound.put(cursor.getInt(columnIndex), true);
+ } while(cursor.moveToNext());
+
+ for(Map.Entry entry : idsFound.entrySet() ) {
+ int key = entry.getKey();
+ assertTrue("Id " + key + " not found", entry.getValue());
+ }
+ }
+
+ /**
+ * Tests if cursor contains all numbers from start until end for given column index.
+ * Including the start and end integers.
+ * @param columnIndex
+ * @param cursor
+ * @param start
+ * @param end
+ */
+ public static void testCursorContainsRange(Cursor cursor, int columnIndex, int start, int end) {
+ HashMap idsFound = new HashMap<>();
+ for(int i = start; i <= end; i++) {
+ idsFound.put(i, false);
+ }
+
+ assertTrue(cursor.moveToFirst());
+ do {
+ idsFound.put(cursor.getInt(columnIndex), true);
+ } while(cursor.moveToNext());
+
+ for(Map.Entry entry : idsFound.entrySet() ) {
+ int key = entry.getKey();
+ assertTrue("Id " + key + " not found", entry.getValue());
+ }
+ }
+
+ public static Player.GetItem createMusicItem(int i, int libraryId) {
+ Player.GetItem getItem = new Player.GetItem();
+ getItem.addTrack(i);
+ getItem.addLibraryId(libraryId);
+ getItem.addAlbum("Album 1");
+ getItem.addArtist("Artist 1");
+ getItem.addDisplayartist("Artist 1");
+ getItem.addAlbumArtist("Album Artist 1");
+ getItem.addFanart("image://http%3a%2f%2fmedia.theaudiodb.com%2fimages%2fmedia%2fartist%2ffanart%2fxpptss1381301172.jpg/");
+ getItem.addDuration(240);
+ getItem.addFile("/Users/martijn/Projects/dummymediafiles/media/music/Artist 1/Album 1/Track " + i + ".mp3");
+ getItem.addLabel("Label " + i);
+ getItem.addThumbnail("");
+ getItem.addTitle("Music "+ i);
+ getItem.addType(Player.GetItem.TYPE.song);
+
+ return getItem;
+ }
+
+ public static Player.GetItem createVideoItem(int i, int libraryId) {
+ Player.GetItem getItem = new Player.GetItem(0);
+ getItem.addTrack(i);
+ getItem.addLibraryId(libraryId);
+ getItem.addDirector("Director 1");
+ getItem.addDescription("Description of video " + i);
+ getItem.addGenre("Drama");
+ getItem.addFanart("image://http%3a%2f%2fmedia.theaudiodb.com%2fimages%2fmedia%2fartist%2ffanart%2fxpptss1381301172.jpg/");
+ getItem.addDuration(25);
+ getItem.addFile("/Users/martijn/Projects/dummymediafiles/media/music/Artist 1/Album 1/Track " + i + ".mp3");
+ getItem.addLabel("Label " + i);
+ getItem.addThumbnail("");
+ getItem.addTitle("Video "+ i);
+ getItem.addPlot("Plot " + i);
+ getItem.addYear(2009);
+ getItem.addType(Player.GetItem.TYPE.movie);
+
+ return getItem;
+ }
+
+ public static Player.GetItem createMusicVideoItem(int i, int libraryId) {
+ Player.GetItem getItem = new Player.GetItem(0);
+ getItem.addTrack(i);
+ getItem.addLibraryId(libraryId);
+ getItem.addType(Player.GetItem.TYPE.musicvideo);
+ getItem.addAlbum("...Baby One More Time");
+ getItem.addDirector("Nigel Dick");
+ getItem.addThumbnail("image://http%3a%2f%2fwww.theaudiodb.com%2fimages%2fmedia%2falbum%2fthumb%2fbaby-one-more-time-4dcff7453745a.jpg/");
+ getItem.addYear(1999);
+ getItem.addTitle("(You Drive Me) Crazy");
+ getItem.addLabel("(You Drive Me) Crazy");
+ getItem.addDuration(201);
+ getItem.addGenre("Pop");
+ getItem.addPremiered("1999-01-01");
+
+ return getItem;
+ }
+
+ public static Player.GetItem createPictureItem(int i, int libraryId) {
+ Player.GetItem getItem = new Player.GetItem(0);
+ getItem.addLibraryId(libraryId);
+ getItem.addDescription("Description of picture " + i);
+ getItem.addFile("/Users/martijn/Projects/dummymediafiles/media/music/Artist 1/Album 1/Track " + i + ".mp3");
+ getItem.addYear(2008);
+ getItem.addType(Player.GetItem.TYPE.picture);
+
+ return getItem;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacket.java b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacket.java
new file mode 100644
index 0000000..25cc38c
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacket.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.eventserver;
+
+import org.xbmc.kore.eventclient.Packet;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+
+/**
+ * Class that implements a single event packet.
+ *
+ * -----------------------------
+ * | -H1 Signature ("XBMC") | - 4 x CHAR 4B
+ * | -H2 Version (eg. 2.0) | - 2 x UNSIGNED CHAR 2B
+ * | -H3 PacketType | - 1 x UNSIGNED SHORT 2B
+ * | -H4 Sequence number | - 1 x UNSIGNED LONG 4B
+ * | -H5 No. of packets in msg | - 1 x UNSIGNED LONG 4B
+ * | -H6 Payloadsize of packet | - 1 x UNSIGNED SHORT 2B
+ * | -H7 Client's unique token | - 1 x UNSIGNED LONG 4B
+ * | -H8 Reserved | - 10 x UNSIGNED CHAR 10B
+ * |---------------------------|
+ * | -P1 payload | -
+ * -----------------------------
+ *
+ */
+abstract public class EventPacket {
+
+ private static final String TAG = LogUtils.makeLogTag(EventPacket.class);
+
+ //Package types
+ public final static byte PT_BUTTON = 0x03;
+
+ private String signature;
+ private String version;
+ private int packetType;
+ private long sequenceNumber;
+ private long numberOfPackets;
+ private int payloadSize;
+ private long token;
+
+ private byte[] payload;
+
+ private EventPacket() {}
+
+ EventPacket(byte[] packet) {
+ signature = new String(new byte[] {packet[0], packet[1], packet[2], packet[3]});
+ version = ((int) packet[4]) + "." + ((int) packet[5]);
+ packetType = ByteBuffer.wrap(packet, 6, 2).getChar();
+ sequenceNumber = ByteBuffer.wrap(packet, 8, 4).getInt();
+ numberOfPackets = ByteBuffer.wrap(packet, 12, 4).getInt();
+ payloadSize = ByteBuffer.wrap(packet, 16, 2).getChar();
+ token = ByteBuffer.wrap(packet, 18, 4).getInt();
+ //Reserved 22 - 32
+ payload = new byte[payloadSize];
+ ByteBuffer.wrap(packet, 32, payloadSize).get(payload);
+ }
+
+ @Override
+ public String toString() {
+ return signature + ":" +
+ version + ":" +
+ packetType + ":" +
+ sequenceNumber + ":" +
+ numberOfPackets + ":" +
+ payloadSize + ":" +
+ token+ ":" +
+ payload;
+ }
+
+ public int getPacketType() {
+ return packetType;
+ }
+
+ public byte[] getPayload() {
+ return payload;
+ }
+
+ /**
+ * Returns the packet type from a {@link Packet} as a single byte.
+ *
+ * Note that, although the specification specifies two bytes,
+ * we only use a single byte in {@link Packet} for the packet types.
+ * @param packet
+ * @return second byte of packet type
+ */
+ static public byte getPacketType(byte[] packet) {
+ return packet[7];
+ }
+
+ /**
+ * Gets the string from payload terminated by 0x00.
+ * @param payload byte array holding the characters
+ * @param offset starting offset of string
+ * @return string from payload or null if not found
+ */
+ String getStringFromPayload(byte[] payload, int offset) {
+ int strTerminatorIndex = offset;
+ for (; strTerminatorIndex < payload.length; strTerminatorIndex++) {
+ if (payload[strTerminatorIndex] == 0x00)
+ break;
+ }
+
+ if (strTerminatorIndex == payload.length)
+ return null;
+
+ int stringLength = strTerminatorIndex - offset;
+ byte[] bytes = new byte[stringLength];
+ System.arraycopy(payload, offset, bytes, 0, stringLength);
+
+ return new String(bytes);
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacketBUTTON.java b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacketBUTTON.java
new file mode 100644
index 0000000..8f73e62
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacketBUTTON.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.eventserver;
+
+import org.xbmc.kore.utils.LogUtils;
+
+import java.nio.ByteBuffer;
+
+public class EventPacketBUTTON extends EventPacket {
+ private final static String TAG = LogUtils.makeLogTag(EventPacketBUTTON.class);
+
+ private short code;
+ private String mapName;
+ private String buttonName;
+ private boolean repeat;
+ private boolean down;
+ private boolean queue;
+ private short amount;
+ private byte axis;
+ private short flags;
+
+ public EventPacketBUTTON(byte[] packet) {
+ super(packet);
+
+ byte[] payload = getPayload();
+
+ try {
+ code = ByteBuffer.wrap(payload, 0, 2).getShort();
+ flags = ByteBuffer.wrap(payload, 2, 2).getShort();
+ amount = ByteBuffer.wrap(payload, 4, 2).getShort();
+
+ mapName = getStringFromPayload(payload, 6);
+
+ int nextStringPosition = 6 + mapName.getBytes().length + 1;
+ buttonName = getStringFromPayload(payload, nextStringPosition);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ LogUtils.LOGE(TAG, "Error handling payload " + new String(payload));
+ }
+ }
+
+ public String getButtonName() {
+ return buttonName;
+ }
+
+ public String getMapName() {
+ return mapName;
+ }
+
+ @Override
+ public String toString() {
+ return super.toString() +
+ ", code: " + code +
+ ", flags: " + flags +
+ ", amount: " + amount +
+ ", mapName: " + mapName +
+ ", buttonName: " + buttonName;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/eventserver/MockEventServer.java b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/MockEventServer.java
new file mode 100644
index 0000000..ae6d776
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/MockEventServer.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.eventserver;
+
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.SocketException;
+
+public class MockEventServer extends Thread {
+ private static final String TAG = LogUtils.makeLogTag(MockEventServer.class);
+
+ private int listenPort = 9997;
+ private boolean keepRunning;
+ private EventPacket packet;
+ private DatagramSocket datagramSocket;
+
+ public MockEventServer() {
+ }
+
+ public void setListenPort(int portNumber) {
+ this.listenPort = portNumber;
+ }
+
+ public void run() {
+ try {
+ datagramSocket = new DatagramSocket(this.listenPort);
+ } catch (SocketException e) {
+ System.out.println("MockEventServer: Failed to open socket: " + e.getMessage());
+ return;
+ }
+
+ keepRunning = true;
+ while(keepRunning) {
+ byte[] buf = new byte[1024];
+ DatagramPacket datagramPacket = new DatagramPacket(buf, buf.length);
+ try {
+ datagramSocket.receive(datagramPacket);
+ packet = new EventPacketBUTTON(datagramPacket.getData());
+ } catch (IOException e) {
+ System.out.println("MockEventServer: error receiving packet: " + e.getMessage());
+ }
+ }
+ }
+
+ /**
+ * Returns the last received packet
+ * @return
+ */
+ public EventPacket getEventPacket() {
+ return packet;
+ }
+
+ /**
+ * Stops the server from listening for new packets
+ */
+ public void shutdown() {
+ keepRunning = false;
+ datagramSocket.close();
+ }
+
+ /**
+ * Resets the state of the event server
+ */
+ public void reset() {
+ packet = null;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/MockTcpServer.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/MockTcpServer.java
new file mode 100644
index 0000000..458a855
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/MockTcpServer.java
@@ -0,0 +1,224 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver;
+
+import androidx.annotation.NonNull;
+
+import okhttp3.internal.Util;
+
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+
+import java.io.PrintWriter;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+import javax.net.ServerSocketFactory;
+
+public class MockTcpServer {
+ public static final String TAG = LogUtils.makeLogTag(MockTcpServer.class);
+
+ private final ServerSocketFactory serverSocketFactory = ServerSocketFactory.getDefault();
+ private ServerSocket serverSocket;
+ private boolean running;
+ private ExecutorService executor;
+ private int port = -1;
+ private InetSocketAddress inetSocketAddress;
+
+ private final Set openClientSockets =
+ Collections.newSetFromMap(new ConcurrentHashMap<>());
+
+ private final TcpServerConnectionHandler connectionHandler;
+
+ // TODO
+ // Enhance handler to handle multiple connections simultaneously. It can now handle one
+ // connection at a time, which makes the current setup of the MockTcpServer (with threading)
+ // overkill.
+ public interface TcpServerConnectionHandler {
+ /**
+ * Processes received input
+ */
+ void processInput(Socket socket);
+
+ /**
+ * Gets the answer for this handler that should be returned to the server after input has been
+ * processed successfully
+ * @return answer or null if no answer is available
+ */
+ String getResponse();
+ }
+
+ public MockTcpServer(TcpServerConnectionHandler handler) {
+ connectionHandler = handler;
+ }
+
+ /**
+ * Starts the server on localhost on a random free port
+ */
+ public void start() throws IOException {
+ start(new InetSocketAddress(InetAddress.getByName("localhost"), 0));
+ }
+
+ /**
+ *
+ * @param inetSocketAddress set portnumber to 0 to select a random free port
+ */
+ public void start(InetSocketAddress inetSocketAddress) throws IOException {
+ if (running) throw new IllegalStateException("start() already called");
+ running = true;
+ this.inetSocketAddress = inetSocketAddress;
+
+ serverSocket = serverSocketFactory.createServerSocket();
+ // Reuse port if not using a random port
+ serverSocket.setReuseAddress(inetSocketAddress.getPort() != 0);
+ serverSocket.bind(inetSocketAddress, 50);
+
+ executor = Executors.newCachedThreadPool(Util.threadFactory("MockTcpServer", false));
+
+ port = serverSocket.getLocalPort();
+
+ LogUtils.LOGD(TAG, "start: server started on " + serverSocket.getInetAddress() + ":" + port);
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ while (running) {
+ try {
+ Socket socket = acceptConnection();
+ serveConnection(socket);
+ } catch(IOException e){
+ //Socket closed
+ LogUtils.LOGD(TAG, "acceptConnection: " + e.getMessage());
+ }
+ }
+ }
+
+ private Socket acceptConnection() throws IOException {
+ Socket socket = serverSocket.accept();
+
+ synchronized (openClientSockets) {
+ openClientSockets.add(socket);
+ }
+
+ return socket;
+ }
+ });
+ }
+
+ public synchronized void shutdown() throws IOException {
+ if (!running) return;
+
+ if (serverSocket == null) throw new IllegalStateException("shutdown() before start()");
+
+ running = false;
+
+ // Release all sockets and all threads, even if any close fails.
+ for (Iterator s = openClientSockets.iterator(); s.hasNext(); ) {
+ Socket socket = s.next();
+ Util.closeQuietly(socket);
+ s.remove();
+ }
+ Util.closeQuietly(serverSocket);
+
+ executor.shutdown();
+
+ // Await shutdown.
+ try {
+ if (!executor.awaitTermination(5, TimeUnit.SECONDS)) {
+ throw new IOException("Gave up waiting for executor to shut down");
+ }
+ } catch (InterruptedException e) {
+ LogUtils.LOGD(TAG, "shutdown: " + e.getMessage());
+ }
+ }
+
+ /**
+ * Gets the local port of this server socket or -1 if it is not bound
+ * @return the local port this server is listening on.
+ */
+ public int getPort() {
+ return port;
+ }
+
+ public String getHostName() {
+ if ( inetSocketAddress == null )
+ throw new RuntimeException("Must start server before getting hostname");
+
+ return inetSocketAddress.getHostName();
+ }
+
+ private void serveConnection(final Socket socket) {
+ executor.execute(() -> {
+ try {
+ LogUtils.LOGD(TAG, "serveConnection: handling client " + socket.getInetAddress()
+ + ":" + socket.getLocalPort());
+
+ connectionHandler.processInput(socket);
+ socket.close();
+
+ synchronized (openClientSockets) {
+ openClientSockets.remove(socket);
+ }
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, "processing input from " + socket.getInetAddress() + " failed: " + e);
+ }
+ });
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ while ( ! (serverSocket.isClosed() || socket.isClosed()) ) {
+ sendResponse();
+ Thread.sleep(100);
+ }
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, " sending response from " + socket.getInetAddress() + " failed: " + e);
+ } catch (InterruptedException e) {
+ LogUtils.LOGW(TAG, " wait interrupted" + e);
+ }
+ }
+
+ private void sendResponse() throws IOException {
+ PrintWriter out =
+ new PrintWriter(socket.getOutputStream(), false);
+ String answer = connectionHandler.getResponse();
+ if (answer != null) {
+ LogUtils.LOGD(TAG, "serveConnection: sendResponse: " +answer);
+ out.print(answer);
+ out.flush();
+ }
+ }
+ });
+ }
+
+ @NonNull
+ @Override
+ public String toString() {
+ return "MockTcpServer[" + port + "]";
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/AddonsHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/AddonsHandler.java
new file mode 100644
index 0000000..95fad1b
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/AddonsHandler.java
@@ -0,0 +1,1308 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Addons;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+/**
+ * Simulates Addons JSON-RPC API
+ */
+public class AddonsHandler extends ConnectionHandler {
+ private static final String TAG = LogUtils.makeLogTag(AddonsHandler.class);
+
+ private static final String ID_NODE = "id";
+
+ public AddonsHandler() { }
+
+ @Override
+ public String[] getType() {
+ return new String[]{Addons.GetAddons.METHOD_NAME};
+ }
+
+ @Override
+ public ArrayList createResponse(String method, ObjectNode jsonRequest) {
+ ArrayList jsonResponses = new ArrayList<>();
+
+ int methodId = jsonRequest.get(ID_NODE).asInt(-1);
+
+ switch (method) {
+ case Addons.GetAddons.METHOD_NAME:
+ try {
+ Addons.GetAddons getAddons = new Addons.GetAddons(methodId, jsonResult);
+ jsonResponses.add(getAddons);
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, "Error creating GetAddons response: " + e.getMessage());
+ }
+ break;
+ default:
+ LogUtils.LOGD(TAG, "method: " + method + ", not implemented");
+ }
+ return jsonResponses;
+ }
+
+ private String jsonResult = "{\n" +
+ " \"jsonrpc\" : \"2.0\",\n" +
+ " \"id\" : \"libAddons\",\n" +
+ " \"result\" : {\n" +
+ " \"addons\" : [\n" +
+ " {\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.common.fanart.tv\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"Download backdrops from www.fanart.tv.com\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.library\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"3.1.4\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.fanart.tv%2ficon.png/\",\n" +
+ " \"summary\" : \"fanart.tv Scraper Library\",\n" +
+ " \"name\" : \"fanart.tv Scraper Library\",\n" +
+ " \"addonid\" : \"metadata.common.fanart.tv\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.1.8\",\n" +
+ " \"type\" : \"kodi.resource.images\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"Weather Icons - Default\",\n" +
+ " \"addonid\" : \"resource.images.weathericons.default\",\n" +
+ " \"summary\" : \"Default Weather Icons\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fresource.images.weathericons.default%2ficon.png/\",\n" +
+ " \"description\" : \"Default set of Weather Icons shipped with Kodi\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/resource.images.weathericons.default\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"1.0.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"kodi.resource\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"author\" : \"Skipmode A1, Sparkline, Martijn\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"5.1.7\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"plugin.video.youtube\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"3.0.8\",\n" +
+ " \"addonid\" : \"script.module.beautifulsoup\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"script.module.requests\",\n" +
+ " \"version\" : \"2.4.3\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.14.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"disclaimer\" : \"For bugs, requests or general questions visit the Dumpert.nl thread on the XBMC forum.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"value\" : \"nl\",\n" +
+ " \"key\" : \"language\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"value\" : \"video\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"description\" : \"Watch funny videos from Dumpert.nl (dutch)\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.video.dumpert\",\n" +
+ " \"name\" : \"Dumpert\",\n" +
+ " \"addonid\" : \"plugin.video.dumpert\",\n" +
+ " \"summary\" : \"Watch funny videos from Dumpert.nl (dutch)\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.dumpert%2ficon.png/\",\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.dumpert%2ffanart.jpg/\",\n" +
+ " \"version\" : \"1.1.4\",\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true\n" +
+ " },\n" +
+ " {\n" +
+ " \"name\" : \"Kodi Add-on repository\",\n" +
+ " \"addonid\" : \"repository.xbmc.org\",\n" +
+ " \"summary\" : \"Install Add-ons from Kodi.tv\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2frepository.xbmc.org%2ficon.png/\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"2.5.9\",\n" +
+ " \"type\" : \"xbmc.addon.repository\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.addon\",\n" +
+ " \"version\" : \"12.0.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"disclaimer\" : \"Team Kodi did not make all the add-ons on this repository and are not responsible for their content\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"description\" : \"Download and install add-ons from the Official Kodi.tv add-on repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All add-ons on this repository have under gone basic testing, if you find a broken or not working add-on please report it to Team Kodi so we can take any action needed.\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/repository.xbmc.org\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"jez500, Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.json\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"6.0.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"path\" : \"/usr/share/kodi/addons/webinterface.default\",\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"key\" : \"language\",\n" +
+ " \"value\" : \"en\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"description\" : \"Browse and interact with your Music, Movies, TV Shows and more via a web browser. Stream music and videos to your browser. Edit and manage your Kodi media library.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"summary\" : \"Default web interface\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fwebinterface.default%2ficon.png/\",\n" +
+ " \"addonid\" : \"webinterface.default\",\n" +
+ " \"name\" : \"Kodi web interface - Chorus2\",\n" +
+ " \"installed\" : true,\n" +
+ " \"type\" : \"xbmc.webinterface\",\n" +
+ " \"broken\" : false,\n" +
+ " \"version\" : \"2.4.4\",\n" +
+ " \"fanart\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"description\" : \"Black is a simple screensaver that will turn your screen black.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/screensaver.xbmc.builtin.black\",\n" +
+ " \"dependencies\" : [],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.0.31\",\n" +
+ " \"type\" : \"xbmc.ui.screensaver\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"Black\",\n" +
+ " \"addonid\" : \"screensaver.xbmc.builtin.black\",\n" +
+ " \"summary\" : \"Screensaver that turns your screen black\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fscreensaver.xbmc.builtin.black%2ficon.png/\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.albums.theaudiodb.com\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"TheAudioDB.com is a community driven database of audio releases. It is our aim to be the most simple, easy to use and accurate source for Music metadata on the web. We also provide an API to access our repository of data so it can be used in many popular HTPC and Mobile apps to give you the best possible audio experience without the hassle.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"3.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.fanart.tv\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"1.7.3\",\n" +
+ " \"addonid\" : \"metadata.common.theaudiodb.com\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Olympia, Team Kodi\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.albums\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.2.0\",\n" +
+ " \"summary\" : \"TheAudioDb Album Scraper\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.albums.theaudiodb.com%2ficon.png/\",\n" +
+ " \"name\" : \"TheAudioDb Album Scraper\",\n" +
+ " \"addonid\" : \"metadata.albums.theaudiodb.com\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"audioencoder.xbmc.builtin.wma\",\n" +
+ " \"name\" : \"WMA encoder\",\n" +
+ " \"summary\" : \"WMA Audio Encoder\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2faudioencoder.xbmc.builtin.wma%2ficon.png/\",\n" +
+ " \"version\" : \"1.0.0\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.audioencoder\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.audioencoder\",\n" +
+ " \"version\" : \"1.0.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"spiff\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"WMA Audio Encoder\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/audioencoder.xbmc.builtin.wma\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"dependencies\" : [],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"path\" : \"/usr/share/kodi/addons/game.controller.default\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"The default media center controller is based on the Xbox 360 controller.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fgame.controller.default%2ficon.png/\",\n" +
+ " \"summary\" : \"Default Controller\",\n" +
+ " \"name\" : \"Default Controller\",\n" +
+ " \"addonid\" : \"game.controller.default\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"kodi.game.controller\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.0.3\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"dependencies\" : [],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"The Dim screensaver is a simple screensaver that will dim (fade out) your screen to a setable value between 20 and 100% .\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/screensaver.xbmc.builtin.dim\",\n" +
+ " \"addonid\" : \"screensaver.xbmc.builtin.dim\",\n" +
+ " \"name\" : \"Dim\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fscreensaver.xbmc.builtin.dim%2ficon.png/\",\n" +
+ " \"summary\" : \"Screensaver that dims your screen\",\n" +
+ " \"version\" : \"1.0.38\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"installed\" : true,\n" +
+ " \"type\" : \"xbmc.ui.screensaver\",\n" +
+ " \"broken\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.beautifulsoup4%2ficon.png/\",\n" +
+ " \"summary\" : \"HTML/XML parser for quick-turnaround applications like screen-scraping\",\n" +
+ " \"addonid\" : \"script.module.beautifulsoup4\",\n" +
+ " \"name\" : \"BeautifulSoup4\",\n" +
+ " \"installed\" : true,\n" +
+ " \"type\" : \"xbmc.python.module\",\n" +
+ " \"broken\" : false,\n" +
+ " \"version\" : \"4.5.3\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Leonard Richardson (leonardr@segfault.org)\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"version\" : \"2.25.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/script.module.beautifulsoup4\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"rating\" : -1,\n" +
+ " \"description\" : \"Beautiful Soup parses arbitrarily invalid SGML and provides a variety of methods and Pythonic idioms for iterating and searching the parse tree.\",\n" +
+ " \"extrainfo\" : []\n" +
+ " },\n" +
+ " {\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.imdb.com\",\n" +
+ " \"version\" : \"2.7.8\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.themoviedb.org\",\n" +
+ " \"version\" : \"2.13.1\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"optional\" : true,\n" +
+ " \"addonid\" : \"plugin.video.youtube\",\n" +
+ " \"version\" : \"4.4.10\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"themoviedb.org is a free and open movie database. It's completely user driven by people like you. TMDb is currently used by millions of people every month and with their powerful API, it is also used by many popular media centers like Kodi to retrieve Movie Metadata, Posters and Fanart to enrich the user's experience.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.themoviedb.org\",\n" +
+ " \"addonid\" : \"metadata.themoviedb.org\",\n" +
+ " \"name\" : \"The Movie Database\",\n" +
+ " \"summary\" : \"TMDB Movie Scraper\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.themoviedb.org%2ficon.png/\",\n" +
+ " \"version\" : \"3.9.3\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.movies\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"disclaimer\" : \"Feel free to use this script. For information visit kodi.tv\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/service.xbmc.versioncheck\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"description\" : \"Kodi Version Check only supports a number of platforms/distros as releases may differ between them. For more information visit the kodi.tv website.\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"summary\" : \"Kodi Version Check checks if you are running latest released version.\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fservice.xbmc.versioncheck%2ficon.png/\",\n" +
+ " \"addonid\" : \"service.xbmc.versioncheck\",\n" +
+ " \"name\" : \"Version Check\",\n" +
+ " \"installed\" : true,\n" +
+ " \"type\" : \"xbmc.service\",\n" +
+ " \"broken\" : false,\n" +
+ " \"version\" : \"0.3.22\",\n" +
+ " \"fanart\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"key\" : \"language\",\n" +
+ " \"value\" : \"nl\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"value\" : \"video\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"description\" : \"Watch videos from Gamekings.nl (dutch)\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.video.gamekings\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"1.4.5\",\n" +
+ " \"addonid\" : \"plugin.video.twitch\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"4.1.4\",\n" +
+ " \"addonid\" : \"plugin.video.vimeo\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"plugin.video.youtube\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"5.1.7\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"script.module.beautifulsoup\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"3.0.8\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.4.3\",\n" +
+ " \"addonid\" : \"script.module.requests\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"version\" : \"2.14.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Skipmode A1, Amelandbor\",\n" +
+ " \"disclaimer\" : \"For bugs, requests or general questions visit the Gamekings.nl thread on the Kodi forum.\",\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.gamekings%2ffanart.jpg/\",\n" +
+ " \"version\" : \"1.2.7\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"GameKings\",\n" +
+ " \"addonid\" : \"plugin.video.gamekings\",\n" +
+ " \"summary\" : \"Watch videos from Gamekings.nl (dutch)\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.gamekings%2ficon.png/\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.beautifulsoup%2ficon.png/\",\n" +
+ " \"summary\" : \"HTML/XML parser for quick-turnaround applications like screen-scraping\",\n" +
+ " \"name\" : \"BeautifulSoup\",\n" +
+ " \"addonid\" : \"script.module.beautifulsoup\",\n" +
+ " \"type\" : \"xbmc.python.module\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"3.2.1\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Leonard Richardson (leonardr@segfault.org)\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ],\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/script.module.beautifulsoup\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"Beautiful Soup parses arbitrarily invalid SGML and provides a variety of methods and Pythonic idioms for iterating and searching the parse tree.\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1\n" +
+ " },\n" +
+ " {\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"PythonWare\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/script.module.pil\",\n" +
+ " \"addonid\" : \"script.module.pil\",\n" +
+ " \"name\" : \"Python Image Library\",\n" +
+ " \"summary\" : \"\",\n" +
+ " \"thumbnail\" : \"\",\n" +
+ " \"version\" : \"1.1.7\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"installed\" : true,\n" +
+ " \"type\" : \"xbmc.python.module\",\n" +
+ " \"broken\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.southpark_unofficial%2ffanart.jpg/\",\n" +
+ " \"version\" : \"0.4.5\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.southpark_unofficial%2ficon.png/\",\n" +
+ " \"summary\" : \"South Park Unofficial Player\",\n" +
+ " \"name\" : \"South Park\",\n" +
+ " \"addonid\" : \"plugin.video.southpark_unofficial\",\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.video.southpark_unofficial\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"key\" : \"language\",\n" +
+ " \"value\" : \"en\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"value\" : \"video\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"description\" : \"Watch South Park episodes. The supported countries are the one that can view videos from http://southpark.cc.com or http://www.southpark.de.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"disclaimer\" : \"Some parts of this addon may not be legal in your country of residence - please check with your local laws before installing.\",\n" +
+ " \"author\" : \"Deroad\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ]\n" +
+ " },\n" +
+ " {\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.video.vimeo\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"Vimeo is a one of the biggest video-sharing websites of the world.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"key\" : \"provides\",\n" +
+ " \"value\" : \"video\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"version\" : \"2.14.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"bromix\",\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.vimeo%2ffanart.jpg/\",\n" +
+ " \"version\" : \"4.1.4\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.vimeo%2ficon.png/\",\n" +
+ " \"summary\" : \"Plugin for Vimeo\",\n" +
+ " \"name\" : \"Vimeo\",\n" +
+ " \"addonid\" : \"plugin.video.vimeo\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"installed\" : true,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.musicvideos\",\n" +
+ " \"broken\" : false,\n" +
+ " \"version\" : \"1.3.3\",\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.musicvideos.theaudiodb.com%2ffanart.jpg/\",\n" +
+ " \"summary\" : \"theaudiodb.com Music Video Scraper\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.musicvideos.theaudiodb.com%2ficon.png/\",\n" +
+ " \"addonid\" : \"metadata.musicvideos.theaudiodb.com\",\n" +
+ " \"name\" : \"TheAudioDb.com for Music Videos\",\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.musicvideos.theaudiodb.com\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"This scraper downloads Music Video information from TheAudioDB.com website. Due to various search difficulties the scraper currently expects the folder/filename to be formatted as 'artist - trackname' otherwise it will not return results. It is important to note the space between the hyphen.\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"3.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.fanart.tv\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"1.7.3\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.theaudiodb.com\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ]\n" +
+ " },\n" +
+ " {\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"addonid\" : \"script.module.requests\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.12.4\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"version\" : \"2.19.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"jdf76, bromix\",\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.video.youtube\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"YouTube is one of the biggest video-sharing websites of the world.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"value\" : \"video\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.youtube%2ficon.png/\",\n" +
+ " \"summary\" : \"Plugin for YouTube\",\n" +
+ " \"addonid\" : \"plugin.video.youtube\",\n" +
+ " \"name\" : \"YouTube\",\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"version\" : \"5.3.12\",\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.youtube%2ffanart.jpg/\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.3.1\",\n" +
+ " \"summary\" : \"Uitzendinggemist (NPO) - Watch free videos from Uitzendinggemist (only with a dutch ip-address)\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.uzg%2ficon.png/\",\n" +
+ " \"name\" : \"Uitzendinggemist (NPO)\",\n" +
+ " \"addonid\" : \"plugin.video.uzg\",\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.video.uzg\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"key\" : \"language\",\n" +
+ " \"value\" : \"nl\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"value\" : \"video\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"description\" : \"Dutch Uitzendinggemist (NPO) videos NED1 / NED2 / NED3 (only with a dutch ip-address)\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Bas Magré (Opvolger)\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.4.0\",\n" +
+ " \"addonid\" : \"script.module.xbmcswift2\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ]\n" +
+ " },\n" +
+ " {\n" +
+ " \"fanart\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estouchy%2fresources%2ffanart.jpg/\",\n" +
+ " \"version\" : \"1.1.9\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.gui.skin\",\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"Estouchy\",\n" +
+ " \"addonid\" : \"skin.estouchy\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estouchy%2fresources%2ficon.png/\",\n" +
+ " \"summary\" : \"Skin for touchscreen devices\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"Skin designed to be used on touchscreen devices like tablets and smartphones\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/skin.estouchy\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"5.12.0\",\n" +
+ " \"addonid\" : \"xbmc.gui\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ],\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"script.module.requests\",\n" +
+ " \"name\" : \"requests\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.requests%2ficon.png/\",\n" +
+ " \"summary\" : \"Python HTTP for Humans\",\n" +
+ " \"version\" : \"2.12.4\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.python.module\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.14.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.python\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"kennethreitz, beenje\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"Packed for KODI from https://github.com/kennethreitz/requests\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/script.module.requests\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"0.9.98\",\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.lazytv%2ffanart.jpg/\",\n" +
+ " \"installed\" : true,\n" +
+ " \"type\" : \"xbmc.python.script\",\n" +
+ " \"broken\" : false,\n" +
+ " \"addonid\" : \"script.lazytv\",\n" +
+ " \"name\" : \"LazyTV\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.lazytv%2ficon.png/\",\n" +
+ " \"summary\" : \"LazyTV\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"value\" : \"en\",\n" +
+ " \"key\" : \"language\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"value\" : \"executable\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"description\" : \"You have a huge library of TV shows and you havent viewed half of it. So why does it feel like such a chore to sit down and watch something?\\nLazyTV is here to free you from your battles with indecision, instead letting you lean back and soak up content. With one click you can be channel-surfing your own library, or have what you probably want to watch pop up in a single window.\\nAfterall, you know you want to watch TV, so why do you also have to decide what specifically to watch?\\n\\nUnlike a smart playlist or skin widget, LazyTV doesnt just provide the first unwatched episode of a TV show. It provides the first unwatched episode AFTER the last watched one in your library. A small, but important, distinction.\\n\\nLazyTV offers two main functions:\\nThe first creates and launches a randomised playlist of the TV episodes. And not just any episodes, but the next episode it thinks you would want to watch. You also have the option to blend in your movies (both the watched and the unwatched) to complete the channel-surfing experience.\\nThe second main function populates a window with the next available episode for each of your TV Shows. One click and your viewing menu is there, immediately.\\n\\nCombine either of the main functions with a playlist of preselected shows to customise your experience even further.\\nSome TV shows, like cartoons or skit shows, can be viewed out of episodic order. So LazyTV gives you the ability to identify these shows and treat them differently. Those shows will be played in a random order.\\n\\nLazyTV also offers two minor functions that extend beyond the addon itself:\\nThe first is an option to be notified if you are about to watch an episode that has an unwatched episode before it. This function excludes the TV shows identified as able to be watched out of order.\\nThe second option posts a notification when you finish watching a TV episode telling you that the next show is available and asks if you want to view it now.\\n\\n\\nLazyTV contains a service that stores the next episodes' information and monitors your player to pre-empt database changes. This is my attempt to make the addon more responsive on my Raspberry Pi. The Pi still takes a while to \\\"warm-up\\\"; a full refresh of the episode data (which occurs at start-up and on a library update) takes about 30 seconds for my ~100 show library*. However, the show list window opens and the random player starts in less than 2 seconds.\\n\\n*The same update takes 2 seconds on my laptop with its i5 processor.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/script.lazytv\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.python\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"KodeKarnage\",\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"value\" : \"executable\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"rating\" : -1,\n" +
+ " \"description\" : \"The most powerful way to access content on Netflix and YouTube and Amazon Instant Video would be a web browser, if web browsers provided good native support for a 10-foot user interface. This add-on launches a browser and connects the arrow buttons on the remote control to the mouse pointer. This is the most user-friendly way to consume online content without needing a wireless keyboard.\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.program.remote.control.browser\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"4.3.2\",\n" +
+ " \"addonid\" : \"script.module.beautifulsoup4\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"1.1.7\",\n" +
+ " \"addonid\" : \"script.module.pil\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.24.0\",\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Chad Parry\",\n" +
+ " \"disclaimer\" : \"The experience will be degraded unless these external dependencies are installed: “psutil,” “pyalsaaudio,” “pylirc2,” and “Pillow.” Another helpful utility is “unclutter,” which automatically hides the mouse pointer. (On a Debian-based system, run “sudo apt-get install python-psutil python-alsaaudio python-pylirc python-pil unclutter”). Finally, a theme with a large mouse pointer will improve pointer visibility, (e.g., https://www.gnome-look.org/p/999574/).\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.0.5\",\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"Remote Control Browser\",\n" +
+ " \"addonid\" : \"plugin.program.remote.control.browser\",\n" +
+ " \"summary\" : \"Browse websites with a remote control\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.program.remote.control.browser%2ficon.png/\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"2.7.0\",\n" +
+ " \"type\" : \"xbmc.metadata.scraper.albums\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"Universal Album Scraper\",\n" +
+ " \"addonid\" : \"metadata.album.universal\",\n" +
+ " \"summary\" : \"Universal Scraper for Albums\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.album.universal%2ficon.png/\",\n" +
+ " \"description\" : \"This scraper collects information from the following supported sites: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.\\n\\nThe initial search is always done on MusicBrainz. In case allmusic and/or amazon.de links are not added on the MusicBrainz site, fields from allmusic.com and/or amazon.de cannot be fetched (very easy to add those missing links though).\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.album.universal\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.allmusic.com\",\n" +
+ " \"version\" : \"3.1.0\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.fanart.tv\",\n" +
+ " \"version\" : \"3.1.0\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.musicbrainz.org\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"1.8.1\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.theaudiodb.com\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Olympia, Team Kodi\",\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.0.0\",\n" +
+ " \"type\" : \"xbmc.audioencoder\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"AAC encoder\",\n" +
+ " \"addonid\" : \"audioencoder.xbmc.builtin.aac\",\n" +
+ " \"summary\" : \"AAC Audio Encoder\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2faudioencoder.xbmc.builtin.aac%2ficon.png/\",\n" +
+ " \"description\" : \"AAC Audio Encoder\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/audioencoder.xbmc.builtin.aac\",\n" +
+ " \"author\" : \"spiff\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"1.0.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.audioencoder\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.library\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.3.4\",\n" +
+ " \"summary\" : \"HTBackdrops Scraper Library\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.htbackdrops.com%2ficon.png/\",\n" +
+ " \"name\" : \"HTBackdrops Scraper Library\",\n" +
+ " \"addonid\" : \"metadata.common.htbackdrops.com\",\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.common.htbackdrops.com\",\n" +
+ " \"description\" : \"Download backdrops from www.htbackdrops.com\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.metadata\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Team Kodi\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fresource.language.en_gb%2ficon.png/\",\n" +
+ " \"summary\" : \"English language pack\",\n" +
+ " \"name\" : \"English\",\n" +
+ " \"addonid\" : \"resource.language.en_gb\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"kodi.resource.language\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"2.0.1\",\n" +
+ " \"disclaimer\" : \"English is the default language for Kodi, removing it may cause issues\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"addonid\" : \"kodi.resource\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"1.0.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"path\" : \"/usr/share/kodi/addons/resource.language.en_gb\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"English version of all texts used in Kodi.\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1\n" +
+ " },\n" +
+ " {\n" +
+ " \"summary\" : \"AllMusic Music Scraper Library\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.allmusic.com%2ficon.png/\",\n" +
+ " \"name\" : \"AllMusic Scraper Library\",\n" +
+ " \"addonid\" : \"metadata.common.allmusic.com\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.library\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"3.1.1\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.common.allmusic.com\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"description\" : \"Download Music information from www.allmusic.com\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"enabled\" : true\n" +
+ " },\n" +
+ " {\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"TheTVDB.com is a TV Scraper. The site is a massive open database that can be modified by anybody and contains full meta data for many shows in different languages. All content and images on the site have been contributed by their users for users and have a high standard or quality. The database schema and website are open source under the GPL.\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.tvdb.com\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.7.8\",\n" +
+ " \"addonid\" : \"metadata.common.imdb.com\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.metadata\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.8.4\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.tvshows\",\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"The TVDB\",\n" +
+ " \"addonid\" : \"metadata.tvdb.com\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.tvdb.com%2ficon.png/\",\n" +
+ " \"summary\" : \"Fetch TV show metadata from TheTVDB.com\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"2.1.1\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.library\",\n" +
+ " \"installed\" : true,\n" +
+ " \"name\" : \"MusicBrainz Scraper Library\",\n" +
+ " \"addonid\" : \"metadata.common.musicbrainz.org\",\n" +
+ " \"summary\" : \"MusicBrainz Music Scraper Library\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.musicbrainz.org%2ficon.png/\",\n" +
+ " \"description\" : \"Download Music information from www.musicbrainz.org\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.common.musicbrainz.org\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.metadata\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.albums\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.0.0\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fmetadata.local%2ficon.png/\",\n" +
+ " \"summary\" : \"Local Infomation only pseudo-scraper\",\n" +
+ " \"name\" : \"Local information only\",\n" +
+ " \"addonid\" : \"metadata.local\",\n" +
+ " \"path\" : \"/usr/share/kodi/addons/metadata.local\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"description\" : \"Use local information only\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.metadata\"\n" +
+ " }\n" +
+ " ]\n" +
+ " },\n" +
+ " {\n" +
+ " \"summary\" : \"TMDb Scraper Library\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.themoviedb.org%2ficon.png/\",\n" +
+ " \"name\" : \"The Movie Database Scraper Library\",\n" +
+ " \"addonid\" : \"metadata.common.themoviedb.org\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.library\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"2.14.0\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.common.themoviedb.org\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"description\" : \"Download thumbs and fanarts from www.themoviedb.org\",\n" +
+ " \"enabled\" : true\n" +
+ " },\n" +
+ " {\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"kodi.resource\",\n" +
+ " \"version\" : \"1.0.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"Kodi GUI sounds\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/usr/share/kodi/addons/resource.uisounds.kodi\",\n" +
+ " \"name\" : \"Kodi UI Sounds\",\n" +
+ " \"addonid\" : \"resource.uisounds.kodi\",\n" +
+ " \"summary\" : \"Kodi GUI sounds\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fresource.uisounds.kodi%2ficon.png/\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.0.0\",\n" +
+ " \"type\" : \"kodi.resource.uisounds\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true\n" +
+ " },\n" +
+ " {\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.common.theaudiodb.com\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"Download Music information from www.theaudiodb.com\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"type\" : \"xbmc.metadata.scraper.library\",\n" +
+ " \"broken\" : false,\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"version\" : \"1.9.0\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.theaudiodb.com%2ficon.png/\",\n" +
+ " \"summary\" : \"TheAudioDb Music Scraper Library\",\n" +
+ " \"name\" : \"TheAudioDb Scraper Library\",\n" +
+ " \"addonid\" : \"metadata.common.theaudiodb.com\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"3.7.2\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.artists\",\n" +
+ " \"addonid\" : \"metadata.artists.universal\",\n" +
+ " \"name\" : \"Universal Artist Scraper\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.artists.universal%2ficon.png/\",\n" +
+ " \"summary\" : \"Universal Scraper for Artists\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"This scraper collects information from the following supported sites: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.\\n\\nThe initial search is always done on MusicBrainz. In case allmusic link is not added on the MusicBrainz site fields from allmusic.com cannot be fetched (very easy to add those missing links though).\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.artists.universal\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"3.1.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.allmusic.com\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"3.1.0\",\n" +
+ " \"addonid\" : \"metadata.common.fanart.tv\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"1.3.2\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"metadata.common.htbackdrops.com\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"metadata.common.musicbrainz.org\",\n" +
+ " \"optional\" : false\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"metadata.common.theaudiodb.com\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"1.8.1\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Olympia, Team Kodi\",\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/metadata.common.imdb.com\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"rating\" : -1,\n" +
+ " \"description\" : \"Download Movie information from www.imdb.com\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"author\" : \"Team Kodi\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"2.1.0\",\n" +
+ " \"addonid\" : \"xbmc.metadata\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ],\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.metadata.scraper.library\",\n" +
+ " \"version\" : \"2.8.7\",\n" +
+ " \"fanart\" : \"\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fmetadata.common.imdb.com%2ficon.png/\",\n" +
+ " \"summary\" : \"IMDB Scraper Library\",\n" +
+ " \"addonid\" : \"metadata.common.imdb.com\",\n" +
+ " \"name\" : \"IMDB Scraper Library\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"disclaimer\" : \"\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"version\" : \"2.1.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"Jonathan Beluch (jbel)\",\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/script.module.xbmcswift2\",\n" +
+ " \"description\" : \"\",\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"summary\" : \"\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fscript.module.xbmcswift2%2ficon.png/\",\n" +
+ " \"addonid\" : \"script.module.xbmcswift2\",\n" +
+ " \"name\" : \"xbmcswift2\",\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.python.module\",\n" +
+ " \"version\" : \"2.4.0\",\n" +
+ " \"fanart\" : \"\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"path\" : \"/usr/share/kodi/addons/skin.estuary\",\n" +
+ " \"enabled\" : true,\n" +
+ " \"rating\" : -1,\n" +
+ " \"extrainfo\" : [],\n" +
+ " \"description\" : \"Estuary is the default skin for Kodi 17.0 and above. It attempts to be easy for first time Kodi users to understand and use.\",\n" +
+ " \"disclaimer\" : \"Estuary is the default skin for Kodi, removing it may cause issues\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"5.12.0\",\n" +
+ " \"addonid\" : \"xbmc.gui\",\n" +
+ " \"optional\" : false\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"phil65, Ichabod Fletchman\",\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.gui.skin\",\n" +
+ " \"installed\" : true,\n" +
+ " \"fanart\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estuary%2fresources%2ffanart.jpg/\",\n" +
+ " \"version\" : \"1.9.12\",\n" +
+ " \"thumbnail\" : \"image://%2fusr%2fshare%2fkodi%2faddons%2fskin.estuary%2fresources%2ficon.png/\",\n" +
+ " \"summary\" : \"Estuary skin by phil65. (Kodi's default skin)\",\n" +
+ " \"name\" : \"Estuary\",\n" +
+ " \"addonid\" : \"skin.estuary\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"version\" : \"1.4.5\",\n" +
+ " \"fanart\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.twitch%2ffanart.jpg/\",\n" +
+ " \"installed\" : true,\n" +
+ " \"broken\" : false,\n" +
+ " \"type\" : \"xbmc.python.pluginsource\",\n" +
+ " \"addonid\" : \"plugin.video.twitch\",\n" +
+ " \"name\" : \"Twitch\",\n" +
+ " \"summary\" : \"Twitch video plugin\",\n" +
+ " \"thumbnail\" : \"image://%2fhome%2fmartijn%2f.kodi%2faddons%2fplugin.video.twitch%2ficon.png/\",\n" +
+ " \"extrainfo\" : [\n" +
+ " {\n" +
+ " \"key\" : \"language\",\n" +
+ " \"value\" : \"en\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"value\" : \"video\",\n" +
+ " \"key\" : \"provides\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"description\" : \"Watch your favorite gaming streams!\",\n" +
+ " \"rating\" : -1,\n" +
+ " \"enabled\" : true,\n" +
+ " \"path\" : \"/home/martijn/.kodi/addons/plugin.video.twitch\",\n" +
+ " \"dependencies\" : [\n" +
+ " {\n" +
+ " \"version\" : \"1.2.0\",\n" +
+ " \"optional\" : false,\n" +
+ " \"addonid\" : \"script.module.xbmcswift2\"\n" +
+ " },\n" +
+ " {\n" +
+ " \"addonid\" : \"xbmc.python\",\n" +
+ " \"optional\" : false,\n" +
+ " \"version\" : \"2.20.0\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"author\" : \"A Talented Community\",\n" +
+ " \"disclaimer\" : \"\"\n" +
+ " }\n" +
+ " ],\n" +
+ " \"limits\" : {\n" +
+ " \"start\" : 0,\n" +
+ " \"end\" : 41,\n" +
+ " \"total\" : 41\n" +
+ " }\n" +
+ " }\n" +
+ "}\n";
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ApplicationHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ApplicationHandler.java
new file mode 100644
index 0000000..ecf7431
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ApplicationHandler.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.type.GlobalType;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Application;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.ArrayList;
+
+import static org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Application.OnVolumeChanged;
+
+/**
+ * Simulates Application JSON-RPC API
+ */
+public class ApplicationHandler extends ConnectionHandler {
+ private static final String TAG = LogUtils.makeLogTag(ApplicationHandler.class);
+
+ private boolean muted;
+ private int volume;
+ private static final String ID_NODE = "id";
+ private static final String PARAMS_NODE = "params";
+ private static final String PROPERTIES_NODE = "properties";
+
+ /**
+ * Sets the muted state and sends a notification
+ * @param muted
+ * @param notify true if OnVolumeChanged should be sent, false otherwise
+ */
+ public void setMuted(boolean muted, boolean notify) {
+ this.muted = muted;
+
+ if (notify)
+ addNotification(new OnVolumeChanged(muted, volume));
+ }
+
+ /**
+ * Sets the volume and sends a notification
+ * @param volume
+ * @param notify true if OnVolumeChanged should be sent, false otherwise
+ */
+ public void setVolume(int volume, boolean notify) {
+ this.volume = volume;
+
+ if (notify)
+ addNotification(new OnVolumeChanged(muted, volume));
+ }
+
+ public int getVolume() {
+ return volume;
+ }
+
+ @Override
+ public void reset() {
+ super.reset();
+ this.volume = 0;
+ this.muted = false;
+ }
+
+ @Override
+ public String[] getType() {
+ return new String[]{Application.GetProperties.METHOD_NAME,
+ Application.SetMute.METHOD_NAME,
+ Application.SetVolume.METHOD_NAME};
+ }
+
+ @Override
+ public ArrayList createResponse(String method, ObjectNode jsonRequest) {
+ ArrayList jsonResponses = new ArrayList<>();
+
+ int methodId = jsonRequest.get(ID_NODE).asInt(-1);
+
+ switch (method) {
+ case Application.GetProperties.METHOD_NAME:
+ Application.GetProperties response = new Application.GetProperties(methodId);
+
+ JsonNode jsonNode = jsonRequest.get(PARAMS_NODE).get(PROPERTIES_NODE);
+ for (JsonNode node : jsonNode) {
+ switch(node.asText()) {
+ case Application.GetProperties.MUTED:
+ response.addMuteState(muted);
+ break;
+ case Application.GetProperties.VOLUME:
+ response.addVolume(volume);
+ break;
+ }
+ }
+
+ jsonResponses.add(response);
+ break;
+ case Application.SetMute.METHOD_NAME:
+ setMuted(!muted, true);
+ jsonResponses.add(new Application.SetMute(methodId, muted));
+ break;
+ case Application.SetVolume.METHOD_NAME:
+ JsonNode params = jsonRequest.get(PARAMS_NODE);
+ String value = params.get("volume").asText();
+ switch (value) {
+ case GlobalType.IncrementDecrement.INCREMENT:
+ setVolume(volume + 1, true);
+ break;
+ case GlobalType.IncrementDecrement.DECREMENT:
+ setVolume(volume - 1, true);
+ break;
+ default:
+ setVolume(Integer.parseInt(value), true);
+ break;
+ }
+ jsonResponses.add(new Application.SetVolume(methodId, volume));
+ break;
+ default:
+ LogUtils.LOGD(TAG, "method: " + method + ", not implemented");
+ }
+ return jsonResponses;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ConnectionHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ConnectionHandler.java
new file mode 100644
index 0000000..8bb40e6
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ConnectionHandler.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2018 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.concurrent.TimeoutException;
+
+abstract class ConnectionHandler {
+ private static final String TAG = LogUtils.makeLogTag(ConnectionHandler.class);
+
+ private ArrayList notifications = new ArrayList<>();
+ private HashSet methodsHandled = new HashSet<>();
+
+ /**
+ * Used to determine which methods the handler implements
+ * @return list of JSON method names
+ */
+ abstract String[] getType();
+
+ abstract ArrayList createResponse(String method, ObjectNode jsonRequest);
+
+ /**
+ * Used to get any notifications from the handler.
+ * @return {@link JsonResponse} that should be sent to the client or null if there are no notifications
+ */
+ public ArrayList getNotifications() {
+ ArrayList list = new ArrayList<>(notifications);
+ notifications.clear();
+ return list;
+ }
+
+ /**
+ * Returns the response for the requested method.
+ * @param method requested method
+ * @param jsonRequest json node containing the original request
+ * @return {@link JsonResponse} that should be sent to the client
+ */
+ public ArrayList getResponse(String method, ObjectNode jsonRequest) {
+ ArrayList responses = createResponse(method, jsonRequest);
+ methodsHandled.add(method);
+ return responses;
+ }
+
+ /**
+ * Sets the state of the handler to its initial state
+ */
+ public void reset() {
+ methodsHandled.clear();
+ }
+
+ /**
+ * Waits for given method to be handled by this handler before returning.
+ * @param method
+ * @param timeOutMillis
+ */
+ public void waitForMethodHandled(String method, long timeOutMillis) throws TimeoutException {
+ while ((!methodsHandled.contains(method)) && timeOutMillis > 0) {
+ try {
+ Thread.sleep(100);
+ timeOutMillis -= 100;
+ } catch (InterruptedException e) {
+ LogUtils.LOGE(TAG, "Thread.sleep interrupted");
+ return;
+ }
+ }
+ if (timeOutMillis <= 0)
+ throw new TimeoutException();
+ }
+
+ /**
+ * Clears the list of methods handled by the connection handler.
+ */
+ public void clearMethodsHandled() {
+ methodsHandled.clear();
+ }
+
+ void addNotification(JsonResponse notification) {
+ notifications.add(notification);
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/InputHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/InputHandler.java
new file mode 100644
index 0000000..59171ec
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/InputHandler.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.method.Input;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.ArrayList;
+
+/**
+ * Simulates Input JSON-RPC API
+ */
+public class InputHandler extends ConnectionHandler {
+ private static final String TAG = LogUtils.makeLogTag(InputHandler.class);
+
+ private static final String ACTION = "action";
+ private static final String PARAMS_NODE = "params";
+
+ private String action;
+ private String methodName;
+
+ @Override
+ public String[] getType() {
+ return new String[]{Input.ExecuteAction.METHOD_NAME,
+ Input.Back.METHOD_NAME,
+ Input.Up.METHOD_NAME,
+ Input.Down.METHOD_NAME,
+ Input.Left.METHOD_NAME,
+ Input.Right.METHOD_NAME,
+ Input.Select.METHOD_NAME,
+ };
+ }
+
+ @Override
+ public ArrayList createResponse(String method, ObjectNode jsonRequest) {
+ ArrayList jsonResponses = new ArrayList<>();
+
+ methodName = method;
+
+ switch (method) {
+ case Input.ExecuteAction.METHOD_NAME:
+ action = jsonRequest.get(PARAMS_NODE).get(ACTION).asText();
+ break;
+ case Input.Left.METHOD_NAME:
+ case Input.Right.METHOD_NAME:
+ case Input.Up.METHOD_NAME:
+ case Input.Down.METHOD_NAME:
+ case Input.Select.METHOD_NAME:
+ // These inputs do not have an action
+ break;
+ default:
+ LogUtils.LOGD(TAG, "method: " + method + ", not implemented");
+ }
+ return jsonResponses;
+ }
+
+ /**
+ * Returns the last received action
+ * @return
+ */
+ public String getAction() {
+ return action;
+ }
+
+ /**
+ * Returns the last received method name
+ * @return
+ */
+ public String getMethodName() {
+ return methodName;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONConnectionHandlerManager.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONConnectionHandlerManager.java
new file mode 100644
index 0000000..8a8ed92
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONConnectionHandlerManager.java
@@ -0,0 +1,257 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.MockTcpServer;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.Socket;
+import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.concurrent.TimeoutException;
+
+import static org.xbmc.kore.jsonrpc.ApiMethod.ID_NODE;
+import static org.xbmc.kore.jsonrpc.ApiMethod.METHOD_NODE;
+
+public class JSONConnectionHandlerManager implements MockTcpServer.TcpServerConnectionHandler {
+ public static final String TAG = LogUtils.makeLogTag(JSONConnectionHandlerManager.class);
+
+ private final HashMap handlersByType = new HashMap<>();
+ private int amountOfOpenBrackets = 0;
+ private final ObjectMapper objectMapper = new ObjectMapper();
+
+ //HashMap used to prevent adding duplicate responses for the same methodId when invoking
+ //a handler multiple times.
+ private final HashMap> clientResponses = new HashMap<>();
+
+ private final HashMap methodIdsHandled = new HashMap<>();
+ private final HashSet notificationsHandled = new HashSet<>();
+
+ public void addHandler(ConnectionHandler handler) {
+ synchronized (handlersByType) {
+ for (String type : handler.getType()) {
+ handlersByType.put(type, handler);
+ }
+ }
+ }
+
+ @Override
+ public void processInput(Socket socket) {
+ StringBuilder stringBuffer = new StringBuilder();
+
+ try {
+ InputStreamReader in = new InputStreamReader(socket.getInputStream());
+ int i;
+ while (!socket.isClosed() && (i = in.read()) != -1) {
+ stringBuffer.append((char) i);
+ if (isEndOfJSONStringReached((char) i)) {
+ processJSONInput(stringBuffer.toString());
+ stringBuffer = new StringBuilder();
+ }
+ }
+ } catch (SocketException e) {
+ // Socket closed
+ } catch (IOException e) {
+ LogUtils.LOGD(TAG, "processInput: error reading from socket: " + socket +
+ ", buffer holds: " + stringBuffer);
+ LogUtils.LOGE(TAG, e.getMessage());
+ }
+ }
+
+ /**
+ * Processes JSON input on individual characters.
+ * Each iteration should start with an opening accolade { and
+ * end with a closing accolade to indicate a complete JSON string has been
+ * fully processed.
+ * @param c
+ * @return true if a JSON string was fully processed, false otherwise
+ */
+ private boolean isEndOfJSONStringReached(char c) {
+ //We simply assume well formed JSON input so it should always start with
+ //a {. If we need to filter out other input we need to add an additional check
+ //to detect the first opening accolade.
+ if ( c == '{' ) {
+ amountOfOpenBrackets++;
+ } else if ( c == '}' ) {
+ amountOfOpenBrackets--;
+ }
+
+ return amountOfOpenBrackets == 0;
+ }
+
+ private void processJSONInput(String input) {
+ try {
+ synchronized (clientResponses) {
+ LogUtils.LOGD(TAG, "processJSONInput: " + input);
+ JsonParser parser = objectMapper.getFactory().createParser(input);
+ ObjectNode jsonRequest = objectMapper.readTree(parser);
+
+ int methodId = jsonRequest.get(ID_NODE).asInt();
+ String method = jsonRequest.get(METHOD_NODE).asText();
+
+ methodIdsHandled.put(String.valueOf(methodId), new MethodPendingState(method));
+
+ if (clientResponses.get(String.valueOf(methodId)) != null)
+ return;
+
+ ConnectionHandler connectionHandler = handlersByType.get(method);
+ if (connectionHandler != null) {
+ ArrayList responses = connectionHandler.getResponse(method, jsonRequest);
+ if (responses != null) {
+ clientResponses.put(String.valueOf(methodId), responses);
+ }
+ }
+
+ parser.close();
+ }
+ } catch (IOException e) {
+ LogUtils.LOGD(TAG, "processJSONInput: error parsing: " + input);
+ LogUtils.LOGE(TAG, e.getMessage());
+ }
+ }
+
+ @Override
+ public String getResponse() {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ //Handle client responses
+ synchronized (clientResponses) {
+ for(Map.Entry> clientResponse : clientResponses.entrySet()) {
+ for (JsonResponse jsonResponse : clientResponse.getValue()) {
+ LogUtils.LOGD(TAG, "sending response: " + jsonResponse.toJsonString());
+ try {
+ MethodPendingState methodPending = methodIdsHandled.get(jsonResponse.getId());
+ methodPending.handled = true;
+ stringBuilder.append(jsonResponse.toJsonString()).append("\n");
+ } catch (Exception e) {
+ LogUtils.LOGD(TAG, "getResponse: Error handling response: " + jsonResponse.toJsonString());
+ LogUtils.LOGW(TAG, "getResponse: " + e);
+ }
+ }
+ }
+ clientResponses.clear();
+ }
+
+ synchronized (handlersByType) {
+ //Build a new set to make sure we only handle each handler once, even if it handles
+ //multiple types.
+ HashSet uniqueHandlers = new HashSet<>(handlersByType.values());
+
+ //Handle notifications
+ for (ConnectionHandler handler : uniqueHandlers) {
+ ArrayList jsonNotifications = handler.getNotifications();
+ for (JsonResponse jsonResponse : jsonNotifications) {
+ try {
+ notificationsHandled.add(jsonResponse.getMethod());
+ stringBuilder.append(jsonResponse.toJsonString()).append("\n");
+ } catch (Exception e) {
+ LogUtils.LOGD(TAG, "getResponse: Error handling notification: " + jsonResponse.toJsonString());
+ }
+ }
+ }
+ }
+ if (stringBuilder.length() > 0) {
+ return stringBuilder.toString();
+ } else {
+ return null;
+ }
+ }
+
+ public void reset() {
+ synchronized (clientResponses) {
+ clearNotificationsHandled();
+ clearMethodsHandled();
+ clientResponses.clear();
+ }
+ }
+
+ public void clearMethodsHandled() {
+ methodIdsHandled.clear();
+ }
+
+ /**
+ * Waits until at least one response has been processed before returning
+ */
+ public void waitForMethodHandled(String methodName, long timeOutMillis) throws TimeoutException {
+ while (! isMethodHandled(methodName) && (timeOutMillis > 0)) {
+ try {
+ Thread.sleep(500);
+ timeOutMillis -= 500;
+ } catch (InterruptedException e) {
+ LogUtils.LOGW(TAG, "waitForNextResponse got interrupted");
+ }
+ }
+ if (timeOutMillis <= 0)
+ throw new TimeoutException();
+ }
+
+ public void clearNotificationsHandled() {
+ notificationsHandled.clear();
+ }
+
+ /**
+ * Waits until at least one response has been processed before returning
+ */
+ public void waitForNotification(String methodName, long timeOutMillis) throws TimeoutException {
+ while (! notificationsHandled.contains(methodName) && (timeOutMillis > 0)) {
+ try {
+ Thread.sleep(500);
+ timeOutMillis -= 500;
+ } catch (InterruptedException e) {
+ LogUtils.LOGW(TAG, "waitForNextResponse got interrupted");
+ }
+ }
+ if (timeOutMillis <= 0)
+ throw new TimeoutException();
+ }
+
+ private void addResponse(int id, ArrayList jsonResponses) {
+
+ }
+
+ private boolean isMethodHandled(String methodName) {
+ for(MethodPendingState methodPending : methodIdsHandled.values()) {
+ if (methodName.contentEquals(methodPending.name)) {
+ return methodPending.handled;
+ }
+ }
+ return false;
+ }
+
+ private void setMethodHandled(String methodId) {
+
+ }
+
+ private static class MethodPendingState {
+ boolean handled;
+ String name;
+
+ MethodPendingState(String name) {
+ this.name = name;
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONRPCHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONRPCHandler.java
new file mode 100644
index 0000000..c8de164
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONRPCHandler.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.method.JSONRPC;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.JSONRPC.Ping;
+
+import java.util.ArrayList;
+
+/**
+ * Simulates JSON RPC JSON-RPC API
+ */
+public class JSONRPCHandler extends ConnectionHandler {
+
+ @Override
+ public String[] getType() {
+ return new String[] {JSONRPC.Ping.METHOD_NAME};
+ }
+
+ @Override
+ public ArrayList createResponse(String method, ObjectNode jsonRequest) {
+ ArrayList jsonResponses = new ArrayList<>();
+ jsonResponses.add(new Ping(jsonRequest.get("id").asInt()));
+ return jsonResponses;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlayerHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlayerHandler.java
new file mode 100644
index 0000000..fd773c1
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlayerHandler.java
@@ -0,0 +1,361 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.type.GlobalType;
+import org.xbmc.kore.jsonrpc.type.PlayerType;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Player;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Playlist;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Player.OnAVStart;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Player.OnPause;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Player.OnPlay;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Player.OnPropertyChanged;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Player.OnSeek;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Player.OnSpeedChanged;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Player.OnStop;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.xbmc.kore.testutils.tcpserver.handlers.PlayerHandler.PLAY_STATE.PAUSED;
+import static org.xbmc.kore.testutils.tcpserver.handlers.PlayerHandler.PLAY_STATE.PLAYING;
+import static org.xbmc.kore.testutils.tcpserver.handlers.PlayerHandler.PLAY_STATE.STOPPED;
+
+/**
+ * Simulates Player JSON-RPC API
+ */
+public class PlayerHandler extends ConnectionHandler {
+ private static final String TAG = LogUtils.makeLogTag(PlayerHandler.class);
+
+ public static String[] repeatModes = {
+ "off",
+ "one",
+ "all"
+ };
+
+ public enum PLAY_STATE {PLAYING, STOPPED, PAUSED}
+ private PLAY_STATE playState = STOPPED;
+ private int currentRepeatMode;
+ private boolean shuffled;
+ private int elapsedTime;
+
+ private Player.GetItem mediaItem;
+ private List playlists = new ArrayList<>();
+ private Playlist.playlistID activePlaylistId = Playlist.playlistID.AUDIO;
+ private String playerType = PlayerType.GetActivePlayersReturnType.AUDIO;
+
+ @Override
+ public void reset() {
+ super.reset();
+ this.shuffled = false;
+ this.currentRepeatMode = 0;
+ this.elapsedTime = 0;
+ this.playState = STOPPED;
+ playerType = PlayerType.GetActivePlayersReturnType.AUDIO;
+ playlists = null;
+ setMediaType(Player.GetItem.TYPE.unknown);
+ }
+
+ @Override
+ public String[] getType() {
+ return new String[] {Player.GetActivePlayers.METHOD_NAME,
+ Player.GetProperties.METHOD_NAME,
+ Player.GetItem.METHOD_NAME,
+ Player.SetRepeat.METHOD_NAME,
+ Player.SetShuffle.METHOD_NAME,
+ Player.Seek.METHOD_NAME,
+ Player.PlayPause.METHOD_NAME,
+ Player.Stop.METHOD_NAME,
+ Player.Open.METHOD_NAME};
+ }
+
+ @Override
+ public ArrayList createResponse(String method, ObjectNode jsonRequest) {
+ ArrayList jsonResponses = new ArrayList<>();
+ JsonResponse response = null;
+
+ int methodId = jsonRequest.get("id").asInt();
+
+ switch (method) {
+ case Player.GetActivePlayers.METHOD_NAME:
+ response = handleGetActivePlayers(methodId);
+ break;
+ case Player.GetProperties.METHOD_NAME:
+ response = updatePlayerProperties(createPlayerProperties(methodId));
+ break;
+ case Player.GetItem.METHOD_NAME:
+ response = handleGetItem(methodId);
+ break;
+ case Player.SetRepeat.METHOD_NAME:
+ response = handleSetRepeat(methodId, jsonRequest);
+ break;
+ case Player.SetShuffle.METHOD_NAME:
+ response = handleSetShuffle(methodId, jsonRequest);
+ break;
+ case Player.Open.METHOD_NAME:
+ response = handleOpen(methodId, jsonRequest);
+ break;
+ case Player.PlayPause.METHOD_NAME:
+ response = handlePlayPause(methodId, jsonRequest);
+ break;
+ case Player.Seek.METHOD_NAME:
+ response = handleSeek(methodId, jsonRequest);
+ break;
+ case Player.Stop.METHOD_NAME:
+ handleStop();
+ break;
+ default:
+ LogUtils.LOGD(TAG, "getResponse: unknown method received: "+method);
+ }
+
+ if (response != null)
+ jsonResponses.add(response);
+
+ return jsonResponses;
+ }
+
+ private void setMediaType(Player.GetItem.TYPE mediaType) {
+ switch (mediaType) {
+ case movie:
+ playerType = PlayerType.GetActivePlayersReturnType.VIDEO;
+ break;
+ case song:
+ playerType = PlayerType.GetActivePlayersReturnType.AUDIO;
+ break;
+ case unknown:
+ playerType = PlayerType.GetActivePlayersReturnType.AUDIO;
+ break;
+ case musicvideo:
+ playerType = PlayerType.GetActivePlayersReturnType.VIDEO;
+ break;
+ case picture:
+ playerType = PlayerType.GetActivePlayersReturnType.PICTURE;
+ break;
+ case channel:
+ playerType = PlayerType.GetActivePlayersReturnType.VIDEO;
+ break;
+ }
+ }
+
+ /**
+ * Starts playing current item in the playlist
+ */
+ public void startPlay() {
+ if (playlists != null && playlists.size() > 0 && activePlaylistId != null) {
+ mediaItem = playlists.get(activePlaylistId.ordinal()).getCurrentItem();
+
+ if (mediaItem != null) {
+ setMediaType(Player.GetItem.TYPE.valueOf(getMediaItemType()));
+
+ addNotification(new OnPlay(mediaItem.getLibraryId(), getMediaItemType(), getPlayerId(), 1));
+ addNotification(new OnAVStart(mediaItem.getLibraryId(), getMediaItemType(), getPlayerId(), 1));
+ if (playState == PAUSED) {
+ addNotification(new OnSpeedChanged(mediaItem.getLibraryId(), getMediaItemType(), getPlayerId(), 1));
+ }
+
+ playState = PLAYING;
+ }
+ }
+ }
+
+ public void startPlay(Playlist.playlistID playlistId, int playlistPosition) {
+ if (playlists == null) return;
+
+ activePlaylistId = playlistId;
+
+ PlaylistHolder playlistHolder = playlists.get(playlistId.ordinal());
+ playlistHolder.setPlaylistIndex(playlistPosition);
+
+ startPlay();
+ }
+
+ public void stopPlay() {
+ handleStop();
+ addNotification(new OnStop(mediaItem.getLibraryId(), getMediaItemType(), false));
+ this.playState = STOPPED;
+ mediaItem = null;
+ }
+
+ public void setPlaylists(List playlists) {
+ this.playlists = playlists;
+ }
+
+ /**
+ * Returns the current media item for the media type set through {@link #setMediaType(Player.GetItem.TYPE)}
+ * @return
+ */
+ public Player.GetItem getMediaItem() {
+ return mediaItem;
+ }
+
+ /**
+ * Returns the play position of the current media item
+ * @return the time elapsed in seconds
+ */
+ public long getTimeElapsed() {
+ return elapsedTime;
+ }
+
+ public PLAY_STATE getPlayState() {
+ return playState;
+ }
+
+ private String getMediaItemType() {
+ return mediaItem.getType();
+ }
+
+ private int getPlayerId() {
+ switch (playerType) {
+ case PlayerType.GetActivePlayersReturnType.VIDEO:
+ return 0;
+ case PlayerType.GetActivePlayersReturnType.AUDIO:
+ return 1;
+ case PlayerType.GetActivePlayersReturnType.PICTURE:
+ return 2;
+ default:
+ return 1;
+ }
+ }
+
+ private Player.GetProperties updatePlayerProperties(Player.GetProperties playerProperties) {
+ if (playState == PLAYING)
+ elapsedTime++;
+
+ if ( mediaItem != null ) {
+ if ( elapsedTime > mediaItem.getDuration() && currentRepeatMode != 0 ) {
+ elapsedTime = 0;
+ }
+
+ playerProperties.addPercentage((elapsedTime * 100 ) / mediaItem.getDuration());
+ }
+
+ playerProperties.addPosition(elapsedTime);
+ playerProperties.addTime(0, 0, elapsedTime, 767);
+
+ playerProperties.addShuffled(shuffled);
+ playerProperties.addRepeat(repeatModes[currentRepeatMode]);
+
+ playerProperties.addPlaylistId(activePlaylistId.ordinal());
+
+ return playerProperties;
+ }
+
+ private Player.GetProperties createPlayerProperties(int id) {
+ Player.GetProperties properties = new Player.GetProperties(id);
+ properties.addPlaylistId(activePlaylistId.ordinal());
+ properties.addRepeat(repeatModes[currentRepeatMode]);
+ properties.addShuffled(false);
+ properties.addSpeed(playState == PLAYING ? 1 : 0);
+
+ int duration = mediaItem != null ? mediaItem.getDuration() : 0;
+ int hours = duration / 3600;
+ int remainder = (duration - (hours * 3600));
+ int minutes = remainder / 60;
+ int seconds = remainder - (minutes * 60);
+ properties.addTotaltime(hours,minutes, seconds,0);
+
+ return properties;
+ }
+
+ private JsonResponse handleGetItem(int methodId) {
+ if (playlists != null && playlists.size() > 0) {
+ mediaItem = playlists.get(activePlaylistId.ordinal()).getCurrentItem();
+ }
+
+ try {
+ mediaItem = new Player.GetItem(methodId, mediaItem.toJsonString());
+ } catch (IOException e) {
+ LogUtils.LOGE(TAG, "handleGetItem: Error creating new Player.GetItem object");
+ }
+ return mediaItem;
+ }
+
+ private JsonResponse handleGetActivePlayers(int methodId) {
+ if (playState == STOPPED) {
+ return new Player.GetActivePlayers(methodId);
+ } else {
+ return new Player.GetActivePlayers(methodId, getPlayerId(), playerType);
+ }
+ }
+
+ private JsonResponse handleSetRepeat(int methodId, ObjectNode jsonRequest) {
+ int playerId = getPlayerIdFromJsonRequest(jsonRequest);
+ currentRepeatMode = ++currentRepeatMode % 3;
+ addNotification(new OnPropertyChanged(repeatModes[currentRepeatMode], null, playerId));
+ return new Player.SetRepeat(methodId, "OK");
+ }
+
+ private JsonResponse handleSetShuffle(int methodId, ObjectNode jsonRequest) {
+ int playerId = getPlayerIdFromJsonRequest(jsonRequest);
+ shuffled = !shuffled;
+ addNotification(new OnPropertyChanged(null, shuffled, playerId));
+ return new Player.SetShuffle(methodId, "OK");
+ }
+
+ private JsonResponse handleOpen(int methodId, ObjectNode jsonRequest) {
+ int playlistId = jsonRequest.get("params").get("item").get("playlistid").asInt();
+ int playlistIndex = jsonRequest.get("params").get("item").get("position").asInt();
+
+ startPlay(Playlist.playlistID.values()[playlistId], playlistIndex);
+
+ return new Player.Open(methodId);
+ }
+
+ private JsonResponse handlePlayPause(int methodId, ObjectNode jsonRequest) {
+ playState = playState == PLAYING ? PAUSED : PLAYING; //toggle playstate
+
+ int speed = playState == PLAYING ? 1 : 0;
+ int itemId = mediaItem.getLibraryId();
+ int playerId = getPlayerIdFromJsonRequest(jsonRequest);
+
+ if (playState == PLAYING)
+ addNotification(new OnPlay(itemId, getMediaItemType(), playerId, speed));
+ else
+ addNotification(new OnPause(itemId, getMediaItemType(), playerId, speed));
+
+ addNotification(new OnSpeedChanged(itemId, getMediaItemType(), playerId, speed));
+
+ return new Player.PlayPause(methodId, speed);
+ }
+
+ private JsonResponse handleSeek(int methodId, ObjectNode jsonRequest) {
+ if (mediaItem == null)
+ return new Player.Seek(methodId, 0, 0, 0);
+
+ elapsedTime = new GlobalType.Time(jsonRequest.get("params").get("value")).toSeconds();
+ int playerId = getPlayerIdFromJsonRequest(jsonRequest);
+
+ addNotification(new OnSeek(methodId, getMediaItemType(), playerId,
+ playState == PLAYING ? 1 : 0, 0, elapsedTime));
+ return new Player.Seek(methodId, (100 * elapsedTime) / (double) mediaItem.getDuration(),
+ elapsedTime, mediaItem.getDuration());
+ }
+
+ private void handleStop() {
+ addNotification(new OnStop(mediaItem.getLibraryId(), getMediaItemType(), false));
+ playState = STOPPED;
+ }
+
+ private int getPlayerIdFromJsonRequest(ObjectNode jsonRequest) {
+ return jsonRequest.get("params").get("playerid").asInt();
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlaylistHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlaylistHandler.java
new file mode 100644
index 0000000..879690c
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlaylistHandler.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2018 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Player;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Playlist;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Playlist.OnAdd;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications.Playlist.OnClear;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Simulates Playlist JSON-RPC API
+ */
+public class PlaylistHandler extends ConnectionHandler {
+ private static final String TAG = LogUtils.makeLogTag(PlaylistHandler.class);
+
+ private static final String ID_NODE = "id";
+ private static final String PARAMS_NODE = "params";
+ private static final String PLAYLISTID_NODE = "playlistid";
+
+ private ArrayList playlists = new ArrayList<>();
+
+ @Override
+ public void reset() {
+ playlists.clear();
+ }
+
+ @Override
+ public String[] getType() {
+ return new String[]{Playlist.GetItems.METHOD_NAME, Playlist.GetPlaylists.METHOD_NAME};
+ }
+
+ @Override
+ public ArrayList createResponse(String method, ObjectNode jsonRequest) {
+ ArrayList jsonResponses = new ArrayList<>();
+
+
+ int methodId = jsonRequest.get(ID_NODE).asInt(-1);
+
+ switch (method) {
+ case Playlist.GetItems.METHOD_NAME:
+ int playlistId = jsonRequest.get(PARAMS_NODE).get(PLAYLISTID_NODE).asInt(-1);
+ jsonResponses.add(createPlaylist(methodId, playlistId));
+ break;
+ case Playlist.GetPlaylists.METHOD_NAME:
+ jsonResponses.add(new Playlist.GetPlaylists(methodId));
+ break;
+ default:
+ LogUtils.LOGD(TAG, "method: " + method + ", not implemented");
+ }
+ return jsonResponses;
+ }
+
+ private Playlist.GetItems createPlaylist(int methodId, int playlistId) {
+ Playlist.GetItems playlistGetItems = new Playlist.GetItems(methodId);
+
+ if (playlists.size() > playlistId) {
+ for (Player.GetItem getItem : playlists.get(playlistId).getItems()) {
+ playlistGetItems.addItem(getItem);
+ }
+ }
+
+ return playlistGetItems;
+ }
+
+ public ArrayList getPlaylists() {
+ return playlists;
+ }
+
+ public List getPlaylist(Playlist.playlistID id) {
+ int playlistId = id.ordinal();
+
+ if (playlistId < playlists.size())
+ return playlists.get(playlistId).getItems();
+ else
+ return null;
+ }
+
+ /**
+ * Clears the playlist and sends the OnClear notification
+ */
+ public void clearPlaylist(Playlist.playlistID id) {
+ int playlistId = id.ordinal();
+
+ if (playlistId >= playlists.size())
+ return;
+
+ OnClear onClearNotification = new OnClear(playlistId);
+ addNotification(onClearNotification);
+
+ playlists.get(playlistId).clear();
+ }
+
+ public void addItemToPlaylist(Playlist.playlistID id, Player.GetItem item, boolean sentNotification) {
+ int playlistId = id.ordinal();
+
+ while (playlists.size() <= playlistId) {
+ playlists.add(null);
+ }
+
+ PlaylistHolder playlist = playlists.get(playlistId);
+ if (playlist == null) {
+ playlist = new PlaylistHolder(playlistId);
+ playlists.set(playlistId, playlist);
+ }
+ playlist.add(item);
+
+ if (sentNotification) {
+ OnAdd onAddNotification = new OnAdd(item.getLibraryId(), item.getType(), playlistId, playlist.getIndexOf(item));
+ addNotification(onAddNotification);
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlaylistHolder.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlaylistHolder.java
new file mode 100644
index 0000000..679c74d
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlaylistHolder.java
@@ -0,0 +1,55 @@
+package org.xbmc.kore.testutils.tcpserver.handlers;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods.Player;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PlaylistHolder {
+ private int id;
+ private List items = new ArrayList<>();
+ private int currentIndex;
+
+ PlaylistHolder(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void clear() {
+ id = 0;
+ currentIndex = 0;
+ items.clear();
+ }
+
+ public void add(Player.GetItem item) {
+ items.add(item);
+ }
+
+ public List getItems() {
+ return items;
+ }
+
+ public int getIndexOf(Player.GetItem item) {
+ return items.indexOf(item);
+ }
+
+ public Player.GetItem getCurrentItem() {
+ return items.get(currentIndex);
+ }
+
+ public int getPlaylistSize() {
+ return items.size();
+ }
+
+ public void setPlaylistIndex(int index) {
+ currentIndex = index;
+
+ if (currentIndex < 0)
+ currentIndex = 0;
+ else if (currentIndex >= items.size())
+ currentIndex = getPlaylistSize() - 1;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonResponse.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonResponse.java
new file mode 100644
index 0000000..bc5e0e5
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonResponse.java
@@ -0,0 +1,258 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+
+public abstract class JsonResponse {
+ private final String TAG = LogUtils.makeLogTag(JsonResponse.class);
+
+ private final ObjectNode jsonResponse;
+
+ private static final ObjectMapper objectMapper = new ObjectMapper();
+
+ private static final String RESULT_NODE = "result";
+ private static final String PARAMS_NODE = "params";
+ private static final String METHOD_NODE = "method";
+ private static final String DATA_NODE = "data";
+ protected static final String ID_NODE = "id";
+ private static final String JSONRPC_NODE = "jsonrpc";
+
+ public enum TYPE {
+ OBJECT,
+ ARRAY
+ };
+
+ public JsonResponse() {
+ jsonResponse = objectMapper.createObjectNode();
+ jsonResponse.put(JSONRPC_NODE, "2.0");
+ }
+
+ public JsonResponse(int id) {
+ this();
+ jsonResponse.put(ID_NODE, id);
+ }
+
+ public JsonResponse(int id, String jsonString) throws IOException {
+ jsonResponse = (ObjectNode) objectMapper.readTree(jsonString);
+ jsonResponse.put(JSONRPC_NODE, "2.0");
+ jsonResponse.put(ID_NODE, id);
+ }
+
+ protected ObjectNode createObjectNode() {
+ return objectMapper.createObjectNode();
+ }
+
+ protected ArrayNode createArrayNode() {
+ return objectMapper.createArrayNode();
+ }
+
+ /**
+ * Returns the node used to hold the result. First call will create the
+ * result node for the given type
+ * @param type that result node should be when first created
+ * @return result node
+ */
+ protected JsonNode getResultNode(TYPE type) {
+ JsonNode result;
+ if(jsonResponse.has(RESULT_NODE)) {
+ result = jsonResponse.get(RESULT_NODE);
+ if( result.isArray() && type != TYPE.ARRAY ) {
+ LogUtils.LOGE(TAG, "requested result node of type Object but response contains result node of type Array");
+ return null;
+ }
+ } else {
+ switch (type) {
+ case ARRAY:
+ result = objectMapper.createArrayNode();
+ break;
+ case OBJECT:
+ default:
+ result = objectMapper.createObjectNode();
+ break;
+ }
+ jsonResponse.set(RESULT_NODE, result);
+ }
+
+ return result;
+ }
+
+ /**
+ * Returns the parameters node of the json request object
+ * Creates one if necessary
+ * @return Parameters node
+ */
+ private ObjectNode getParametersNode() {
+ ObjectNode params;
+ if (jsonResponse.has(PARAMS_NODE)) {
+ params = (ObjectNode)jsonResponse.get(PARAMS_NODE);
+ } else {
+ params = objectMapper.createObjectNode();
+ jsonResponse.set(PARAMS_NODE, params);
+ }
+
+ return params;
+ }
+
+ private ObjectNode getDataNode() {
+ ObjectNode data = null;
+ if (jsonResponse.has(PARAMS_NODE)) {
+ ObjectNode params = (ObjectNode)jsonResponse.get(PARAMS_NODE);
+ if(params.has(DATA_NODE)) {
+ data = (ObjectNode) params.get(DATA_NODE);
+ }
+ }
+
+ if ( data == null ) {
+ data = objectMapper.createObjectNode();
+ ObjectNode params = getParametersNode();
+ params.set(DATA_NODE, data);
+ }
+
+ return data;
+ }
+
+ protected void setResultToResponse(JsonNode value) {
+ jsonResponse.set(RESULT_NODE, value);
+ }
+
+ protected void setResultToResponse(boolean value) {
+ jsonResponse.put(RESULT_NODE, value);
+ }
+
+ protected void setResultToResponse(int value) {
+ jsonResponse.put(RESULT_NODE, value);
+ }
+
+ protected void setResultToResponse(String value) {
+ jsonResponse.put(RESULT_NODE, value);
+ }
+
+ protected void setLimits(int start, int end, int total) {
+ ObjectNode limits = createObjectNode();
+ limits.put("start", start);
+ limits.put("end", end);
+ limits.put("total", total);
+
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).set("limits", limits);
+ }
+
+ /**
+ * Adds the value to the array in node with the given key.
+ * If the array does not exist it will be created
+ * and added.
+ * @param node ObjectNode that should contain an entry with key with an array as value
+ * @param key the key of the item in ObjectNode that should hold the array
+ * @param value the value to be added to the array
+ */
+ protected void addToArrayNode(ObjectNode node, String key, String value) {
+ JsonNode jsonNode = node.get(key);
+ if (jsonNode == null) {
+ jsonNode = objectMapper.createArrayNode();
+ node.set(key, jsonNode);
+ }
+
+ if (jsonNode.isArray()) {
+ ((ArrayNode) jsonNode).add(value);
+ } else {
+ LogUtils.LOGE(TAG, "JsonNode at key: " + key + " not of type ArrayNode." );
+ }
+ }
+
+ /**
+ * Adds the value to the array in node with the given key.
+ * If the array does not exist it will be created
+ * and added.
+ * @param node ObjectNode that should contain an entry with key with an array as value
+ * @param key the key of the item in ObjectNode that should hold the array
+ * @param value the value to be added to the array
+ */
+ protected void addToArrayNode(ObjectNode node, String key, ObjectNode value) {
+ JsonNode jsonNode = node.get(key);
+ if (jsonNode == null) {
+ jsonNode = objectMapper.createArrayNode();
+ node.set(key, jsonNode);
+ }
+
+ if (jsonNode.isArray()) {
+ ((ArrayNode) jsonNode).add(value);
+ } else {
+ LogUtils.LOGE(TAG, "JsonNode at key: " + key + " not of type ArrayNode." );
+ }
+ }
+
+ protected void addToArrayNode(ObjectNode node, String key, JsonNode value) {
+ JsonNode jsonNode = node.get(key);
+ if (jsonNode == null) {
+ jsonNode = objectMapper.createArrayNode();
+ node.set(key, jsonNode);
+ }
+
+ if (jsonNode.isArray()) {
+ ((ArrayNode) jsonNode).add(value);
+ } else {
+ LogUtils.LOGE(TAG, "JsonNode at key: " + key + " not of type ArrayNode." );
+ }
+ }
+
+ protected void addDataToResponse(String parameter, boolean value) {
+ getDataNode().put(parameter, value);
+ }
+
+ protected void addDataToResponse(String parameter, int value) {
+ getDataNode().put(parameter, value);
+ }
+
+ protected void addDataToResponse(String parameter, ObjectNode node) {
+ getDataNode().set(parameter, node);
+ }
+
+ protected void addParameterToResponse(String parameter, String value) {
+ getParametersNode().put(parameter, value);
+ }
+
+ protected void addMethodToResponse(String method) {
+ jsonResponse.put(METHOD_NODE, method);
+ }
+
+ public ObjectNode getResponseNode() {
+ return jsonResponse;
+ }
+
+ public JsonNode getResultNode() {
+ return jsonResponse.get(RESULT_NODE);
+ }
+
+ public String getId() {
+ return jsonResponse.get(ID_NODE).asText();
+ }
+
+ public String getMethod() {
+ return jsonResponse.get(METHOD_NODE).asText();
+ }
+
+ public String toJsonString() {
+ return jsonResponse.toString();
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonUtils.java
new file mode 100644
index 0000000..1c64420
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonUtils.java
@@ -0,0 +1,39 @@
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc;
+
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.type.GlobalType;
+import org.xbmc.kore.utils.LogUtils;
+
+public class JsonUtils {
+ /**
+ * Fills objectNode with time values
+ * @param objectNode
+ * @param timeSec
+ * @return objectNode for chaining
+ */
+ public static ObjectNode createTimeNode(ObjectNode objectNode, long timeSec) {
+ int hours = (int) timeSec / 3600;
+ int minutes = (int) ( timeSec / 60 ) % 60;
+ int seconds = (int) timeSec % 60 ;
+ return createTimeNode(objectNode, hours, minutes, seconds, 0);
+ }
+
+ /**
+ * Fills objectNode with time values
+ * @param objectNode
+ * @param hours
+ * @param minutes
+ * @param seconds
+ * @param milliseconds
+ * @return objectNode for chaining
+ */
+ public static ObjectNode createTimeNode(ObjectNode objectNode, int hours, int minutes, int seconds, int milliseconds) {
+ objectNode.put(GlobalType.Time.HOURS, hours);
+ objectNode.put(GlobalType.Time.MINUTES, minutes);
+ objectNode.put(GlobalType.Time.SECONDS, seconds);
+ objectNode.put(GlobalType.Time.MILLISECONDS, milliseconds);
+ return objectNode;
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/AudioDetailsNode.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/AudioDetailsNode.java
new file mode 100644
index 0000000..3ffd300
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/AudioDetailsNode.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.nodes;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+public class AudioDetailsNode extends JsonResponse {
+
+ private AudioDetailsNode() {};
+
+ public AudioDetailsNode(int channels, String codec, String language) {
+ ObjectNode node = (ObjectNode) getResultNode(TYPE.OBJECT);
+ node.put("channels", channels);
+ node.put("codec", codec);
+ node.put("language", language);
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/SubtitleDetailsNode.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/SubtitleDetailsNode.java
new file mode 100644
index 0000000..762be2b
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/SubtitleDetailsNode.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.nodes;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+public class SubtitleDetailsNode extends JsonResponse {
+
+ private SubtitleDetailsNode() {};
+
+ public SubtitleDetailsNode(String language) {
+ ObjectNode node = (ObjectNode) getResultNode(TYPE.OBJECT);
+ node.put("language", language);
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/VideoDetailsNode.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/VideoDetailsNode.java
new file mode 100644
index 0000000..666da02
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/VideoDetailsNode.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.nodes;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+public class VideoDetailsNode extends JsonResponse {
+
+ private VideoDetailsNode() {};
+
+ public VideoDetailsNode(int width, int height, float aspect, String code, int duration) {
+ ObjectNode node = (ObjectNode) getResultNode(TYPE.OBJECT);
+ node.put("width", width);
+ node.put("height", height);
+ node.put("aspect", aspect);
+ node.put("code", code);
+ node.put("duration", duration);
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Addons.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Addons.java
new file mode 100644
index 0000000..aedce53
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Addons.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2017 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+import java.io.IOException;
+
+/**
+ * Serverside JSON RPC responses in Addons.*
+ */
+public class Addons {
+
+ /**
+ * JSON response for Addons.GetAddons request
+ *
+ * @return JSON string
+ */
+ public static class GetAddons extends JsonResponse {
+ public final static String METHOD_NAME = "Addons.GetAddons";
+
+ public GetAddons(int id, String jsonString) throws IOException {
+ super(id, jsonString);
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Application.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Application.java
new file mode 100644
index 0000000..3071da4
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Application.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+/**
+ * Serverside JSON RPC responses in Application.*
+ */
+public class Application {
+
+ /**
+ * JSON response for Application.SetMute request
+ *
+ * Example:
+ * Query: {"jsonrpc":"2.0","method":"Application.SetMute","id":1,"params":{"mute":"toggle"}}
+ * Answer: muted: {"id":1,"jsonrpc":"2.0","result":false}
+ * not muted: {"id":1,"jsonrpc":"2.0","result":true}
+ *
+ * @return JSON string
+ */
+ public static class SetMute extends JsonResponse {
+ public final static String METHOD_NAME = "Application.SetMute";
+
+ public SetMute(int id, boolean muteState) {
+ super(id);
+ setResultToResponse(muteState);
+ }
+ }
+
+ /**
+ * JSON response for GetProperties requests
+ *
+ * Example:
+ * Query: {"jsonrpc":"2.0","method":"Application.GetProperties","id":1,"params":{"properties":["muted"]}}
+ * Answer: {"id":1,"jsonrpc":"2.0","result":{"muted":true}}
+ *
+ * @return JSON string
+ */
+ public static class GetProperties extends JsonResponse {
+ public final static String METHOD_NAME = "Application.GetProperties";
+
+ public final static String MUTED = "muted";
+ public final static String VOLUME = "volume";
+
+ private ObjectNode node = null;
+
+ public GetProperties(int id) {
+ super(id);
+ }
+
+ public void addMuteState(boolean muteState) {
+ node = (ObjectNode) getResultNode(TYPE.OBJECT);
+ node.put(MUTED, muteState);
+ }
+
+ public void addVolume(int volume) {
+ node = (ObjectNode) getResultNode(TYPE.OBJECT);
+ node.put(VOLUME, volume);
+ }
+ }
+
+ /**
+ * JSON response for Application.SetVolume request
+ *
+ * Examples:
+ * Query: {"jsonrpc":"2.0","method":"Application.SetVolume","id":1,"params":{"volume":100}}
+ * Answer: {"id":1,"jsonrpc":"2.0","result":100}
+ *
+ * Query: {"jsonrpc":"2.0","method":"Application.SetVolume","id":1,"params":{"volume":"decrement"}}
+ * Answer: {"id":1,"jsonrpc":"2.0","result":99}
+ *
+ * @return JSON string
+ */
+ public static class SetVolume extends JsonResponse {
+ public final static String METHOD_NAME = "Application.SetVolume";
+
+ public SetVolume(int id, int volume) {
+ super(id);
+ setResultToResponse(volume);
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/JSONRPC.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/JSONRPC.java
new file mode 100644
index 0000000..a88a2fe
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/JSONRPC.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+/**
+ * Serverside JSON RPC responses in Application.*
+ */
+public class JSONRPC {
+
+ public static class Ping extends JsonResponse {
+ public final static String METHOD_NAME = "JSONRPC.Ping";
+
+ public Ping(int id) {
+ super(id);
+ setResultToResponse("pong");
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Player.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Player.java
new file mode 100644
index 0000000..e45e197
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Player.java
@@ -0,0 +1,526 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.type.PlayerType;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonUtils;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.nodes.AudioDetailsNode;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.nodes.SubtitleDetailsNode;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.nodes.VideoDetailsNode;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+
+/**
+ * Serverside JSON RPC responses in Methods.Player.*
+ */
+public class Player {
+
+ /**
+ * JSON response for Player.Open request
+ *
+ * Example:
+ * Query: {"jsonrpc":"2.0","method":"Player.Open","id":77,"params":{"item":{"playlistid":0,"position":2}}}
+ * Answer: {"id":77,"jsonrpc":"2.0","result":"OK"}
+ *
+ * @return JSON string
+ */
+ public static class Open extends JsonResponse {
+ public final static String METHOD_NAME = "Player.Open";
+
+ public Open(int methodId) {
+ super(methodId);
+ setResultToResponse("OK");
+ }
+ }
+
+ /**
+ * JSON response for Player.Seek request
+ *
+ * Example:
+ * Query: {"jsonrpc":"2.0","method":"Player.Seek","id":41,"params":{"playerid":0,"value":{"hours":0,"milliseconds":0,"minutes":0,"seconds":2}}}
+ * Answer: {"id":41,"jsonrpc":"2.0","result":{"percentage":16.570009231567382812,"time":{"hours":0,"milliseconds":0,"minutes":0,"seconds":2},"totaltime":{"hours":0,"milliseconds":70,"minutes":0,"seconds":12}}}
+ *
+ * @return JSON string
+ */
+ public static class Seek extends JsonResponse {
+ public final static String METHOD_NAME = "Player.Seek";
+
+ public Seek(int methodId, double percentage, long timeSec, long totalTime) {
+ super(methodId);
+ ObjectNode resultNode = (ObjectNode) getResultNode(TYPE.OBJECT);
+ resultNode.put("percentage", percentage);
+ resultNode.set("time", JsonUtils.createTimeNode(createObjectNode(), timeSec));
+ resultNode.set("totalTime", JsonUtils.createTimeNode(createObjectNode(), totalTime));
+ }
+ }
+
+ public static class SetShuffle extends JsonResponse {
+ public final static String METHOD_NAME = "Player.SetShuffle";
+
+ public SetShuffle(int methodId, String result) {
+ super(methodId);
+ setResultToResponse(result);
+ }
+ }
+
+ public static class SetRepeat extends JsonResponse {
+ public final static String METHOD_NAME = "Player.SetRepeat";
+
+ public SetRepeat(int methodId, String result) {
+ super(methodId);
+ setResultToResponse(result);
+ }
+ }
+
+ public static class PlayPause extends JsonResponse {
+ public final static String METHOD_NAME = "Player.PlayPause";
+
+ public PlayPause(int methodId, int speed) {
+ super(methodId);
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).put("speed", speed);
+ }
+ }
+
+ public static class Stop extends JsonResponse {
+ public final static String METHOD_NAME = "Player.Stop";
+ }
+
+ public static class GetActivePlayers extends JsonResponse {
+ public final static String METHOD_NAME = "Player.GetActivePlayers";
+
+ public GetActivePlayers(int methodId) {
+ super(methodId);
+ getResultNode(TYPE.ARRAY);
+ }
+
+ public GetActivePlayers(int methodId, int playerId, String type) {
+ super(methodId);
+ ObjectNode objectNode = createObjectNode();
+ objectNode.put("playerid", playerId);
+ objectNode.put("type", type);
+ ((ArrayNode) getResultNode(TYPE.ARRAY)).add(objectNode);
+ }
+ }
+
+
+ public static class GetProperties extends JsonResponse {
+ public final static String METHOD_NAME = "Player.GetProperties";
+
+ final static String SPEED = PlayerType.PropertyName.SPEED;
+ final static String PERCENTAGE = PlayerType.PropertyName.PERCENTAGE;
+ final static String POSITION = PlayerType.PropertyName.POSITION;
+ final static String TIME = PlayerType.PropertyName.TIME;
+ final static String TOTALTIME = PlayerType.PropertyName.TOTALTIME;
+ final static String REPEAT = PlayerType.PropertyName.REPEAT;
+ final static String SHUFFLED = PlayerType.PropertyName.SHUFFLED;
+ final static String CURRENTAUDIOSTREAM = PlayerType.PropertyName.CURRENTAUDIOSTREAM;
+ final static String CURRENTSUBTITLE = PlayerType.PropertyName.CURRENTSUBTITLE;
+ final static String AUDIOSTREAMS = PlayerType.PropertyName.AUDIOSTREAMS;
+ final static String SUBTITLES = PlayerType.PropertyName.SUBTITLES;
+ final static String PLAYLISTID = PlayerType.PropertyName.PLAYLISTID;
+
+ public GetProperties(int methodId) {
+ super(methodId);
+ }
+
+ public void addSpeed(int value) {
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).put(SPEED, value);
+ }
+
+ public void addPercentage(int value) {
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).put(PERCENTAGE, value);
+ }
+
+ public void addPosition(int value) {
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).put(POSITION, value);
+ }
+
+ public void addTime(int hours, int minutes, int seconds, int milliseconds) {
+ ObjectNode timeNode = JsonUtils.createTimeNode(createObjectNode(), hours, minutes, seconds, milliseconds);
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).putObject(TIME).setAll(timeNode);
+ }
+
+ public void addTotaltime(int hours, int minutes, int seconds, int milliseconds) {
+ ObjectNode timeNode = JsonUtils.createTimeNode(createObjectNode(), hours, minutes, seconds, milliseconds);
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).putObject(TOTALTIME).setAll(timeNode);
+ }
+
+ public void addRepeat(String value) {
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).put(REPEAT, value);
+ }
+
+ public void addShuffled(boolean value) {
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).put(SHUFFLED, value);
+ }
+
+ public void addCurrentAudioStream(int channels, String codec, int bitrate) {
+ ObjectNode objectNode = createAudioStreamNode(channels, codec, bitrate);
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).putObject(CURRENTAUDIOSTREAM).setAll(objectNode);
+ }
+
+ public void addCurrentSubtitle(int index, String language, String name) {
+ ObjectNode objectNode = createSubtitleNode(index, language, name);
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).putObject(CURRENTSUBTITLE).setAll(objectNode);
+ }
+
+ public void addAudioStream(int channels, String codec, int bitrate) {
+ ObjectNode objectNode = createAudioStreamNode(channels, codec, bitrate);
+ addObjectToArray(AUDIOSTREAMS, objectNode);
+ }
+
+ public void addSubtitle(int index, String language, String name) {
+ ObjectNode objectNode = createSubtitleNode(index, language, name);
+ addObjectToArray(SUBTITLES, objectNode);
+ }
+
+ public void addPlaylistId(int value) {
+ ((ObjectNode) getResultNode(TYPE.OBJECT)).put(PLAYLISTID, value);
+ }
+
+ private ObjectNode createAudioStreamNode(int channels, String codec, int bitrate) {
+ ObjectNode audioNode = createObjectNode();
+ audioNode.put("channels", channels);
+ audioNode.put("codec", codec);
+ audioNode.put("bitrate", bitrate);
+ return audioNode;
+ }
+
+ private ObjectNode createSubtitleNode(int index, String language, String name) {
+ ObjectNode subtitleNode = createObjectNode();
+ subtitleNode.put("index", index);
+ subtitleNode.put("language", language);
+ subtitleNode.put("name", name);
+ return subtitleNode;
+ }
+
+ private void addObjectToArray(String key, ObjectNode objectNode) {
+ ObjectNode resultNode = (ObjectNode) getResultNode(TYPE.OBJECT);
+ JsonNode jsonNode = resultNode.get(key);
+
+ if(jsonNode == null) {
+ ArrayNode arrayNode = createArrayNode().add(objectNode);
+ resultNode.set(key, arrayNode);
+ } else if(jsonNode.isArray()) {
+ ((ArrayNode) jsonNode).add(objectNode);
+ } else {
+ LogUtils.LOGW("Player", "JsonNode at " + key + " is not of type ArrayNode");
+ }
+ }
+ }
+
+ /**
+ * Example:
+ * query: {"jsonrpc":"2.0","method":"Player.GetItem","id":4119,"params":{"playerid":0,"properties":["art","artist","albumartist","album","cast","director","displayartist","duration","episode","fanart","file","firstaired","genre","imdbnumber","plot","premiered","rating","resume","runtime","season","showtitle","streamdetails","studio","tagline","thumbnail","title","top250","track","votes","writer","year","description"]}}
+ * answer: {"id":4119,"jsonrpc":"2.0","result":{"item":{"album":"My Time Is the Right Time","albumartist":["Alton Ellis"],"art":{"artist.fanart":"image://http%3a%2f%2fmedia.theaudiodb.com%2fimages%2fmedia%2fartist%2ffanart%2fxpptss1381301172.jpg/"},"artist":["Alton Ellis"],"displayartist":"Alton Ellis","duration":5,"fanart":"image://http%3a%2f%2fmedia.theaudiodb.com%2fimages%2fmedia%2fartist%2ffanart%2fxpptss1381301172.jpg/","file":"/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/06-Rock Steady.mp3","genre":["Reggae"],"id":14769,"label":"Rock Steady","rating":0,"thumbnail":"","title":"Rock Steady","track":6,"type":"song","votes":0,"year":2000}}}
+ */
+ public static class GetItem extends JsonResponse {
+ public final static String METHOD_NAME = "Player.GetItem";
+
+ final static String ITEM = "item";
+ final static String TYPE = "type";
+ final static String ART = "art";
+ final static String ARTIST = "artist";
+ final static String ALBUMARTIST = "albumartist";
+ final static String ALBUM = "album";
+ final static String CAST = "cast";
+ final static String DIRECTOR = "director";
+ final static String DISPLAYARTIST = "displayartist";
+ final static String DURATION = "duration";
+ final static String EPISODE = "episode";
+ final static String FANART = "fanart";
+ final static String FILE = "file";
+ final static String FIRSTAIRED = "firstaired";
+ final static String GENRE = "genre";
+ final static String IMDBNUMBER = "imdbnumber";
+ final static String PLOT = "plot";
+ final static String PREMIERED = "premiered";
+ final static String RATING = "rating";
+ final static String RESUME = "resume";
+ final static String RUNTIME = "runtime";
+ final static String SEASON = "season";
+ final static String SHOWTITLE = "showtitle";
+ final static String STREAMDETAILS = "streamdetails";
+ final static String STUDIO = "studio";
+ final static String TAGLINE = "tagline";
+ final static String THUMBNAIL = "thumbnail";
+ final static String TITLE = "title";
+ final static String TOP250 = "top250";
+ final static String TRACK = "track";
+ final static String VOTES = "votes";
+ final static String WRITER = "writer";
+ final static String YEAR = "year";
+ final static String DESCRIPTION = "description";
+ final static String LABEL = "label";
+
+ public enum TYPE { unknown,
+ movie,
+ episode,
+ musicvideo,
+ song,
+ picture,
+ channel
+ }
+
+ private ObjectNode itemNode;
+
+ public GetItem() {
+ super();
+ setupItemNode();
+ }
+
+ public GetItem(int methodId) {
+ super(methodId);
+ setupItemNode();
+ }
+
+ public GetItem(int methodId, String jsonString) throws IOException {
+ super(methodId, jsonString);
+ ObjectNode resultNode = ((ObjectNode) getResultNode(JsonResponse.TYPE.OBJECT));
+ if (resultNode.has(ITEM)) {
+ itemNode = (ObjectNode) resultNode.get(ITEM);
+ } else {
+ setupItemNode();
+ }
+ }
+
+ private void setupItemNode() {
+ ObjectNode resultNode = ((ObjectNode) getResultNode(JsonResponse.TYPE.OBJECT));
+ itemNode = createObjectNode();
+ resultNode.set(ITEM, itemNode);
+ }
+
+ public void addLibraryId(int id) {
+ itemNode.put(ID_NODE, id);
+ }
+
+ /**
+ * @return library identifier or -1 if not set
+ */
+ public int getLibraryId() {
+ JsonNode idNode = itemNode.get(ID_NODE);
+ if (idNode != null)
+ return idNode.asInt();
+ else
+ return -1;
+ }
+
+ public void addType(TYPE type) {
+ itemNode.put(TYPE, type.name());
+ }
+
+ public String getType() {
+ return itemNode.get(TYPE).textValue();
+ }
+
+ public void addArt(String banner, String poster, String fanart, String thumbnail) {
+ ObjectNode objectNode = createArtNode(banner, poster, fanart, thumbnail);
+ itemNode.putObject(ART).setAll(objectNode);
+ }
+
+ public void addArtist(String artist) {
+ addToArrayNode(itemNode, ARTIST, artist);
+ }
+
+ public void addAlbumArtist(String artist) {
+ addToArrayNode(itemNode, ALBUMARTIST, artist);
+ }
+
+ public void addAlbum(String album) {
+ itemNode.put(ALBUM, album);
+ }
+
+ public void addCast(String thumbnail, String name, String role) {
+ addToArrayNode(itemNode, CAST, createCastNode(thumbnail, name, role));
+ }
+
+ public void addDirector(String director) {
+ addToArrayNode(itemNode, DIRECTOR, director);
+ }
+
+ public void addDisplayartist(String displayartist) {
+ itemNode.put(DISPLAYARTIST, displayartist);
+ }
+
+ public void addDuration(int duration) {
+ itemNode.put(DURATION, duration);
+ }
+
+ public int getDuration() {
+ return itemNode.get(DURATION).asInt();
+ }
+
+ public void addEpisode(int episode) {
+ itemNode.put(EPISODE, episode);
+ }
+
+ public void addFanart(String fanart) {
+ itemNode.put(FANART, fanart);
+ }
+
+ public void addFile(String file) {
+ itemNode.put(FILE, file);
+ }
+
+ public void addFirstaired(String firstaired) {
+ itemNode.put(FIRSTAIRED, firstaired);
+ }
+
+ public void addGenre(String genre) {
+ itemNode.put(GENRE, genre);
+ }
+
+ public void addImdbnumber(String imdbnumber) {
+ itemNode.put(IMDBNUMBER, imdbnumber);
+ }
+
+ public void addPlot(String plot) {
+ itemNode.put(PLOT, plot);
+ }
+
+ public void addPremiered(String premiered) {
+ itemNode.put(PREMIERED, premiered);
+ }
+
+ public void addRating(int rating) {
+ itemNode.put(RATING, rating);
+ }
+
+ public void addResume(int position, int total) {
+ itemNode.putObject(RESUME).setAll(createResumeNode(position, total));
+ }
+
+ public int getRuntime() {
+ return itemNode.get(RUNTIME).asInt();
+ }
+
+ public void addRuntime(int runtime) {
+ itemNode.put(RUNTIME, runtime);
+ }
+
+ public void addSeason(int season) {
+ itemNode.put(SEASON, season);
+ }
+
+ public void addShowtitle(String showtitle) {
+ itemNode.put(SHOWTITLE, showtitle);
+ }
+
+ public void addStreamdetails(AudioDetailsNode audioDetailsNode,
+ VideoDetailsNode videoDetailsNode,
+ SubtitleDetailsNode subtitleDetailsNode) {
+ ObjectNode objectNode = createObjectNode();
+ objectNode.putObject("audio").setAll(audioDetailsNode.getResponseNode());
+ objectNode.putObject("video").setAll(videoDetailsNode.getResponseNode());
+ objectNode.putObject("subtitle").setAll(subtitleDetailsNode.getResponseNode());
+
+ itemNode.set(STREAMDETAILS, objectNode);
+ }
+
+ public void addStudio(String studio) {
+ addToArrayNode(itemNode, STUDIO, studio);
+ }
+
+ public void addTagline(String tagline) {
+ itemNode.put(TAGLINE, tagline);
+ }
+
+ public void addThumbnail(String thumbnail) {
+ itemNode.put(THUMBNAIL, thumbnail);
+ }
+
+ public void addTitle(String title) {
+ itemNode.put(TITLE, title);
+ }
+
+ public String getTitle() {
+ JsonNode jsonNode = itemNode.get(TITLE);
+ if (jsonNode != null)
+ return jsonNode.asText();
+ else
+ return null;
+ }
+
+ public void addTop250(int top250) {
+ itemNode.put(TOP250, top250);
+ }
+
+ public void addTrack(int track) {
+ itemNode.put(TRACK, track);
+ }
+
+ public void addVotes(String votes) {
+ itemNode.put(VOTES, votes);
+ }
+
+ public void addWriter(String writer) {
+ addToArrayNode(itemNode, WRITER, writer);
+ }
+
+ public void addYear(int year) {
+ itemNode.put(YEAR, year);
+ }
+
+ public void addDescription(String description) {
+ itemNode.put(DESCRIPTION, description);
+ }
+
+ public void addLabel(String label) {
+ itemNode.put(LABEL, label);
+ }
+
+ private ObjectNode createArtNode(String banner,
+ String poster,
+ String fanart,
+ String thumbnail) {
+ ObjectNode objectNode = createObjectNode();
+ objectNode.put("poster", poster);
+ objectNode.put("fanart", fanart);
+ objectNode.put("thumbnail", thumbnail);
+ objectNode.put("banner", banner);
+ return objectNode;
+ }
+
+ private ObjectNode createArtworkNode(String banner, String poster, String fanart, String thumbnail) {
+ ObjectNode objectNode = createObjectNode();
+ objectNode.put("poster", poster);
+ objectNode.put("fanart", fanart);
+ objectNode.put("thumbnail", thumbnail);
+ return objectNode;
+ }
+
+ private ObjectNode createCastNode(String thumbnail, String name, String role) {
+ ObjectNode objectNode = createObjectNode();
+ objectNode.put("thumbnail", thumbnail);
+ objectNode.put("name", name);
+ objectNode.put("role", role);
+ return objectNode;
+ }
+
+ private ObjectNode createResumeNode(int position, int total) {
+ ObjectNode objectNode = createObjectNode();
+ objectNode.put("position", position);
+ objectNode.put("total", total);
+ return objectNode;
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Playlist.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Playlist.java
new file mode 100644
index 0000000..3d4ff81
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Playlist.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2018 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.methods;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+/**
+ * Serverside JSON RPC responses in Playlist.*
+ */
+public class Playlist {
+
+ public enum playlistID {
+ AUDIO, VIDEO, PICTURE
+ }
+
+ /**
+ * JSON response for Playlist.GetItems request
+ *
+ * * Example:
+ * Query: {"jsonrpc":"2.0","method":"Playlist.GetItems","id":48,"params":
+ * {"playlistid":0,"properties":["art","artist","albumartist","album",
+ * "displayartist","episode","fanart","file","season",
+ * "showtitle","studio","tagline","thumbnail","title",
+ * "track","duration","runtime"]
+ * }
+ * }
+ * Answer: {"id":1,"jsonrpc":"2.0","result":{"items":
+ * [
+ * {"album":"My Time Is the Right Time",
+ * "albumartist":[],
+ * "art":{"artist.fanart":"image://http%3a%2f%2fmedia.theaudiodb.com%2fimages%2fmedia%2fartist%2ffanart%2fxpptss1381301172.jpg/"},
+ * "artist":["Alton Ellis"],
+ * "displayartist":"Alton Ellis",
+ * "duration":5,
+ * "fanart":"image://http%3a%2f%2fmedia.theaudiodb.com%2fimages%2fmedia%2fartist%2ffanart%2fxpptss1381301172.jpg/",
+ * "file":"/Users/martijn/Projects/dummymediafiles/media/music/Alton Ellis/My Time Is The Right Time/17-Black Man's Word.mp3",
+ * "id":41,
+ * "label":"Black Man's Word",
+ * "thumbnail":"",
+ * "title":"Black Man's Word",
+ * "track":17,
+ * "type":"song"}
+ * ],
+ * "limits":{"end":1,"start":0,"total":1}}}
+ *
+ * Playlist empty answer : {"id":48,"jsonrpc":"2.0","result":{"limits":{"end":0,"start":0,"total":0}}}
+ *
+ * @return JSON string
+ */
+ public static class GetItems extends JsonResponse {
+ public final static String METHOD_NAME = "Playlist.GetItems";
+
+ int limitsEnd;
+
+ public GetItems(int id) {
+ super(id);
+ }
+
+ @Override
+ public String toJsonString() {
+ setLimits(0, limitsEnd, limitsEnd);
+ return super.toJsonString();
+ }
+
+ public void addItem(Player.GetItem playerItem) {
+ ObjectNode resultNode = (ObjectNode) getResultNode(TYPE.OBJECT);
+ JsonNode item = playerItem.getResultNode().get(Player.GetItem.ITEM);
+ addToArrayNode(resultNode, "items", item);
+
+ limitsEnd++;
+ }
+ }
+
+ /**
+ * JSON response for Playlist.GetPlaylists response
+ *
+ * Example:
+ * Query: {"jsonrpc":"2.0","method":"Playlist.GetPlaylists","id":31}
+ * Response: {"id":31,"jsonrpc":"2.0","result":[{"playlistid":0,"type":"audio"},{"playlistid":1,"type":"video"},{"playlistid":2,"type":"picture"}]}
+ */
+ public static class GetPlaylists extends JsonResponse {
+ public final static String METHOD_NAME = "Playlist.GetPlaylists";
+
+ public GetPlaylists(int id) {
+ super(id);
+
+ ArrayNode playlists = createArrayNode();
+ playlists.add(createPlaylistNode(playlistID.AUDIO.ordinal(), "audio"));
+ playlists.add(createPlaylistNode(playlistID.VIDEO.ordinal(), "video"));
+ playlists.add(createPlaylistNode(playlistID.PICTURE.ordinal(), "picture"));
+
+ setResultToResponse(playlists);
+ }
+
+ private ObjectNode createPlaylistNode(int id, String type) {
+ ObjectNode playlistNode = createObjectNode();
+ playlistNode.put("playlistid", id);
+ playlistNode.put("type", type);
+ return playlistNode;
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Application.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Application.java
new file mode 100644
index 0000000..0d97f17
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Application.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+public class Application {
+ /**
+ * JSON response for Application.OnVolumeChanged notification
+ *
+ * Example:
+ * Answer: {"jsonrpc":"2.0","method":"Application.OnVolumeChanged","params":{"data":{"muted":false,"volume":100},"sender":"xbmc"}}
+ *
+ * @return JSON string
+ */
+ public static class OnVolumeChanged extends JsonResponse {
+ public final static String METHOD_NAME = "Application.OnVolumeChanged";
+
+ public OnVolumeChanged(boolean muteState, int volume) {
+ super();
+ addMethodToResponse(METHOD_NAME);
+ addDataToResponse("volume", volume);
+ addDataToResponse("muted", muteState);
+ addParameterToResponse("sender", "xbmc");
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Player.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Player.java
new file mode 100644
index 0000000..349eafa
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Player.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonUtils;
+
+public class Player {
+
+ abstract public static class PlayPause extends JsonResponse {
+ private PlayPause(String methodName, int itemId, String itemType, int playerId, int speed) {
+ addMethodToResponse(methodName);
+
+ ObjectNode itemNode = createObjectNode();
+ itemNode.put("id", itemId);
+ if (itemType != null)
+ itemNode.put("type", itemType);
+ addDataToResponse("item", itemNode);
+
+ itemNode = createObjectNode();
+ itemNode.put("playerid", playerId);
+ itemNode.put("speed", speed);
+ addDataToResponse("player", itemNode);
+
+ addParameterToResponse("sender", "xbmc");
+ }
+ }
+
+ /**
+ * JSON response for Player.OnSpeedChanged notification
+ *
+ * Example:
+ * Answer: {"jsonrpc":"2.0","method":"Player.OnSpeedChanged","params":{"data":{"item":{"id":94,"type":"song"},"player":{"playerid":0,"speed":0}},"sender":"xbmc"}}
+ */
+ public static class OnSpeedChanged extends PlayPause {
+ public final static String METHOD_NAME = "Player.OnSpeedChanged";
+
+ public OnSpeedChanged(int itemId, String itemType, int playerId, int speed) {
+ super(METHOD_NAME, itemId, itemType, playerId, speed);
+ }
+ }
+
+ /**
+ * JSON response for Player.OnPause notification
+ *
+ * Example:
+ * Answer: {"jsonrpc":"2.0","method":"Player.OnPause","params":{"data":{"item":{"id":94,"type":"song"},"player":{"playerid":0,"speed":0}},"sender":"xbmc"}}
+ */
+ public static class OnPause extends PlayPause {
+ public final static String METHOD_NAME = "Player.OnPause";
+
+ public OnPause(int itemId, String itemType, int playerId, int speed) {
+ super(METHOD_NAME, itemId, itemType, playerId, speed);
+ }
+ }
+
+ /**
+ * JSON response for Player.OnPlay notification
+ *
+ * Example:
+ * Answer: {"jsonrpc":"2.0","method":"Player.OnPlay","params":{"data":{"item":{"id":1580,"type":"song"},"player":{"playerid":0,"speed":1}},"sender":"xbmc"}}
+ */
+ public static class OnPlay extends PlayPause {
+ public final static String METHOD_NAME = "Player.OnPlay";
+
+ public OnPlay(int itemId, String itemType, int playerId, int speed) {
+ super(METHOD_NAME, itemId, itemType, playerId, speed);
+ }
+ }
+
+ /**
+ * JSON response for Player.OnStop notification
+ *
+ * Example:
+ * {"jsonrpc":"2.0","method":"Player.OnStop","params":{"data":{"end":false,"item":{"id":14765,"type":"song"}},"sender":"xbmc"}}
+ */
+ public static class OnStop extends JsonResponse {
+ public final static String METHOD_NAME = "Player.OnStop";
+
+ public OnStop(int itemId, String itemType, boolean ended) {
+ super();
+ addMethodToResponse(METHOD_NAME);
+
+ addDataToResponse("end", false);
+
+ ObjectNode itemNode = createObjectNode();
+ itemNode.put("id", itemId);
+ itemNode.put("type", itemType);
+ addDataToResponse("item", itemNode);
+
+ addParameterToResponse("sender", "xbmc");
+ }
+ }
+
+ /**
+ * JSON response for Player.OnPropertyChanged notification
+ *
+ * Example:
+ * {"jsonrpc":"2.0","method":"Player.OnPropertyChanged","params":{"data":{"player":{"playerid":0},"property":{"repeat":"all"}},"sender":"xbmc"}}
+ */
+ public static class OnPropertyChanged extends JsonResponse {
+ public final static String METHOD_NAME = "Player.OnPropertyChanged";
+
+ public OnPropertyChanged(String repeatType, Boolean shuffled, int playerId) {
+ super();
+ addMethodToResponse(METHOD_NAME);
+
+ ObjectNode playerIdNode = createObjectNode();
+ playerIdNode.put("playerid", playerId);
+ addDataToResponse("player", playerIdNode);
+
+ if (repeatType != null) {
+ ObjectNode repeatNode = createObjectNode();
+ repeatNode.put("repeat", repeatType);
+ addDataToResponse("property", repeatNode);
+ }
+
+ if (shuffled != null) {
+ ObjectNode repeatNode = createObjectNode();
+ repeatNode.put("shuffled", shuffled);
+ addDataToResponse("property", repeatNode);
+ }
+
+ addParameterToResponse("sender", "xbmc");
+ }
+ }
+
+ /**
+ * JSON response for Player.OnSeek notification
+ *
+ * Example:
+ * {"jsonrpc":"2.0","method":"Player.OnSeek", "params":{ "data":{"item":{ "id":127,"type":"episode" },"player":{ "playerid":1,"seekoffset":{ "hours":0,"milliseconds":0, "minutes":0,"seconds":-14 },"speed":0, "time":{"hours":0, "milliseconds":0,"minutes":0, "seconds":2} }},"sender":"xbmc" }}
+ */
+ public static class OnSeek extends JsonResponse {
+ public final static String METHOD_NAME = "Player.OnSeek";
+
+ public OnSeek(int itemId, String type, int playerId, int speed, long seekOffsetSecs, long timeSecs) {
+ super();
+ addMethodToResponse(METHOD_NAME);
+
+ ObjectNode itemNode = createObjectNode();
+ itemNode.put("id", itemId);
+ itemNode.put("type", type);
+ addDataToResponse("item", itemNode);
+
+ ObjectNode playerNode = createObjectNode();
+ playerNode.put("playerid", playerId);
+ playerNode.set("seekoffset", JsonUtils.createTimeNode(createObjectNode(), seekOffsetSecs));
+ playerNode.set("time", JsonUtils.createTimeNode(createObjectNode(), timeSecs));
+ playerNode.put("speed", speed);
+ addDataToResponse("player", playerNode);
+
+ addParameterToResponse("sender", "xbmc");
+ }
+ }
+
+ /**
+ * JSON response for Player.OnAVStart notification
+ *
+ * Example:
+ * {"jsonrpc":"2.0","method":"Player.OnAVStart",
+ * "params":{"data":{
+ * "item":{"id":1502,"type":"song"},
+ * "player":{"playerid":0,"speed":1}},
+ * "sender":"xbmc"}}
+ */
+ public static class OnAVStart extends PlayPause {
+ public final static String METHOD_NAME = "Player.OnAVStart";
+
+ public OnAVStart(int itemId, String itemType, int playerId, int speed) {
+ super(METHOD_NAME, itemId, itemType, playerId, speed);
+ }
+ }
+}
diff --git a/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Playlist.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Playlist.java
new file mode 100644
index 0000000..852ff71
--- /dev/null
+++ b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Playlist.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2018 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.response.notifications;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.testutils.tcpserver.handlers.jsonrpc.JsonResponse;
+
+public class Playlist {
+
+ /**
+ * JSON response for Playlist.OnClear notification
+ *
+ * Example:
+ * {"jsonrpc":"2.0","method":"Playlist.OnClear","params":{"data":{"playlistid":0},"sender":"xbmc"}}
+ */
+ public static class OnClear extends JsonResponse {
+ public final static String METHOD_NAME = "Playlist.OnClear";
+
+ public OnClear(int playlistId) {
+ super();
+ addMethodToResponse(METHOD_NAME);
+
+ addDataToResponse("playlistid", playlistId);
+
+ addParameterToResponse("sender", "xbmc");
+ }
+ }
+
+ /**
+ * JSON response for Playlist.OnAdd notification
+ *
+ * Example:
+ * {"jsonrpc":"2.0","method":"Playlist.OnAdd","params":{"data":{"item":{"id":1502,"type":"song"},"playlistid":0,"position":0},"sender":"xbmc"}}
+ */
+ public static class OnAdd extends JsonResponse {
+ public final static String METHOD_NAME = "Playlist.OnAdd";
+
+ public OnAdd(int itemId, String type, int playlistId, int playlistPosition) {
+ addMethodToResponse(METHOD_NAME);
+
+ ObjectNode item = createObjectNode();
+ item.put("id", itemId);
+ item.put("type", type);
+ addDataToResponse("item", item);
+
+ addDataToResponse("playlistid", playlistId);
+ addDataToResponse("position", playlistPosition);
+
+ addParameterToResponse("sender", "xbmc");
+ }
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..3eaaefd
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/org/xbmc/kore/Settings.java b/app/src/main/java/org/xbmc/kore/Settings.java
new file mode 100644
index 0000000..7d69259
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/Settings.java
@@ -0,0 +1,275 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore;
+
+import android.app.DownloadManager;
+import android.content.Context;
+import android.content.SharedPreferences;
+import androidx.preference.PreferenceManager;
+import android.text.format.DateUtils;
+
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Class that contains various constants and the keys for settings stored in shared preferences
+ */
+public class Settings {
+ private static final String TAG = LogUtils.makeLogTag(Settings.class);
+
+ /**
+ * The update interval for the records in the DB. If the last update is older than this value
+ * a refresh will be triggered. Applicable to TV Shows and Movies.
+ */
+// public static final long DB_UPDATE_INTERVAL = 12 * DateUtils.HOUR_IN_MILLIS;
+ public static final long DB_UPDATE_INTERVAL = 5 * DateUtils.MINUTE_IN_MILLIS;
+
+ // Sort orders
+ public static final int SORT_BY_NAME = 0,
+ SORT_BY_DATE_ADDED = 1,
+ SORT_BY_RATING = 2,
+ SORT_BY_YEAR = 3,
+ SORT_BY_LENGTH = 4,
+ SORT_BY_ALBUM = 5,
+ SORT_BY_ARTIST = 6,
+ SORT_BY_ARTIST_YEAR = 7,
+ SORT_BY_LAST_PLAYED = 8,
+ UNSORTED = 9;
+
+ /**
+ * Preferences keys.
+ * Some of these settings are automatically managed by the Preferences mechanism.
+ * Make sure these are the same as in preferences.xml
+ */
+
+ //Theme color and variant constants, keep in sync to the defined in arrays.xml
+ public static final String THEME_VARIANT_LIGHT = "light", THEME_VARIANT_DARK = "dark", THEME_VARIANT_SYSTEM = "auto";
+ public static final String THEME_COLOR_KORE = "kore", THEME_COLOR_GREEN = "green",
+ THEME_COLOR_YELLOW = "yellow", THEME_COLOR_PURPLE = "purple", THEME_COLOR_SYSTEM = "system_colors";
+
+ // Theme
+ public static final String KEY_PREF_THEME_COLOR = "pref_theme_color";
+ public static final String DEFAULT_PREF_THEME_COLOR = THEME_COLOR_KORE;
+
+ public static final String KEY_PREF_THEME_VARIANT = "pref_theme_variant";
+ public static final String DEFAULT_PREF_THEME_VARIANT = THEME_VARIANT_SYSTEM;
+
+ // Switch to remote
+ public static final String KEY_PREF_SWITCH_TO_REMOTE_AFTER_MEDIA_START = "pref_switch_to_remote_after_media_start";
+ public static final boolean DEFAULT_PREF_SWITCH_TO_REMOTE_AFTER_MEDIA_START = true;
+
+ // Keep remote activity above lockscreen
+ public static final String KEY_PREF_KEEP_REMOTE_ABOVE_LOCKSCREEN = "pref_keep_remote_above_lockscreen";
+ public static final boolean DEFAULT_KEY_PREF_KEEP_REMOTE_ABOVE_LOCKSCREEN = false;
+
+ // Keep screen on when on the remote activity
+ public static final String KEY_PREF_KEEP_SCREEN_ON = "pref_keep_screen_on";
+ public static final boolean DEFAULT_KEY_PREF_KEEP_SCREEN_ON = false;
+
+ // Show now playing panel
+ public static final String KEY_PREF_SHOW_NOW_PLAYING_PANEL = "pref_show_nowplayingpanel";
+ public static final boolean DEFAULT_PREF_SHOW_NOW_PLAYING_PANEL = true;
+
+ // Pause during calls
+ public static final String KEY_PREF_PAUSE_DURING_CALLS = "pref_pause_during_calls";
+ public static final boolean DEFAULT_PREF_PAUSE_DURING_CALLS = false;
+
+ // Other keys used in preferences.xml
+ public static final String KEY_PREF_ABOUT = "pref_about";
+
+ // Filter watched movies on movie list
+ public static final String KEY_PREF_MOVIES_FILTER_HIDE_WATCHED = "movies_filter_hide_watched";
+ public static final boolean DEFAULT_PREF_MOVIES_FILTER_HIDE_WATCHED = false;
+
+ // Sort order on movies
+ public static final String KEY_PREF_MOVIES_SORT_ORDER = "movies_sort_order";
+ public static final int DEFAULT_PREF_MOVIES_SORT_ORDER = SORT_BY_NAME;
+
+ // Show watched status on movie list
+ public static final String KEY_PREF_MOVIES_SHOW_WATCHED_STATUS = "movies_show_watched_status";
+ public static final boolean DEFAULT_PREF_MOVIES_SHOW_WATCHED_STATUS = true;
+
+ // Show watched status on movie list
+ public static final String KEY_PREF_MOVIES_SHOW_RATING = "movies_show_rating";
+ public static final boolean DEFAULT_PREF_MOVIES_SHOW_RATING = true;
+
+ // Sort order on albums
+ public static final String KEY_PREF_ALBUMS_SORT_ORDER = "albums_sort_order";
+ public static final int DEFAULT_PREF_ALBUMS_SORT_ORDER = SORT_BY_ALBUM;
+
+ // Ignore articles on movie sorting
+ public static final String KEY_PREF_MOVIES_IGNORE_PREFIXES = "movies_ignore_prefixes";
+ public static final boolean DEFAULT_PREF_MOVIES_IGNORE_PREFIXES = false;
+
+ // Filter watched tv shows on tvshows list
+ public static final String KEY_PREF_TVSHOWS_FILTER_HIDE_WATCHED = "tvshows_filter_hide_watched";
+ public static final boolean DEFAULT_PREF_TVSHOWS_FILTER_HIDE_WATCHED = false;
+
+ // Filter watched episodes on episodes list
+ public static final String KEY_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED = "tvshow_episodes_filter_hide_watched";
+ public static final boolean DEFAULT_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED = false;
+
+ // Sort order on tv shows
+ public static final String KEY_PREF_TVSHOWS_SORT_ORDER = "tvshows_sort_order";
+ public static final int DEFAULT_PREF_TVSHOWS_SORT_ORDER = SORT_BY_NAME;
+
+ // Ignore articles on tv show sorting
+ public static final String KEY_PREF_TVSHOWS_IGNORE_PREFIXES = "tvshows_ignore_prefixes";
+ public static final boolean DEFAULT_PREF_TVSHOWS_IGNORE_PREFIXES = false;
+
+ // Show watched status on movie list
+ public static final String KEY_PREF_TVSHOWS_SHOW_WATCHED_STATUS = "tvshows_show_watched_status";
+ public static final boolean DEFAULT_PREF_TVSHOWS_SHOW_WATCHED_STATUS = true;
+
+ // Filter watched pvr recordings on movie list
+ public static final String KEY_PREF_PVR_RECORDINGS_FILTER_HIDE_WATCHED = "pvr_recordings_filter_hide_watched";
+ public static final boolean DEFAULT_PREF_PVR_RECORDINGS_FILTER_HIDE_WATCHED = false;
+
+ // Sort order on pvr recordings
+ public static final String KEY_PREF_PVR_RECORDINGS_SORT_ORDER = "pvr_recordings_sort_order";
+ public static final int DEFAULT_PREF_PVR_RECORDINGS_SORT_ORDER = UNSORTED;
+
+ // Filter disabled addons on addons list
+ public static final String KEY_PREF_ADDONS_FILTER_HIDE_DISABLED = "addons_filter_hide_disabled";
+ public static final boolean DEFAULT_PREF_ADDONS_FILTER_HIDE_DISABLED = false;
+
+ // Use hardware volume keys to control volume
+ public static final String USE_HW_VOL_KEYS_NEVER = "never", USE_HW_VOL_KEYS_ALWAYS = "always",
+ USE_HW_VOL_KEYS_WHEN_IN_FOREGROUND = "when_in_foreground";
+
+ public static final String KEY_PREF_USE_HW_VOL_KEYS = "pref_use_hw_vol_keys";
+ public static final String DEFAULT_PREF_USE_HW_VOL_KEYS = USE_HW_VOL_KEYS_NEVER;
+
+ // Vibrate on remote button press
+ public static final String KEY_PREF_VIBRATE_REMOTE_BUTTONS = "pref_vibrate_remote_buttons";
+ public static final boolean DEFAULT_PREF_VIBRATE_REMOTE_BUTTONS = false;
+
+ // Current host id
+ public static final String KEY_PREF_CURRENT_HOST_ID = "current_host_id";
+ public static final int DEFAULT_PREF_CURRENT_HOST_ID = -1;
+
+ public static final String KEY_PREF_REMOTE_BAR_ITEMS = "pref_remote_bar_items";
+ public static String getRemoteBarItemsPrefKey(int hostId) {
+ return Settings.KEY_PREF_REMOTE_BAR_ITEMS + hostId;
+ }
+
+ public static final String KEY_PREF_ALWAYS_SENDTOKODI_ADDON = "pref_always_sendtokodi_addon";
+ public static final boolean DEFAULT_PREF_ALWAYS_SENDTOKODI_ADDON = false;
+
+ public static final String KEY_PREF_YOUTUBE_ADDON_ID = "pref_youtube_addon_id";
+ public static final String DEFAULT_PREF_YOUTUBE_ADDON_ID = "plugin.video.youtube";
+
+ public static final String KEY_PREF_NAV_DRAWER_ITEMS = "pref_nav_drawer_items";
+ public static String getNavDrawerItemsPrefKey(int hostId) {
+ return Settings.KEY_PREF_NAV_DRAWER_ITEMS + hostId;
+ }
+
+ public static final String KEY_PREF_DOWNLOAD_TYPES = "pref_download_conn_types";
+
+ public static final String KEY_PREF_SINGLE_COLUMN = "pref_single_multi_column";
+ public static final boolean DEFAULT_PREF_SINGLE_COLUMN = false;
+
+ public static final String KEY_PREF_LANGUAGE = "pref_language";
+ public static final String KEY_PREF_SELECTED_LANGUAGE = "pref_selected_language";
+
+ /**
+ * Determines the bit flags used by {@link DownloadManager.Request} to correspond to the enabled network connections
+ * from the settings screen.
+ * @return {@link DownloadManager.Request} network types bit flags that are enabled or 0 if none are enabled
+ */
+ public static int allowedDownloadNetworkTypes(Context context) {
+ SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
+ Set connPrefs = sharedPref.getStringSet(Settings.KEY_PREF_DOWNLOAD_TYPES,
+ new HashSet<>(Arrays.asList(new String[]{"0"})));
+ int result = 0; // default none
+ for(String pref : connPrefs) {
+ switch( Integer.parseInt(pref) ) {
+ case 0:
+ result |= DownloadManager.Request.NETWORK_WIFI;
+ break;
+ case 1:
+ result |= DownloadManager.Request.NETWORK_MOBILE;
+ break;
+ case 2: // currently -1 means all network types in DownloadManager
+ result |= ~0;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Keys for bookmarked addons stored in preferences
+ */
+ private static final String KEY_PREF_BOOKMARKED_ADDONS = "bookmarked";
+ public static String getBookmarkedAddonsPrefKey(int hostId) {
+ return Settings.KEY_PREF_BOOKMARKED_ADDONS + hostId;
+ }
+ private static final String KEY_PREF_NAME_BOOKMARKED_ADDON = "name_";
+ public static String getNameBookmarkedAddonsPrefKey(int hostId) {
+ return Settings.KEY_PREF_NAME_BOOKMARKED_ADDON + hostId + "_";
+ }
+ public static final String DEFAULT_PREF_NAME_BOOKMARKED_ADDON = "Content";
+
+ /**
+ * Returns a theme resource Id given the value stored in Shared Preferences
+ * @param prefThemeColor Shared Preferences colour for the theme
+ * @param prefThemeVariant Shared Preferences variant for the theme
+ * @return Android resource id of the theme
+ */
+ public static int getThemeResourceId(String prefThemeColor, String prefThemeVariant) {
+ switch (prefThemeColor) {
+ case THEME_COLOR_YELLOW:
+ switch (prefThemeVariant) {
+ case THEME_VARIANT_LIGHT:
+ return R.style.Theme_Kore_Yellow_Light;
+ case THEME_VARIANT_DARK:
+ return R.style.Theme_Kore_Yellow_Dark;
+ default:
+ return R.style.Theme_Kore_Yellow_Auto;
+ }
+ case THEME_COLOR_PURPLE:
+ switch (prefThemeVariant) {
+ case THEME_VARIANT_LIGHT:
+ return R.style.Theme_Kore_Purple_Light;
+ case THEME_VARIANT_DARK:
+ return R.style.Theme_Kore_Purple_Dark;
+ default:
+ return R.style.Theme_Kore_Purple_Auto;
+ }
+ case THEME_COLOR_GREEN:
+ switch (prefThemeVariant) {
+ case THEME_VARIANT_LIGHT:
+ return R.style.Theme_Kore_Green_Light;
+ case THEME_VARIANT_DARK:
+ return R.style.Theme_Kore_Green_Dark;
+ default:
+ return R.style.Theme_Kore_Green_Auto;
+ }
+ default: // "kore" and "system_colors" share this
+ switch (prefThemeVariant) {
+ case THEME_VARIANT_LIGHT:
+ return R.style.Theme_Kore_Default_Light;
+ case THEME_VARIANT_DARK:
+ return R.style.Theme_Kore_Default_Dark;
+ default:
+ return R.style.Theme_Kore_Default_Auto;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/ShareOpenActivity.java b/app/src/main/java/org/xbmc/kore/ShareOpenActivity.java
new file mode 100644
index 0000000..d3c090a
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/ShareOpenActivity.java
@@ -0,0 +1,302 @@
+package org.xbmc.kore;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.webkit.MimeTypeMap;
+import android.widget.Toast;
+
+import androidx.core.content.pm.ShortcutManagerCompat;
+import androidx.preference.PreferenceManager;
+
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.host.HostManager;
+import org.xbmc.kore.host.actions.OpenSharedUrl;
+import org.xbmc.kore.jsonrpc.ApiCallback;
+import org.xbmc.kore.jsonrpc.type.PlaylistType;
+import org.xbmc.kore.ui.sections.localfile.HttpApp;
+import org.xbmc.kore.ui.sections.remote.RemoteActivity;
+import org.xbmc.kore.utils.LogUtils;
+import org.xbmc.kore.utils.PluginUrlUtils;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Auxiliary activity with no UI that handles share intents to Play or Queue an item on Kodi.
+ * Decodes the passed intent, determine which methods to call on Kodi, sends the appropriate calls
+ * and opens the {@link RemoteActivity} if necessary.
+ */
+public class ShareOpenActivity extends Activity {
+ private static final String TAG = LogUtils.makeLogTag(ShareOpenActivity.class);
+
+ // ACTION to be used with the shortcut API that directly opens the remote
+ public static final String DEFAULT_OPEN_ACTION = "org.xbmc.kore.OPEN_REMOTE_VIEW";
+ // CATEGORY for dynamic Share Targets
+ public static final String SHARE_TARGET_CATEGORY = "org.xbmc.kore.SHARE_TARGET";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ handleStartIntent(getIntent());
+ }
+
+ /**
+ * Handles the intent that started this activity, namely to start playing something on Kodi
+ * @param intent Start intent for the activity
+ */
+ protected void handleStartIntent(Intent intent) {
+ handleStartIntent(intent, false);
+ }
+
+ /**
+ * Handles the intent that started this activity, namely to start playing something on Kodi
+ * @param intent Start intent for the activity
+ * @param queue Whether to queue the item
+ */
+ protected void handleStartIntent(Intent intent, boolean queue) {
+ LogUtils.LOGD(TAG, "Got Share Intent: " + intent);
+ final HostManager hostManager = HostManager.getInstance(this);
+
+ // If a host was passed from the intent switch to it
+ String shortcutId = intent.getStringExtra(ShortcutManagerCompat.EXTRA_SHORTCUT_ID);
+ if (shortcutId != null) {
+ int hostId = Integer.parseInt(shortcutId);
+ for (HostInfo host : hostManager.getHosts()) {
+ if (host.getId() == hostId) {
+ LogUtils.LOGD(TAG, "Switching hosts");
+ hostManager.switchHost(host);
+ break;
+ }
+ }
+ }
+
+ final String action = intent.getAction();
+ final String intentType = intent.getType();
+ // Check action: open the Remote activity if no action specified, no host connection (no hosts configured?),
+ // default open specified (switch host?) or any other action other than Send or View
+ if (action == null ||
+ hostManager.getConnection() == null ||
+ action.equals(DEFAULT_OPEN_ACTION) ||
+ !(action.equals(Intent.ACTION_SEND) || action.equals(Intent.ACTION_VIEW))) {
+ startActivity(new Intent(this, RemoteActivity.class));
+ finish();
+ return;
+ }
+
+ Uri videoUri;
+ if (action.equals(Intent.ACTION_SEND) && intentType != null && intentType.equals("text/plain")) {
+ // Get the URI, which is stored in Extras
+ videoUri = getPlainTextUri(intent.getStringExtra(Intent.EXTRA_TEXT));
+ } else {
+ videoUri = intent.getData();
+ }
+
+ if (videoUri == null) {
+ // Check if `intent` contains a URL or a link to a local file:
+ videoUri = getShareLocalUriOrHiddenUri(intent);
+ }
+
+ if (videoUri == null) {
+ // Couldn't understand the URI
+ finish();
+ return;
+ }
+
+ String url = toPluginUrl(videoUri);
+
+ if (url == null) {
+ url = videoUri.toString();
+ }
+
+ // Determine which playlist to use
+ int playlistType;
+ if (intentType == null) {
+ playlistType = PlaylistType.VIDEO_PLAYLISTID;
+ } else if (intentType.matches("audio.*")) {
+ playlistType = PlaylistType.MUSIC_PLAYLISTID;
+ } else if (intentType.matches("video.*")) {
+ playlistType = PlaylistType.VIDEO_PLAYLISTID;
+ } else if (intentType.matches("image.*")) {
+ playlistType = PlaylistType.PICTURE_PLAYLISTID;
+ } else {
+ // Generic links? Default to video:
+ playlistType = PlaylistType.VIDEO_PLAYLISTID;
+ }
+
+ String title = getString(R.string.app_name);
+ String text = getString(R.string.item_added_to_playlist);
+ final Context context = this;
+ new OpenSharedUrl(this, url, title, text, queue, playlistType)
+ .execute(hostManager.getConnection(),
+ new ApiCallback<>() {
+ @Override
+ public void onSuccess(Boolean wasAlreadyPlaying) {
+ String msg = queue && wasAlreadyPlaying ? getString(R.string.item_added_to_playlist)
+ : getString(R.string.item_sent_to_kodi);
+ Toast.makeText(context, msg, Toast.LENGTH_SHORT)
+ .show();
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ LogUtils.LOGE(TAG, "Share failed: " + description);
+ Toast.makeText(context, description, Toast.LENGTH_SHORT)
+ .show();
+ }
+ }, new Handler(Looper.getMainLooper()));
+
+ // Don't display Kore after queueing from another app, otherwise start the remote
+ if (!queue)
+ startActivity(new Intent(this, RemoteActivity.class)
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP));
+ // Always finish as we don't have anything to show
+ finish();
+ }
+
+ private Uri getUrlInsideIntent(Intent intent) {
+ // Some apps hide the link in the clip, try to detect any link by casting the intent
+ // to string a looking with a regular expression:
+
+ Matcher matcher = Pattern.compile("https?://[^\\s]+").matcher(intent.toString());
+ String matchedString;
+ if (matcher.find()) {
+ matchedString = matcher.group(0);
+ if (matchedString != null && matchedString.endsWith("}")) {
+ matchedString = matchedString.substring(0, matchedString.length() - 1);
+ }
+ return Uri.parse(matchedString);
+ }
+ return null;
+ }
+
+ private Uri getShareLocalUriOrHiddenUri(Intent intent) {
+ Uri contentUri = intent.getData();
+
+ if (contentUri == null) {
+ Bundle bundle = intent.getExtras();
+ contentUri = (Uri) bundle.get(Intent.EXTRA_STREAM);
+ }
+ if (contentUri == null) {
+ return getUrlInsideIntent(intent);
+ }
+
+ HttpApp http_app;
+ try {
+ http_app = HttpApp.getInstance(getApplicationContext(), 8080);
+ } catch (IOException ioe) {
+ Toast.makeText(getApplicationContext(),
+ getString(R.string.error_starting_http_server),
+ Toast.LENGTH_LONG).show();
+ return null;
+ }
+ http_app.addUri(contentUri);
+ String url = http_app.getLinkToFile();
+
+ return Uri.parse(url);
+ }
+
+ /**
+ * Returns the Uri that the some apps passes in EXTRA_TEXT
+ * YouTube sends something like: [Video title]: [YouTube URL] so we need
+ * to get the second part
+ *
+ * @param extraText EXTRA_TEXT passed in the intent
+ * @return Uri present in extraText if present
+ */
+ private Uri getPlainTextUri(String extraText) {
+ if (extraText == null) return null;
+
+ for (String word : extraText.split(" ")) {
+ if (word.startsWith("http://") || word.startsWith("https://")) {
+ try {
+ URL validUri = new URL(word);
+ return Uri.parse(word);
+ } catch (MalformedURLException exc) {
+ LogUtils.LOGD(TAG, "Got a malformed URL in an intent: " + word);
+ return null;
+ }
+
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Converts a video url to a Kodi plugin URL.
+ *
+ * @param playuri some URL
+ * @return plugin URL
+ */
+ private String toPluginUrl(Uri playuri) {
+ String host = playuri.getHost();
+ String extension = MimeTypeMap.getFileExtensionFromUrl(playuri.toString());
+ String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
+
+ if (host == null)
+ return null;
+
+ boolean alwaysSendToKodi = PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
+ .getBoolean(Settings.KEY_PREF_ALWAYS_SENDTOKODI_ADDON,
+ Settings.DEFAULT_PREF_ALWAYS_SENDTOKODI_ADDON);
+
+ if (!alwaysSendToKodi) {
+ if (host.endsWith("youtube.com") || host.endsWith("youtu.be")) {
+ String preferredYouTubeAddonId = PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
+ .getString(Settings.KEY_PREF_YOUTUBE_ADDON_ID, Settings.DEFAULT_PREF_YOUTUBE_ADDON_ID);
+ if (preferredYouTubeAddonId.equals("plugin.video.invidious")) {
+ return PluginUrlUtils.toInvidiousYouTubePluginUrl(playuri);
+ } else {
+ return PluginUrlUtils.toDefaultYouTubePluginUrl(playuri);
+ }
+ } else if (host.endsWith("vimeo.com")) {
+ return PluginUrlUtils.toVimeoPluginUrl(playuri);
+ } else if (host.endsWith("svtplay.se")) {
+ return PluginUrlUtils.toSvtPlayPluginUrl(playuri);
+ } else if (host.endsWith("soundcloud.com")) {
+ return PluginUrlUtils.toSoundCloudPluginUrl(playuri);
+ } else if (host.endsWith("twitch.tv")) {
+ return PluginUrlUtils.toTwitchPluginUrl(playuri);
+ } else if (PluginUrlUtils.isHostArte(host)) {
+ return PluginUrlUtils.toArtePluginUrl(playuri);
+ }
+ }
+ if (host.startsWith("app.primevideo.com")) {
+ // Prime Video cannot be handled by SendToKodi as it requires authentication:
+ Matcher amazonMatcher = Pattern.compile("gti=([^&]+)").matcher(playuri.toString());
+ if (amazonMatcher.find()) {
+ String gti = amazonMatcher.group(1);
+ return "plugin://plugin.video.amazon-test/?asin=" + gti + "&mode=PlayVideo&adult=0&name=&trailer=0&selbitrate=0";
+ }
+ } else if (!isMediaFile(mimeType)) {
+ // SendToKodi is a Kodi addon that is able to extract URLs from generic
+ // web URIs using the Python library "youtube-dl".
+ // Use it as a last resort, unless the URI extension is a known media file
+ // (in that case Kodi does not require an addon to play the link):
+ return "plugin://plugin.video.sendtokodi/?" + playuri;
+ }
+ return null;
+ }
+
+ boolean isMediaFile(String mimeType) {
+ if (mimeType == null) {
+ return false;
+ } else if (mimeType.startsWith("audio")) {
+ return true;
+ } else if (mimeType.startsWith("image")) {
+ return true;
+ } else if (mimeType.startsWith("video")) {
+ return true;
+ }
+ return false;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/xbmc/kore/ShareQueueActivity.java b/app/src/main/java/org/xbmc/kore/ShareQueueActivity.java
new file mode 100644
index 0000000..32aa25a
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/ShareQueueActivity.java
@@ -0,0 +1,16 @@
+package org.xbmc.kore;
+
+import android.content.Intent;
+
+/**
+ * Auxiliary activity with no UI that handles share intents to Queue an item on Kodi.
+ * Delegates to {@link ShareOpenActivity} with queue set
+ */
+public class ShareQueueActivity extends ShareOpenActivity {
+
+ @Override
+ protected void handleStartIntent(Intent intent) {
+ handleStartIntent(intent, true);
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/ButtonCodes.java b/app/src/main/java/org/xbmc/kore/eventclient/ButtonCodes.java
new file mode 100644
index 0000000..ab00f0d
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/ButtonCodes.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2005-2009 Team XBMC
+ * http://xbmc.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XBMC Remote; see the file license. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package org.xbmc.kore.eventclient;
+
+/**
+ * Remote control and keyboard strings, taken from xbmc/ButtonTranslator.cpp
+ *
+ * @author Team XBMC
+ */
+public final class ButtonCodes {
+ /**
+ * "KB" => standard keyboard map ( section )
+ * "XG" => xbox gamepad map ( section )
+ * "R1" => xbox remote map ( section )
+ * "R2" => xbox universal remote map ( section )
+ * "LI:devicename" => LIRC remote map where 'devicename' is the actual device's name
+ */
+ public static final String MAP_KEYBOARD = "KB";
+ public static final String MAP_GAMEPAD = "XG";
+ public static final String MAP_REMOTE = "R1";
+ public static final String MAP_UNIVERSAL_REMOTE = "R2";
+
+ public static final String REMOTE_LEFT = "left";
+ public static final String REMOTE_RIGHT = "right";
+ public static final String REMOTE_UP = "up";
+ public static final String REMOTE_DOWN = "down";
+ public static final String REMOTE_SELECT = "select";
+ public static final String REMOTE_BACK = "back";
+ public static final String REMOTE_MENU = "menu";
+ public static final String REMOTE_INFO = "info";
+ public static final String REMOTE_DISPLAY = "display";
+ public static final String REMOTE_TITLE = "title";
+ public static final String REMOTE_PLAY = "play";
+ public static final String REMOTE_PAUSE = "pause";
+ public static final String REMOTE_REVERSE = "reverse";
+ public static final String REMOTE_FORWARD = "forward";
+ public static final String REMOTE_SKIP_PLUS = "skipplus";
+ public static final String REMOTE_SKIP_MINUS = "skipminus";
+ public static final String REMOTE_STOP = "stop";
+ public static final String REMOTE_0 = "zero";
+ public static final String REMOTE_1 = "one";
+ public static final String REMOTE_2 = "two";
+ public static final String REMOTE_3 = "three";
+ public static final String REMOTE_4 = "four";
+ public static final String REMOTE_5 = "five";
+ public static final String REMOTE_6 = "six";
+ public static final String REMOTE_7 = "seven";
+ public static final String REMOTE_8 = "eight";
+ public static final String REMOTE_9 = "nine";
+ // additional keys from the media center extender for xbox remote
+ public static final String REMOTE_POWER = "power";
+ public static final String REMOTE_MY_TV = "mytv";
+ public static final String REMOTE_MY_MUSIC = "mymusic";
+ public static final String REMOTE_MY_PICTURES = "mypictures";
+ public static final String REMOTE_MY_VIDEOS = "myvideo";
+ public static final String REMOTE_RECORD = "record";
+ public static final String REMOTE_START = "start";
+ public static final String REMOTE_VOLUME_PLUS = "volumeplus";
+ public static final String REMOTE_VOLUME_MINUS = "volumeminus";
+ public static final String REMOTE_CHANNEL_PLUS = "channelplus";
+ public static final String REMOTE_CHANNEL_MINUS = "channelminus";
+ public static final String REMOTE_PAGE_PLUS = "pageplus";
+ public static final String REMOTE_PAGE_MINUS = "pageminus";
+ public static final String REMOTE_MUTE = "mute";
+ public static final String REMOTE_RECORDED_TV = "recordedtv";
+ public static final String REMOTE_GUIDE = "guide";
+ public static final String REMOTE_LIVE_TV = "livetv";
+ public static final String REMOTE_STAR = "star";
+ public static final String REMOTE_HASH = "hash";
+ public static final String REMOTE_CLEAR = "clear";
+ public static final String REMOTE_ENTER = "enter";
+ public static final String REMOTE_XBOX = "xbox";
+
+ public static final String KEYBOARD_RETURN = "return";
+ public static final String KEYBOARD_ENTER = "enter";
+ public static final String KEYBOARD_ESCAPE = "escape";
+ public static final String KEYBOARD_ESC = "esc";
+ public static final String KEYBOARD_TAB = "tab";
+ public static final String KEYBOARD_SPACE = "space";
+ public static final String KEYBOARD_LEFT = "left";
+ public static final String KEYBOARD_RIGHT = "right";
+ public static final String KEYBOARD_UP = "up";
+ public static final String KEYBOARD_DOWN = "down";
+ public static final String KEYBOARD_INSERT = "insert";
+ public static final String KEYBOARD_DELETE = "delete";
+ public static final String KEYBOARD_HOME = "home";
+ public static final String KEYBOARD_END = "end";
+ public static final String KEYBOARD_F1 = "f1";
+ public static final String KEYBOARD_F2 = "f2";
+ public static final String KEYBOARD_F3 = "f3";
+ public static final String KEYBOARD_F4 = "f4";
+ public static final String KEYBOARD_F5 = "f5";
+ public static final String KEYBOARD_F6 = "f6";
+ public static final String KEYBOARD_F7 = "f7";
+ public static final String KEYBOARD_F8 = "f8";
+ public static final String KEYBOARD_F9 = "f9";
+ public static final String KEYBOARD_F10 = "f10";
+ public static final String KEYBOARD_F11 = "f11";
+ public static final String KEYBOARD_F12 = "f12";
+ public static final String KEYBOARD_NUMPAD_ZERO = "numpadzero";
+ public static final String KEYBOARD_NUMPAD_1 = "numpadone";
+ public static final String KEYBOARD_NUMPAD_2 = "numpadtwo";
+ public static final String KEYBOARD_NUMPAD_3 = "numpadthree";
+ public static final String KEYBOARD_NUMPAD_4 = "numpadfour";
+ public static final String KEYBOARD_NUMPAD_5 = "numpadfive";
+ public static final String KEYBOARD_NUMPAD_6 = "numpadsix";
+ public static final String KEYBOARD_NUMPAD_7 = "numpadseven";
+ public static final String KEYBOARD_NUMPAD_8 = "numpadeight";
+ public static final String KEYBOARD_NUMPAD_9 = "numpadnine";
+ public static final String KEYBOARD_NUMPAD_TIMES = "numpadtimes";
+ public static final String KEYBOARD_NUMPAD_PLUS = "numpadplus";
+ public static final String KEYBOARD_NUMPAD_MINUS = "numpadminus";
+ public static final String KEYBOARD_NUMPAD_PERIOD = "numpadperiod";
+ public static final String KEYBOARD_NUMPAD_DIVIDE = "numpaddivide";
+ public static final String KEYBOARD_PAGEUP = "pageup";
+ public static final String KEYBOARD_PAGEDOWN = "pagedown";
+ public static final String KEYBOARD_PRINTSCREEN = "printscreen";
+ public static final String KEYBOARD_BACKSPACE = "backspace";
+ public static final String KEYBOARD_MENU = "menu";
+ public static final String KEYBOARD_PAUSE = "pause";
+ public static final String KEYBOARD_LEFTSHIFT = "leftshift";
+ public static final String KEYBOARD_RIGHTSHIFT = "rightshift";
+ public static final String KEYBOARD_LEFTCTRL = "leftctrl";
+ public static final String KEYBOARD_RIGHTCTRL = "rightctrl";
+ public static final String KEYBOARD_LEFTALT = "leftalt";
+ public static final String KEYBOARD_RIGHTALT = "rightalt";
+ public static final String KEYBOARD_LEFTWINDOWS = "leftwindows";
+ public static final String KEYBOARD_RIGHTWINDOWS = "rightwindows";
+ public static final String KEYBOARD_CAPSLOCK = "capslock";
+ public static final String KEYBOARD_NUMLOCK = "numlock";
+ public static final String KEYBOARD_SCROLLLOCK = "scrolllock";
+ public static final String KEYBOARD_SEMICOLON = "semicolon";
+ public static final String KEYBOARD_COLON = "colon";
+ public static final String KEYBOARD_EQUALS = "equals";
+ public static final String KEYBOARD_PLUS = "plus";
+ public static final String KEYBOARD_COMMA = "comma";
+ public static final String KEYBOARD_LESSTHAN = "lessthan";
+ public static final String KEYBOARD_MINUS = "minus";
+ public static final String KEYBOARD_UNDERLINE = "underline";
+ public static final String KEYBOARD_PERIOD = "period";
+ public static final String KEYBOARD_GREATERTHAN = "greaterthan";
+ public static final String KEYBOARD_FORWARDSLASH = "forwardslash";
+ public static final String KEYBOARD_QUESTIONMARK = "questionmark";
+ public static final String KEYBOARD_LEFTQUOTE = "leftquote";
+ public static final String KEYBOARD_TILDE = "tilde";
+ public static final String KEYBOARD_OPENSQUAREBRACKET = "opensquarebracket";
+ public static final String KEYBOARD_OPENBRACE = "openbrace";
+ public static final String KEYBOARD_BACKSLASH = "backslash";
+ public static final String KEYBOARD_PIPE = "pipe";
+ public static final String KEYBOARD_CLOSESQUAREBRACKET = "closesquarebracket";
+ public static final String KEYBOARD_CLOSEBRACE = "closebrace";
+ public static final String KEYBOARD_QUOTE = "quote";
+ public static final String KEYBOARD_DOUBLEQUOTE = "doublequote";
+ public static final String KEYBOARD_LAUNCH_MAIL = "launch_mail";
+ public static final String KEYBOARD_BROWSER_HOME = "browser_home";
+ public static final String KEYBOARD_BROWSER_FAVORITES = "browser_favorites";
+ public static final String KEYBOARD_BROWSER_REFRESH = "browser_refresh";
+ public static final String KEYBOARD_BROWSER_SEARCH = "browser_search";
+ public static final String KEYBOARD_LAUNCH_APP1_PC_ICON = "launch_app1_pc_icon";
+ public static final String KEYBOARD_LAUNCH_MEDIA_SELECT = "launch_media_select";
+ public static final String KEYBOARD_PLAY_PAUSE = "play_pause";
+ public static final String KEYBOARD_STOP = "stop";
+ public static final String KEYBOARD_VOLUME_UP = "volume_up";
+ public static final String KEYBOARD_VOLUME_MUTE = "volume_mute";
+ public static final String KEYBOARD_VOLUME_DOWN = "volume_down";
+ public static final String KEYBOARD_PREV_TRACK = "prev_track";
+ public static final String KEYBOARD_NEXT_TRACK = "next_track";
+
+ public static final String GAMEPAD_LEFT_ANALOG_TRIGGER = "leftanalogtrigger";
+ public static final String GAMEPAD_RIGHT_ANALOG_TRIGGER = "rightanalogtrigger";
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/EventClient.java b/app/src/main/java/org/xbmc/kore/eventclient/EventClient.java
new file mode 100644
index 0000000..1181f29
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/EventClient.java
@@ -0,0 +1,313 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.Locale;
+
+/**
+ * Event Client Class
+ *
+ * Implements an XBMC-Client. This class can be used to implement your own application which
+ * should act as a Input device for XBMC. Also starts a Ping-Thread, which tells the XBMC EventServer
+ * that the client is alive. Therefore if you close your application you SHOULD call stopClient()!
+ * @author Stefan Agner
+ *
+ */
+public class EventClient
+{
+ private final boolean hasIcon;
+ private String deviceName;
+ private PingThread oPingThread;
+ private byte iconType = Packet.ICON_PNG;
+ private byte[] iconData;
+ private InetAddress hostAddress;
+ private int hostPort;
+
+ /**
+ * Starts a XBMC EventClient.
+ * @param hostAddress Address of the Host running XBMC
+ * @param hostPort Port of the Host running XBMC (default 9777)
+ * @param deviceName Name of the Device
+ * @param iconFile Path to the Iconfile (PNG, JPEG or GIF)
+ * @throws IOException Exception
+ */
+ public EventClient(InetAddress hostAddress, int hostPort, String deviceName, String iconFile) throws IOException
+ {
+ byte iconType = Packet.ICON_PNG;
+ // Assume png as icon type
+ if(iconFile.toLowerCase(Locale.US).endsWith(".jpeg"))
+ iconType = Packet.ICON_JPEG;
+ if(iconFile.toLowerCase(Locale.US).endsWith(".jpg"))
+ iconType = Packet.ICON_JPEG;
+ if(iconFile.toLowerCase(Locale.US).endsWith(".gif"))
+ iconType = Packet.ICON_GIF;
+
+ // Read the icon file to the byte array...
+ FileInputStream iconFileStream = new FileInputStream(iconFile);
+ byte[] iconData = new byte[iconFileStream.available()];
+ iconFileStream.read(iconData);
+
+ hasIcon = true;
+
+ // Call start-Method...
+ startClient(hostAddress, hostPort, deviceName, iconType, iconData);
+ }
+
+
+ /**
+ * Starts a XBMC EventClient.
+ * @param hostAddress Address of the Host running XBMC
+ * @param hostPort Port of the Host running XBMC (default 9777)
+ * @param deviceName Name of the Device
+ * @param iconType Type of the icon file (see Packet.ICON_PNG, Packet.ICON_JPEG or Packet.ICON_GIF)
+ * @param iconData The icon itself as a Byte-Array
+ */
+ public EventClient(InetAddress hostAddress, int hostPort, String deviceName, byte iconType, byte[] iconData) throws IOException
+ {
+ hasIcon = true;
+ startClient(hostAddress, hostPort, deviceName, iconType, iconData);
+ }
+
+ /**
+ * Starts a XBMC EventClient without an icon.
+ * @param hostAddress Address of the Host running XBMC
+ * @param hostPort Port of the Host running XBMC (default 9777)
+ * @param deviceName Name of the Device
+ */
+ public EventClient(InetAddress hostAddress, int hostPort, String deviceName) throws IOException
+ {
+ hasIcon = false;
+ byte iconType = Packet.ICON_NONE;
+ byte[] iconData = null;
+ startClient(hostAddress, hostPort, deviceName, iconType, iconData);
+ }
+
+
+ /**
+ * Starts a XBMC EventClient.
+ * @param hostAddress Address of the Host running XBMC
+ * @param hostPort Port of the Host running XBMC (default 9777)
+ * @param deviceName Name of the Device
+ * @param iconType Type of the icon file (see Packet.ICON_PNG, Packet.ICON_JPEG or Packet.ICON_GIF)
+ * @param iconData The icon itself as a Byte-Array
+ */
+ private void startClient(InetAddress hostAddress, int hostPort, String deviceName, byte iconType, byte[] iconData) throws IOException
+ {
+ // Save host address and port
+ this.hostAddress = hostAddress;
+ this.hostPort = hostPort;
+ this.deviceName = deviceName;
+
+ this.iconType = iconType;
+ this.iconData = iconData;
+
+ // Send Hello Packet...
+ PacketHELO p;
+ if(hasIcon)
+ p = new PacketHELO(deviceName, iconType, iconData);
+ else
+ p = new PacketHELO(deviceName);
+
+ p.send(hostAddress, hostPort);
+
+ // Start Thread (for Ping packets...)
+ oPingThread = new PingThread(hostAddress, hostPort, 20000);
+ oPingThread.start();
+ }
+
+ /**
+ * Stops the XBMC EventClient (especially the Ping-Thread)
+ */
+ public void stopClient() throws IOException
+ {
+ // Stop Ping-Thread...
+ oPingThread.giveup();
+ oPingThread.interrupt();
+
+ PacketBYE p = new PacketBYE();
+ p.send(hostAddress, hostPort);
+ }
+
+
+ /**
+ * Displays a notification window in XBMC.
+ * @param title Message title
+ * @param message The actual message
+ */
+ public void sendNotification(String title, String message) throws IOException
+ {
+ PacketNOTIFICATION p;
+ if(hasIcon)
+ p = new PacketNOTIFICATION(title, message, iconType, iconData);
+ else
+ p = new PacketNOTIFICATION(title, message);
+ p.send(hostAddress, hostPort);
+ }
+
+ /**
+ * Sends a Button event
+ * @param code raw button code (default: 0)
+ * @param repeat this key press should repeat until released (default: 1)
+ * Note that queued pressed cannot repeat.
+ * @param down if this is 1, it implies a press event, 0 implies a release
+ * event. (default: 1)
+ * @param queue a queued key press means that the button event is
+ * executed just once after which the next key press is processed.
+ * It can be used for macros. Currently there is no support for
+ * time delays between queued presses. (default: 0)
+ * @param amount unimplemented for now; in the future it will be used for
+ * specifying magnitude of analog key press events
+ * @param axis Axis
+ */
+ public void sendButton(short code, boolean repeat, boolean down, boolean queue, short amount, byte axis) throws IOException
+ {
+ PacketBUTTON p = new PacketBUTTON(code, repeat, down, queue, amount, axis);
+ p.send(hostAddress, hostPort);
+ }
+
+ /**
+ * Sends a Button event
+ * @param map_name a combination of map_name and button_name refers to a
+ * mapping in the user's Keymap.xml or Lircmap.xml.
+ * map_name can be one of the following:
+ *
+ * "KB" => standard keyboard map ( section )
+ * "XG" => xbox gamepad map ( section )
+ * "R1" => xbox remote map ( section )
+ * "R2" => xbox universal remote map ( section )
+ * "LI:devicename" => LIRC remote map where 'devicename' is the
+ * actual device's name
+ * @param button_name a button name defined in the map specified in map_name.
+ * For example, if map_name is "KB" refering to the section in Keymap.xml
+ * then, valid button_names include "printscreen", "minus", "x", etc.
+ * @param repeat this key press should repeat until released (default: 1)
+ * Note that queued pressed cannot repeat.
+ * @param down if this is 1, it implies a press event, 0 implies a release
+ * event. (default: 1)
+ * @param queue a queued key press means that the button event is
+ * executed just once after which the next key press is processed.
+ * It can be used for macros. Currently there is no support for
+ * time delays between queued presses. (default: 0)
+ * @param amount unimplemented for now; in the future it will be used for
+ * specifying magnitude of analog key press events
+ * @param axis Axis
+ */
+ public void sendButton(String map_name, String button_name, boolean repeat, boolean down, boolean queue, short amount, byte axis) throws IOException
+ {
+ PacketBUTTON p = new PacketBUTTON(map_name, button_name, repeat, down, queue, amount, axis);
+ p.send(hostAddress, hostPort);
+ }
+
+ /**
+ * Sets the mouse position in XBMC
+ * @param x horitontal position ranging from 0 to 65535
+ * @param y vertical position ranging from 0 to 65535
+ */
+ public void sendMouse(int x, int y) throws IOException
+ {
+ PacketMOUSE p = new PacketMOUSE(x, y);
+ p.send(hostAddress, hostPort);
+ }
+
+ /**
+ * Sends a ping to the XBMC EventServer
+ */
+ public void ping() throws IOException
+ {
+ PacketPING p = new PacketPING();
+ p.send(hostAddress, hostPort);
+ }
+
+ /**
+ * Tells XBMC to log the message to xbmc.log with the loglevel as specified.
+ * @param loglevel the loglevel, follows XBMC standard.
+ *
+ * 0 = DEBUG
+ * 1 = INFO
+ * 2 = NOTICE
+ * 3 = WARNING
+ * 4 = ERROR
+ * 5 = SEVERE
+ *
+ * @param logmessage the message to log
+ */
+ public void sendLog(byte loglevel, String logmessage) throws IOException
+ {
+ PacketLOG p = new PacketLOG(loglevel, logmessage);
+ p.send(hostAddress, hostPort);
+ }
+
+ /**
+ * Tells XBMC to do the action specified, based on the type it knows were it needs to be sent.
+ * @param actionmessage Actionmessage (as in scripting/skinning)
+ */
+ public void sendAction(String actionmessage) throws IOException
+ {
+ PacketACTION p = new PacketACTION(actionmessage);
+ p.send(hostAddress, hostPort);
+ }
+
+ /**
+ * Implements a PingThread which tells XBMC EventServer that the Client is alive (this should
+ * be done at least every 60 seconds!
+ * @author Stefan Agner
+ *
+ */
+ static class PingThread extends Thread
+ {
+ private final InetAddress hostAddress;
+ private final int hostPort;
+ private final int sleepTime;
+ private boolean giveup = false;
+
+ public PingThread(InetAddress hostAddress, int hostPort, int sleepTime)
+ {
+ super("XBMC EventClient Ping-Thread");
+ this.hostAddress = hostAddress;
+ this.hostPort = hostPort;
+ this.sleepTime = sleepTime;
+ }
+
+ public void giveup()
+ {
+ giveup = true;
+ }
+
+ public void run()
+ {
+ while(!giveup)
+ {
+ try {
+ PacketPING p = new PacketPING();
+ p.send(hostAddress, hostPort);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ try {
+ Thread.sleep(sleepTime);
+ } catch (InterruptedException ignored) {
+ }
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/EventServerConnection.java b/app/src/main/java/org/xbmc/kore/eventclient/EventServerConnection.java
new file mode 100644
index 0000000..9325fc4
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/EventServerConnection.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.eventclient;
+
+
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Process;
+
+import org.xbmc.kore.host.HostInfo;
+import org.xbmc.kore.jsonrpc.ApiCallback;
+import org.xbmc.kore.host.HostConnection;
+import org.xbmc.kore.jsonrpc.method.Application;
+import org.xbmc.kore.jsonrpc.type.ApplicationType;
+import org.xbmc.kore.utils.LogUtils;
+import org.xbmc.kore.utils.NetUtils;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * Class that establishes and maintains a connection to Kodi's EventServer
+ * This class keeps pinging Kodi to keep the connection alive and contains
+ * auxiliary methods that allow the sending of packets to Kodi.
+ * Make sure to call quit() when done with it, so that it gracefully shuts down
+ */
+public class EventServerConnection {
+ private static final String TAG = LogUtils.makeLogTag(EventServerConnection.class);
+
+ private static final int PING_INTERVAL = 45000; // ms
+ private static final String DEVICE_NAME = "Kore Remote";
+
+ /**
+ * Host to connect too
+ */
+ private final HostInfo hostInfo;
+ private InetAddress hostInetAddress = null;
+
+ // Handler on which packets will be posted, to send them asynchronously
+ private final Handler commHandler;
+ private final HandlerThread handlerThread;
+
+ private final PacketPING packetPING = new PacketPING();
+ private final Runnable pingRunnable = new Runnable() {
+ @Override
+ public void run() {
+ LogUtils.LOGD(TAG, "Pinging EventServer");
+ if (hostInetAddress != null) {
+ try {
+ packetPING.send(hostInetAddress, hostInfo.getEventServerPort());
+ } catch (IOException exc) {
+ LogUtils.LOGD(TAG, "Got an IOException when sending a PING Packet to Kodi's EventServer");
+ }
+ }
+ commHandler.postDelayed(this, PING_INTERVAL);
+ }
+ };
+
+ /**
+ * Interface to notify users if the connection was successful
+ */
+ public interface EventServerConnectionCallback {
+ void OnConnectResult(boolean success);
+ }
+
+ /**
+ * Constructor. Starts the thread that keeps the connection alive. Make sure to call quit() when done.
+ * @param hostInfo Host to connect to
+ * @param callback Callback to call with the connection result
+ * @param callbackHandler Handler on which to call the callback
+ */
+ public EventServerConnection(final HostInfo hostInfo,
+ final EventServerConnectionCallback callback,
+ final Handler callbackHandler) {
+ this.hostInfo = hostInfo;
+
+ LogUtils.LOGD(TAG, "Starting EventServer Thread");
+ // Handler thread that will keep pinging and send the requests to Kodi
+ handlerThread = new HandlerThread("EventServerConnection", Process.THREAD_PRIORITY_BACKGROUND);
+ handlerThread.start();
+
+ // Get the HandlerThread's Looper and use it for our Handler
+ commHandler = new Handler(handlerThread.getLooper());
+
+ // Now, get the host InetAddress in the background
+ commHandler.post(() -> {
+ try {
+ hostInetAddress = NetUtils.getInet4AddressByName(hostInfo.getAddress());
+ } catch (UnknownHostException exc) {
+ LogUtils.LOGD(TAG, "Got an UnknownHostException, disabling EventServer");
+ hostInetAddress = null;
+ }
+ // Call the callback on the caller's thread
+ callbackHandler.post(() -> callback.OnConnectResult(hostInetAddress != null));
+ if (hostInetAddress != null) {
+ // Start pinging
+ commHandler.postDelayed(pingRunnable, PING_INTERVAL);
+ } else {
+ quitHandlerThread(handlerThread);
+ }
+ });
+
+ }
+
+
+ /**
+ * Stops the HandlerThread that is being used to send packets to Kodi
+ */
+ public void quit() {
+ LogUtils.LOGD(TAG, "Quiting EventServer handler thread");
+ quitHandlerThread(handlerThread);
+ }
+
+ /**
+ * Sends a packet to Kodi's Event Server
+ * Only sends the packet if connected, i.e. if quit() has not been not called
+ * @param p Packet to send
+ */
+ public void sendPacket(final Packet p) {
+ if (!handlerThread.isAlive() || (hostInetAddress == null)) {
+ return;
+ }
+
+ LogUtils.LOGD(TAG, "Sending Packet");
+
+ commHandler.post(() -> {
+ try {
+ p.send(hostInetAddress, hostInfo.getEventServerPort());
+ } catch (IOException exc) {
+ LogUtils.LOGD(TAG, "Got an IOException when sending a packet to Kodi's EventServer");
+ }
+ });
+ }
+
+ /**
+ * Establishes a connection to the EventServer and reports the result
+ * @param hostInfo Host to connect to
+ * @param callerCallback Callback on which to post the result
+ * @param callerHandler Handler on which to post the callback call
+ */
+ public static void testEventServerConnection(final HostInfo hostInfo,
+ final EventServerConnectionCallback callerCallback,
+ final Handler callerHandler) {
+ final HandlerThread auxThread = new HandlerThread("EventServerConnectionTest", Process.THREAD_PRIORITY_DEFAULT);
+ auxThread.start();
+
+ // Get the HandlerThread's Looper and use it for our Handler
+ final Handler auxHandler = new Handler(auxThread.getLooper());
+
+ auxHandler.post(() -> {
+ // Get the InetAddress
+ final InetAddress hostInetAddress;
+ try {
+ hostInetAddress = NetUtils.getInet4AddressByName(hostInfo.getAddress());
+ } catch (UnknownHostException exc) {
+ LogUtils.LOGD(TAG, "Couldn't get host InetAddress");
+ reportTestResult(callerHandler, callerCallback, false);
+ quitHandlerThread(auxThread);
+ return;
+ }
+
+ // Send a HELO packet
+ Packet p = new PacketHELO(DEVICE_NAME);
+ try {
+ p.send(hostInetAddress, hostInfo.getEventServerPort());
+ } catch (IOException exc) {
+ LogUtils.LOGD(TAG, "Couldn't send HELO packet to host");
+ reportTestResult(callerHandler, callerCallback, false);
+ quitHandlerThread(auxThread);
+ return;
+ }
+
+ // The previous checks don't really test the connection, as this is UDP. Apart from checking if
+ // any HostUnreachable ICMP message is returned (which may or may not happen), there's no direct way
+ // to check if the messages were delivered, so the solution is to force something to happen on
+ // Kodi and them read Kodi's state to check if it was applied.
+ // We are going to get the mute status of Kodi via jsonrpc, change it via EventServer and check if
+ // it was changed via jsonrpc, reverting it back afterwards
+ final HostConnection auxHostConnection = new HostConnection(
+ new HostInfo(hostInfo.getName(), hostInfo.getAddress(),
+ HostConnection.PROTOCOL_HTTP, hostInfo.getHttpPort(), hostInfo.getTcpPort(),
+ hostInfo.getUsername(), hostInfo.getPassword(), false, 0, hostInfo.isHttps, hostInfo.getShowAsDirectShareTarget()));
+ final Application.GetProperties action = new Application.GetProperties(Application.GetProperties.MUTED);
+ final Packet mutePacket = new PacketBUTTON(ButtonCodes.MAP_REMOTE, ButtonCodes.REMOTE_MUTE,
+ false, true, true, (short) 0, (byte) 0);
+
+ // Get the initial mute status
+ action.execute(auxHostConnection, new ApiCallback() {
+ @Override
+ public void onSuccess(ApplicationType.PropertyValue result) {
+ final boolean initialMuteStatus = result.muted;
+ // Switch mute status
+ try {
+ mutePacket.send(hostInetAddress, hostInfo.getEventServerPort());
+ } catch (IOException exc) {
+ LogUtils.LOGD(TAG, "Couldn't send first MUTE packet to host");
+ reportTestResult(callerHandler, callerCallback, false);
+ quitHandlerThread(auxThread);
+ return;
+ }
+
+ // Sleep a while to make sure the previous command was executed
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException exc) {
+ // Ignore
+ }
+
+ // Now get the new status and compare
+ action.execute(auxHostConnection, new ApiCallback() {
+ @Override
+ public void onSuccess(ApplicationType.PropertyValue result) {
+ // Report result (mute status is different)
+ reportTestResult(callerHandler, callerCallback, initialMuteStatus != result.muted);
+
+ // Revert mute status
+ try {
+ mutePacket.send(hostInetAddress, hostInfo.getEventServerPort());
+ } catch (IOException exc) {
+ LogUtils.LOGD(TAG, "Couldn't revert MUTE status");
+ }
+ quitHandlerThread(auxThread);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ LogUtils.LOGD(TAG, "Got an error on Application.GetProperties: " + description);
+ reportTestResult(callerHandler, callerCallback, false);
+ quitHandlerThread(auxThread);
+ }
+ }, auxHandler);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ LogUtils.LOGD(TAG, "Got an error on Application.GetProperties: " + description);
+ reportTestResult(callerHandler, callerCallback, false);
+ quitHandlerThread(auxThread);
+ }
+ }, auxHandler);
+ });
+
+ }
+
+ private static void reportTestResult(final Handler callerHandler,
+ final EventServerConnectionCallback callback,
+ final boolean result) {
+ callerHandler.post(() -> callback.OnConnectResult(result));
+ }
+
+ private static void quitHandlerThread(HandlerThread handlerThread) {
+ handlerThread.quitSafely();
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/Packet.java b/app/src/main/java/org/xbmc/kore/eventclient/Packet.java
new file mode 100644
index 0000000..38d310c
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/Packet.java
@@ -0,0 +1,288 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.InetAddress;
+
+/**
+ * XBMC Event Client Class
+ *
+ * Implementation of XBMC's UDP based input system.
+ * A set of classes that abstract the various packets that the event server
+ * currently supports. In addition, there's also a class, XBMCClient, that
+ * provides functions that sends the various packets. Use XBMCClient if you
+ * don't need complete control over packet structure.
+ *
+ *
+ * The basic workflow involves:
+ *
+ * Send a HELO packet
+ * Send x number of valid packets
+ * Send a BYE packet
+ *
+ *
+ *
+ * IMPORTANT NOTE ABOUT TIMEOUTS:
+ * A client is considered to be timed out if XBMC doesn't received a packet
+ * at least once every 60 seconds. To "ping" XBMC with an empty packet use
+ * PacketPING or XBMCClient.ping(). See the documentation for details.
+ *
+ *
+ * Base class that implements a single event packet.
+ * - Generic packet structure (maximum 1024 bytes per packet)
+ * - Header is 32 bytes long, so 992 bytes available for payload
+ * - large payloads can be split into multiple packets using H4 and H5
+ * H5 should contain total no. of packets in such a case
+ * - H6 contains length of P1, which is limited to 992 bytes
+ * - if H5 is 0 or 1, then H4 will be ignored (single packet msg)
+ * - H7 must be set to zeros for now
+ *
+ *
+ * -----------------------------
+ * | -H1 Signature ("XBMC") | - 4 x CHAR 4B
+ * | -H2 Version (eg. 2.0) | - 2 x UNSIGNED CHAR 2B
+ * | -H3 PacketType | - 1 x UNSIGNED SHORT 2B
+ * | -H4 Sequence number | - 1 x UNSIGNED LONG 4B
+ * | -H5 No. of packets in msg | - 1 x UNSIGNED LONG 4B
+ * | -H6 Payloadsize of packet | - 1 x UNSIGNED SHORT 2B
+ * | -H7 Client's unique token | - 1 x UNSIGNED LONG 4B
+ * | -H8 Reserved | - 10 x UNSIGNED CHAR 10B
+ * |---------------------------|
+ * | -P1 payload | -
+ * -----------------------------
+ *
+ * @author Stefan Agner
+ *
+ */
+public abstract class Packet {
+
+ private final byte[] sig;
+ private byte[] payload = new byte[0];
+ private final byte minver;
+ private final byte majver;
+
+ private final short packettype;
+
+
+ private final static short MAX_PACKET_SIZE = 1024;
+ private final static short HEADER_SIZE = 32;
+ private final static short MAX_PAYLOAD_SIZE = MAX_PACKET_SIZE - HEADER_SIZE;
+
+ protected final static byte PT_HELO = 0x01;
+ protected final static byte PT_BYE = 0x02;
+ protected final static byte PT_BUTTON = 0x03;
+ protected final static byte PT_MOUSE = 0x04;
+ protected final static byte PT_PING = 0x05;
+ protected final static byte PT_BROADCAST = 0x06;
+ protected final static byte PT_NOTIFICATION = 0x07;
+ protected final static byte PT_BLOB = 0x08;
+ protected final static byte PT_LOG = 0x09;
+ protected final static byte PT_ACTION = 0x0A;
+ protected final static byte PT_DEBUG = (byte)0xFF;
+
+ public final static byte ICON_NONE = 0x00;
+ public final static byte ICON_JPEG = 0x01;
+ public final static byte ICON_PNG = 0x02;
+ public final static byte ICON_GIF = 0x03;
+
+ private static final int uid = (int)(Math.random() * Integer.MAX_VALUE);
+
+ /**
+ * This is an Abstract class and cannot be instanced. Please use one of the Packet implementation Classes
+ * (PacketXXX).
+ *
+ * Implements an XBMC Event Client Packet. Type is to be specified at creation time, Payload can be added
+ * with the various appendPayload methods. Packet can be sent through UDP-Socket with method "send".
+ * @param packettype Type of Packet (PT_XXX)
+ */
+ protected Packet(short packettype)
+ {
+ sig = new byte[] {'X', 'B', 'M', 'C' };
+ minver = 0;
+ majver = 2;
+ this.packettype = packettype;
+ }
+
+ /**
+ * Appends a String to the payload (terminated with 0x00)
+ * @param payload Payload as String
+ */
+ protected void appendPayload(String payload)
+ {
+ byte[] payloadarr = payload.getBytes();
+ int oldpayloadsize = this.payload.length;
+ byte[] oldpayload = this.payload;
+ this.payload = new byte[oldpayloadsize+payloadarr.length+1]; // Create new Array with more place (+1 for string terminator)
+ System.arraycopy(oldpayload, 0, this.payload, 0, oldpayloadsize);
+ System.arraycopy(payloadarr, 0, this.payload, oldpayloadsize, payloadarr.length);
+ }
+
+ /**
+ * Appends a single Byte to the payload
+ * @param payload Payload
+ */
+ protected void appendPayload(byte payload)
+ {
+ appendPayload(new byte[] { payload });
+ }
+
+ /**
+ * Appends a Byte-Array to the payload
+ * @param payloadarr Payload
+ */
+ protected void appendPayload(byte[] payloadarr)
+ {
+ int oldpayloadsize = this.payload.length;
+ byte[] oldpayload = this.payload;
+ this.payload = new byte[oldpayloadsize+payloadarr.length];
+ System.arraycopy(oldpayload, 0, this.payload, 0, oldpayloadsize);
+ System.arraycopy(payloadarr, 0, this.payload, oldpayloadsize, payloadarr.length);
+ }
+
+ /**
+ * Appends an integer to the payload
+ * @param i Payload
+ */
+ protected void appendPayload(int i) {
+ appendPayload(intToByteArray(i));
+ }
+
+ /**
+ * Appends a short to the payload
+ * @param s Payload
+ */
+ protected void appendPayload(short s) {
+ appendPayload(shortToByteArray(s));
+ }
+
+ /**
+ * Get Number of Packets which will be sent with current Payload...
+ * @return Number of Packets
+ */
+ public int getNumPackets()
+ {
+// return (payload.length + (MAX_PAYLOAD_SIZE - 1)) / MAX_PAYLOAD_SIZE;
+ return 1 + Math.max(payload.length - 1, 0) / MAX_PAYLOAD_SIZE;
+ }
+
+ /**
+ * Get Header for a specific Packet in this sequence...
+ * @param seq Current sequence number
+ * @param maxseq Maximal sequence number
+ * @param actpayloadsize Payloadsize of this packet
+ * @return Byte-Array with Header information (currently 32-Byte long, see HEADER_SIZE)
+ */
+ private byte[] getHeader(int seq, int maxseq, short actpayloadsize)
+ {
+ byte[] header = new byte[HEADER_SIZE];
+ System.arraycopy(sig, 0, header, 0, 4);
+ header[4] = majver;
+ header[5] = minver;
+ byte[] packettypearr = shortToByteArray(this.packettype);
+ System.arraycopy(packettypearr, 0, header, 6, 2);
+ byte[] seqarr = intToByteArray(seq);
+ System.arraycopy(seqarr, 0, header, 8, 4);
+ byte[] maxseqarr = intToByteArray(maxseq);
+ System.arraycopy(maxseqarr, 0, header, 12, 4);
+ byte[] payloadsize = shortToByteArray(actpayloadsize);
+ System.arraycopy(payloadsize, 0, header, 16, 2);
+ byte[] uid = intToByteArray(Packet.uid);
+ System.arraycopy(uid, 0, header, 18, 4);
+ byte[] reserved = new byte[10];
+ System.arraycopy(reserved, 0, header, 22, 10);
+
+ return header;
+ }
+
+ /**
+ * Generates the whole UDP-Message with Header and Payload of a specific Packet in sequence
+ * @param seq Current sequence number
+ * @return Byte-Array with UDP-Message
+ */
+ private byte[] getUDPMessage(int seq)
+ {
+ int maxseq = getNumPackets();
+ if(seq > maxseq)
+ return null;
+
+ short actpayloadsize;
+
+ if(seq == maxseq)
+ actpayloadsize = (short)((payload.length - 1) % MAX_PAYLOAD_SIZE + 1);
+ else
+ actpayloadsize = MAX_PAYLOAD_SIZE;
+
+ byte[] pack = new byte[HEADER_SIZE+actpayloadsize];
+
+ System.arraycopy(getHeader(seq, maxseq, actpayloadsize), 0, pack, 0, HEADER_SIZE);
+ System.arraycopy(payload, (seq-1)*MAX_PAYLOAD_SIZE, pack, HEADER_SIZE, actpayloadsize);
+
+ return pack;
+ }
+
+ /**
+ * Sends this packet to the EventServer
+ * @param adr Address of the EventServer
+ * @param port Port of the EventServer
+ */
+ public void send(InetAddress adr, int port) throws IOException
+ {
+ int maxseq = getNumPackets();
+ DatagramSocket s = new DatagramSocket();
+ // For each Packet in Sequence...
+ for(int seq=1;seq<=maxseq;seq++)
+ {
+ // Get Message and send them...
+ byte[] pack = getUDPMessage(seq);
+ if (pack == null) continue;
+ DatagramPacket p = new DatagramPacket(pack, pack.length);
+ p.setAddress(adr);
+ p.setPort(port);
+ s.send(p);
+ }
+ s.close();
+ }
+
+ /**
+ * Helper Method to convert an integer to a Byte array
+ * @param value Value
+ * @return Byte-Array
+ */
+ private static byte[] intToByteArray(int value) {
+ return new byte[] {
+ (byte)(value >>> 24),
+ (byte)(value >>> 16),
+ (byte)(value >>> 8),
+ (byte)value};
+ }
+
+ /**
+ * Helper Method to convert an short to a Byte array
+ * @param value Value
+ * @return Byte-Array
+ */
+ private static byte[] shortToByteArray(short value) {
+ return new byte[] {
+ (byte)(value >>> 8),
+ (byte)value};
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketACTION.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketACTION.java
new file mode 100644
index 0000000..0a6e6bd
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketACTION.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+/**
+ * XBMC Event Client Class
+ *
+ * An ACTION packet tells XBMC to do the action specified, based on the type it knows were it needs to be sent.
+ * The idea is that this will be as in scripting/skining and keymapping, just triggered from afar.
+ * @author Stefan Agner
+ *
+ */
+public class PacketACTION extends Packet {
+
+ public final static byte ACTION_EXECBUILTIN = 0x01;
+ public final static byte ACTION_BUTTON = 0x02;
+
+
+ /**
+ * An ACTION packet tells XBMC to do the action specified, based on the type it knows were it needs to be sent.
+ * @param actionmessage Actionmessage (as in scripting/skinning)
+ */
+ public PacketACTION(String actionmessage)
+ {
+ super(PT_ACTION);
+ byte actiontype = ACTION_EXECBUILTIN;
+ appendPayload(actionmessage, actiontype);
+ }
+
+ /**
+ * An ACTION packet tells XBMC to do the action specified, based on the type it knows were it needs to be sent.
+ * @param actionmessage Actionmessage (as in scripting/skinning)
+ * @param actiontype Actiontype (ACTION_EXECBUILTIN or ACTION_BUTTON)
+ */
+ public PacketACTION(String actionmessage, byte actiontype)
+ {
+ super(PT_ACTION);
+ appendPayload(actionmessage, actiontype);
+ }
+
+ private void appendPayload(String actionmessage, byte actiontype)
+ {
+ appendPayload(actiontype);
+ appendPayload(actionmessage);
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketBUTTON.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketBUTTON.java
new file mode 100644
index 0000000..2bf8bdf
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketBUTTON.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+
+/**
+ * XBMC Event Client Class
+ *
+ * A button packet send a key press or release event to XBMC
+ *
+ * @author Stefan Agner
+ */
+public class PacketBUTTON extends Packet {
+
+ protected final static byte BT_USE_NAME = 0x01;
+ protected final static byte BT_DOWN = 0x02;
+ protected final static byte BT_UP = 0x04;
+ protected final static byte BT_USE_AMOUNT = 0x08;
+ protected final static byte BT_QUEUE = 0x10;
+ protected final static byte BT_NO_REPEAT = 0x20;
+ protected final static byte BT_VKEY = 0x40;
+ protected final static byte BT_AXIS = (byte)0x80;
+ protected final static byte BT_AXISSINGLE = (byte)0x100;
+
+ /**
+ * A button packet send a key press or release event to XBMC
+ *
+ * @param code raw button code (default: 0)
+ * @param repeat this key press should repeat until released (default: 1)
+ * Note that queued pressed cannot repeat.
+ * @param down if this is 1, it implies a press event, 0 implies a release
+ * event. (default: 1)
+ * @param queue a queued key press means that the button event is
+ * executed just once after which the next key press is processed.
+ * It can be used for macros. Currently there is no support for
+ * time delays between queued presses. (default: 0)
+ * @param amount unimplemented for now; in the future it will be used for
+ * specifying magnitude of analog key press events
+ * @param axis Axis
+ */
+ public PacketBUTTON(short code, boolean repeat, boolean down, boolean queue, short amount, byte axis) {
+ super(PT_BUTTON);
+ String map_name = "";
+ String button_name = "";
+ short flags = 0;
+ appendPayload(code, map_name, button_name, repeat, down, queue, amount, axis, flags);
+ }
+
+ /**
+ * A button packet send a key press or release event to XBMC
+ *
+ * @param map_name a combination of map_name and button_name refers to a
+ * mapping in the user's Keymap.xml or Lircmap.xml.
+ * map_name can be one of the following:
+ *
+ * "KB" => standard keyboard map ( section )
+ * "XG" => xbox gamepad map ( section )
+ * "R1" => xbox remote map ( section )
+ * "R2" => xbox universal remote map ( section )
+ * "LI:devicename" => LIRC remote map where 'devicename' is the
+ * actual device's name
+ * @param button_name a button name defined in the map specified in map_name.
+ * For example, if map_name is "KB" refering to the section in Keymap.xml
+ * then, valid button_names include "printscreen", "minus", "x", etc.
+ * @param repeat this key press should repeat until released (default: 1)
+ * Note that queued pressed cannot repeat.
+ * @param down if this is 1, it implies a press event, 0 implies a release
+ * event. (default: 1)
+ * @param queue a queued key press means that the button event is
+ * executed just once after which the next key press is processed.
+ * It can be used for macros. Currently there is no support for
+ * time delays between queued presses. (default: 0)
+ * @param amount unimplemented for now; in the future it will be used for
+ * specifying magnitude of analog key press events
+ * @param axis Axis
+ */
+ public PacketBUTTON(String map_name, String button_name, boolean repeat, boolean down, boolean queue, short amount, byte axis) {
+ super(PT_BUTTON);
+ short code = 0;
+ short flags = BT_USE_NAME;
+ appendPayload(code, map_name, button_name, repeat, down, queue, amount, axis, flags);
+ }
+
+ /**
+ * Appends Payload for a Button Packet (this method is used by the different Constructors of this Packet)
+ *
+ * @param code raw button code (default: 0)
+ * @param map_name a combination of map_name and button_name refers to a
+ * mapping in the user's Keymap.xml or Lircmap.xml.
+ * map_name can be one of the following:
+ *
+ * "KB" => standard keyboard map ( section )
+ * "XG" => xbox gamepad map ( section )
+ * "R1" => xbox remote map ( section )
+ * "R2" => xbox universal remote map ( section )
+ * "LI:devicename" => LIRC remote map where 'devicename' is the
+ * actual device's name
+ * @param button_name a button name defined in the map specified in map_name.
+ * For example, if map_name is "KB" refering to the section in Keymap.xml
+ * then, valid button_names include "printscreen", "minus", "x", etc.
+ * @param repeat this key press should repeat until released (default: 1)
+ * Note that queued pressed cannot repeat.
+ * @param down if this is 1, it implies a press event, 0 implies a release
+ * event. (default: 1)
+ * @param queue a queued key press means that the button event is
+ * executed just once after which the next key press is processed.
+ * It can be used for macros. Currently there is no support for
+ * time delays between queued presses. (default: 0)
+ * @param amount unimplemented for now; in the future it will be used for
+ * specifying magnitude of analog key press events
+ * @param axis Axis
+ * @param flags Packet specific flags
+ */
+ private void appendPayload(short code, String map_name, String button_name, boolean repeat, boolean down, boolean queue, short amount, byte axis, short flags) {
+ if (amount > 0)
+ flags |= BT_USE_AMOUNT;
+ else
+ amount = 0;
+
+ if (down)
+ flags |= BT_DOWN;
+ else
+ flags |= BT_UP;
+
+ if (!repeat)
+ flags |= BT_NO_REPEAT;
+
+ if (queue)
+ flags |= BT_QUEUE;
+
+ if (axis == 1)
+ flags |= BT_AXISSINGLE;
+ else if (axis == 2)
+ flags |= BT_AXIS;
+
+
+ appendPayload(code);
+ appendPayload(flags);
+ appendPayload(amount);
+ appendPayload(map_name);
+ appendPayload(button_name);
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketBYE.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketBYE.java
new file mode 100644
index 0000000..3d8157d
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketBYE.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+/**
+ * XBMC Event Client Class
+ *
+ * A BYE packet terminates the connection to XBMC.
+ * @author Stefan Agner
+ *
+ */
+public class PacketBYE extends Packet
+{
+
+ /**
+ * A BYE packet terminates the connection to XBMC.
+ */
+ public PacketBYE()
+ {
+ super(PT_BYE);
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketHELO.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketHELO.java
new file mode 100644
index 0000000..383db91
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketHELO.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+
+/**
+ * XBMC Event Client Class
+ *
+ * A HELO packet establishes a valid connection to XBMC. It is the
+ * first packet that should be sent.
+ * @author Stefan Agner
+ *
+ */
+public class PacketHELO extends Packet {
+
+
+ /**
+ * A HELO packet establishes a valid connection to XBMC.
+ * @param devicename Name of the device which connects to XBMC
+ */
+ public PacketHELO(String devicename)
+ {
+ super(PT_HELO);
+ this.appendPayload(devicename);
+ this.appendPayload(ICON_NONE);
+ this.appendPayload((short)0); // port no
+ this.appendPayload(0); // reserved1
+ this.appendPayload(0); // reserved2
+ }
+
+ /**
+ * A HELO packet establishes a valid connection to XBMC.
+ * @param devicename Name of the device which connects to XBMC
+ * @param iconType Type of the icon (Packet.ICON_PNG, Packet.ICON_JPEG or Packet.ICON_GIF)
+ * @param iconData The icon as a Byte-Array
+ */
+ public PacketHELO(String devicename, byte iconType, byte[] iconData)
+ {
+ super(PT_HELO);
+ this.appendPayload(devicename);
+ this.appendPayload(iconType);
+ this.appendPayload((short)0); // port no
+ this.appendPayload(0); // reserved1
+ this.appendPayload(0); // reserved2
+ this.appendPayload(iconData); // reserved2
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketLOG.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketLOG.java
new file mode 100644
index 0000000..440e124
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketLOG.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+/**
+ * XBMC Event Client Class
+ *
+ * A LOG packet tells XBMC to log the message to xbmc.log with the loglevel as specified.
+ * @author Stefan Agner
+ *
+ */
+public class PacketLOG extends Packet {
+
+ /**
+ * A LOG packet tells XBMC to log the message to xbmc.log with the loglevel as specified.
+ * @param loglevel the loglevel, follows XBMC standard.
+ *
+ * 0 = DEBUG
+ * 1 = INFO
+ * 2 = NOTICE
+ * 3 = WARNING
+ * 4 = ERROR
+ * 5 = SEVERE
+ *
+ * @param logmessage the message to log
+ */
+ public PacketLOG(byte loglevel, String logmessage)
+ {
+ super(PT_LOG);
+ appendPayload(loglevel);
+ appendPayload(logmessage);
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketMOUSE.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketMOUSE.java
new file mode 100644
index 0000000..2a79c85
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketMOUSE.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+/**
+ * XBMC Event Client Class
+ *
+ * A MOUSE packets sets the mouse position in XBMC
+ * @author Stefan Agner
+ *
+ */
+public class PacketMOUSE extends Packet {
+
+ protected final static byte MS_ABSOLUTE = 0x01;
+
+ /**
+ * A MOUSE packets sets the mouse position in XBMC
+ * @param x horitontal position ranging from 0 to 65535
+ * @param y vertical position ranging from 0 to 65535
+ */
+ public PacketMOUSE(int x, int y)
+ {
+ super(PT_MOUSE);
+ byte flags = 0;
+ flags |= MS_ABSOLUTE;
+ appendPayload(flags);
+ appendPayload((short)x);
+ appendPayload((short)y);
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketNOTIFICATION.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketNOTIFICATION.java
new file mode 100644
index 0000000..09aef93
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketNOTIFICATION.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+/**
+ * XBMC Event Client Class
+ *
+ * This packet displays a notification window in XBMC. It can contain
+ * a caption, a message and an icon.
+ * @author Stefan Agner
+ *
+ */
+public class PacketNOTIFICATION extends Packet {
+
+ /**
+ * This packet displays a notification window in XBMC.
+ * @param title Message title
+ * @param message The actual message
+ * @param iconType Type of the icon (Packet.ICON_PNG, Packet.ICON_JPEG or Packet.ICON_GIF)
+ * @param iconData The icon as a Byte-Array
+ */
+ public PacketNOTIFICATION(String title, String message, byte iconType, byte[] iconData)
+ {
+ super(PT_NOTIFICATION);
+ appendPayload(title, message, iconType, iconData);
+ }
+
+ /**
+ * This packet displays a notification window in XBMC.
+ * @param title Message title
+ * @param message The actual message
+ */
+ public PacketNOTIFICATION(String title, String message)
+ {
+ super(PT_NOTIFICATION);
+ appendPayload(title, message, Packet.ICON_NONE, null);
+ }
+
+ /**
+ * Appends the payload to the packet...
+ * @param title Message title
+ * @param message The actual message
+ * @param iconType Type of the icon (Packet.ICON_PNG, Packet.ICON_JPEG or Packet.ICON_GIF)
+ * @param iconData The icon as a Byte-Array
+ */
+ private void appendPayload(String title, String message, byte iconType, byte[] iconData)
+ {
+ appendPayload(title);
+ appendPayload(message);
+ appendPayload(iconType);
+ appendPayload(0); // reserved
+ if(iconData!=null)
+ appendPayload(iconData);
+
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/eventclient/PacketPING.java b/app/src/main/java/org/xbmc/kore/eventclient/PacketPING.java
new file mode 100644
index 0000000..627e3e9
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/eventclient/PacketPING.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2008-2013 Team XBMC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.xbmc.kore.eventclient;
+/**
+ * XBMC Event Client Class
+ *
+ * A PING packet tells XBMC that the client is still alive. All valid
+ * packets act as ping (not just this one). A client needs to ping
+ * XBMC at least once in 60 seconds or it will time
+ * @author Stefan Agner
+ *
+ */
+public class PacketPING extends Packet {
+ /**
+ * A PING packet tells XBMC that the client is still alive.
+ */
+ public PacketPING()
+ {
+ super(PT_PING);
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/host/HostCompositeAction.java b/app/src/main/java/org/xbmc/kore/host/HostCompositeAction.java
new file mode 100644
index 0000000..02e2e5d
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/host/HostCompositeAction.java
@@ -0,0 +1,64 @@
+package org.xbmc.kore.host;
+
+import android.os.Handler;
+
+import org.xbmc.kore.jsonrpc.ApiCallback;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+
+/**
+ * Superclass that facilitates the execution of composite actions, ie sequence of calls to
+ * {@link org.xbmc.kore.jsonrpc.ApiMethod}, on Kodi, tp be done in a synchronous way, without using callbacks on each
+ * call and globally handling errors.
+ * The goal is to be able to call methods on Kodi using {@link HostConnection#execute(ApiMethod)}, getting back the
+ * future and immediatelly await the result of its completion by calling its {@link Future#get()} method, handling any
+ * errors in a global try/catch block.
+ * This is not a major abstraction, just a helper class that allows for client code to be written similarly to a single
+ * call to {@link HostConnection#execute(ApiMethod, ApiCallback, Handler)} but where the called method is composite.
+ *
+ * Subclasses should implement the abstract method {@link HostCompositeAction#execInBackground()} with the specific
+ * logic that is meant to be executed, knowing that it will be executed in a background thread, thereby allowing
+ * the use of {@link HostConnection#execute(ApiMethod)} and awaiting on the resulting {@link Future#get()}.
+ *
+ * Clients should call {@link HostCompositeAction#execute(HostConnection, ApiCallback, Handler)}, which creates a
+ * background thread, calls runInBackground and sends the result to the given callback.
+ */
+public abstract class HostCompositeAction {
+
+ protected HostConnection hostConnection;
+
+ /**
+ * Composite action to be executed synchronously
+ * @return result
+ */
+ public abstract T execInBackground() throws ExecutionException, InterruptedException;
+
+ /**
+ * Calls {@link HostCompositeAction#execInBackground()} in a background thread, and posts the result through the
+ * given callback on the specified handler
+ *
+ * @param hostConnection Host connection on which to call the method
+ * @param callback Callbacks to post the response to
+ * @param handler Handler to invoke callbacks on
+ */
+ public void execute(HostConnection hostConnection, ApiCallback callback, Handler handler) {
+ this.hostConnection = hostConnection;
+ // Just a protection
+ if (hostConnection == null) return;
+
+ hostConnection.getExecutorService().execute(() -> {
+ try {
+ T result = execInBackground();
+ handler.post(() -> callback.onSuccess(result));
+ } catch (ExecutionException e) {
+ handler.post(() -> callback.onError(ApiException.API_ERROR, e.getMessage()));
+ } catch (InterruptedException e) {
+ handler.post(() -> callback.onError(ApiException.API_WAITING_ON_RESULT_INTERRUPTED, e.getMessage()));
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/host/HostConnection.java b/app/src/main/java/org/xbmc/kore/host/HostConnection.java
new file mode 100644
index 0000000..06d756a
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/host/HostConnection.java
@@ -0,0 +1,1032 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.host;
+
+import android.os.Handler;
+import android.os.Process;
+import android.text.TextUtils;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiCallback;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiFuture;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.ApiNotification;
+import org.xbmc.kore.jsonrpc.notification.Application;
+import org.xbmc.kore.jsonrpc.notification.Input;
+import org.xbmc.kore.jsonrpc.notification.Player;
+import org.xbmc.kore.jsonrpc.notification.Playlist;
+import org.xbmc.kore.jsonrpc.notification.System;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.net.ConnectException;
+import java.net.InetSocketAddress;
+import java.net.ProtocolException;
+import java.net.Socket;
+import java.util.HashMap;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+
+import okhttp3.Authenticator;
+import okhttp3.Credentials;
+import okhttp3.MediaType;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+import okhttp3.ResponseBody;
+
+/**
+ * Class responsible for communicating with the host.
+ */
+public class HostConnection {
+ public static final String TAG = LogUtils.makeLogTag(HostConnection.class);
+
+ protected static final boolean LOG_REQUESTS = false;
+
+ /**
+ * Communicate via TCP
+ */
+ public static final int PROTOCOL_TCP = 0;
+ /**
+ * Communicate via HTTP
+ */
+ public static final int PROTOCOL_HTTP = 1;
+
+ /**
+ * Interface that an observer must implement to be notified of player notifications
+ */
+ public interface PlayerNotificationsObserver {
+ void onPropertyChanged(Player.OnPropertyChanged notification);
+ void onPlay(Player.OnPlay notification);
+ void onResume(Player.OnResume notification);
+ void onPause(Player.OnPause notification);
+ void onSpeedChanged(Player.OnSpeedChanged notification);
+ void onSeek(Player.OnSeek notification);
+ void onStop(Player.OnStop notification);
+ void onAVStart(Player.OnAVStart notification);
+ void onAVChange(Player.OnAVChange notification);
+ }
+
+ /**
+ * Interface that an observer must implement to be notified of System notifications
+ */
+ public interface SystemNotificationsObserver {
+ void onQuit(System.OnQuit notification);
+ void onRestart(System.OnRestart notification);
+ void onSleep(System.OnSleep notification);
+ }
+
+ /**
+ * Interface that an observer must implement to be notified of Input notifications
+ */
+ public interface InputNotificationsObserver {
+ void onInputRequested(Input.OnInputRequested notification);
+ }
+
+ public interface ApplicationNotificationsObserver {
+ void onVolumeChanged(Application.OnVolumeChanged notification);
+ }
+
+ public interface PlaylistNotificationsObserver {
+ void onPlaylistCleared(Playlist.OnClear notification);
+
+ void onPlaylistItemAdded(Playlist.OnAdd notification);
+
+ void onPlaylistItemRemoved(Playlist.OnRemove notification);
+ }
+
+ /**
+ * Host to connect too
+ */
+ private final HostInfo hostInfo;
+
+ /**
+ * The protocol to use: {@link #PROTOCOL_HTTP} or {@link #PROTOCOL_TCP}
+ * This is initially obtained from the {@link HostInfo}, but can be later changed through
+ * {@link #setProtocol(int)}
+ */
+ private int protocol;
+
+ private final ObjectMapper objectMapper = new ObjectMapper();
+
+ /**
+ * Socket used to communicate through TCP
+ */
+ private Socket socket = null;
+
+ /**
+ * Listener thread that will be listening on the TCP socket
+ */
+ private Thread tcpListenerThread = null;
+
+ /**
+ * {@link HashMap} that will hold the {@link MethodCallInfo} with the information
+ * necessary to respond to clients (TCP only)
+ */
+ private final HashMap> clientCallbacks = new HashMap<>();
+
+ /**
+ * The observers that will be notified of player notifications
+ */
+ private final HashMap playerNotificationsObservers = new HashMap<>();
+
+ /**
+ * The observers that will be notified of system notifications
+ */
+ private final HashMap systemNotificationsObservers = new HashMap<>();
+
+ /**
+ * The observers that will be notified of input notifications
+ */
+ private final HashMap inputNotificationsObservers = new HashMap<>();
+
+ /**
+ * The observers that will be notified of application notifications
+ */
+ private final HashMap applicationNotificationsObservers = new HashMap<>();
+
+ /**
+ * The observers that will be notified of playlist notifications
+ */
+ private final HashMap playlistNotificationsObservers = new HashMap<>();
+
+ private final ExecutorService executorService;
+
+ private final int connectTimeout;
+
+ private static final int DEFAULT_CONNECT_TIMEOUT = 5000; // ms
+
+ public static final int TCP_READ_TIMEOUT = 30000; // ms
+
+ private static final int CALLABLE_TIMEOUT = 30000; // ms
+
+ /**
+ * OkHttpClient. Make sure it is initialized, by calling {@link #getOkHttpClient()}
+ */
+ private OkHttpClient httpClient = null;
+ private static final MediaType MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8");
+
+ /**
+ * Flag to indicate that the tcp response have to be ignored.
+ */
+ private boolean ignoreTcpResponse = false;
+
+ public void setIgnoreTcpResponse(boolean ignoreTcpResponse) {
+ this.ignoreTcpResponse = ignoreTcpResponse;
+ }
+
+ /**
+ * Creates a new host connection
+ *
+ * @param hostInfo Host info object
+ */
+ public HostConnection(final HostInfo hostInfo) {
+ this(hostInfo, DEFAULT_CONNECT_TIMEOUT);
+ }
+
+ /**
+ * Creates a new host connection
+ *
+ * @param hostInfo Host info object
+ * @param connectTimeout Connection timeout in ms
+ */
+ public HostConnection(final HostInfo hostInfo, int connectTimeout) {
+ this.hostInfo = hostInfo;
+ // Start with the default host protocol
+ this.protocol = hostInfo.getProtocol();
+ // Create a single threaded executor
+ this.executorService = Executors.newCachedThreadPool();
+ // Set timeout
+ this.connectTimeout = connectTimeout;
+ }
+
+ /**
+ * Returns this connection protocol
+ *
+ * @return {@link #PROTOCOL_HTTP} or {@link #PROTOCOL_TCP}
+ */
+ public int getProtocol() {
+ return protocol;
+ }
+
+ /**
+ * Overrides the protocol for this connection
+ *
+ * @param protocol {@link #PROTOCOL_HTTP} or {@link #PROTOCOL_TCP}
+ */
+ public synchronized void setProtocol(int protocol) {
+ if (!isValidProtocol(protocol)) {
+ throw new IllegalArgumentException("Invalid protocol specified.");
+ }
+ this.protocol = protocol;
+ }
+
+ public static boolean isValidProtocol(int protocol) {
+ return ((protocol == PROTOCOL_TCP) || (protocol == PROTOCOL_HTTP));
+ }
+
+ /**
+ * Returns this connection {@link HostInfo}
+ *
+ * @return This connection {@link HostInfo}
+ */
+ public HostInfo getHostInfo() {
+ return hostInfo;
+ }
+
+ /**
+ * Returns this default connection timeout
+ *
+ * @return Connection timeout
+ */
+ public int getConnectTimeout() {
+ return connectTimeout;
+ }
+
+ /**
+ * Returns the {@link ExecutorService} that is being used to send remote method calls
+ *
+ * @return The {@link ExecutorService} in use
+ */
+ public ExecutorService getExecutorService() { return executorService; }
+
+ /**
+ * Registers an observer for player notifications
+ *
+ * @param observer The {@link PlayerNotificationsObserver}
+ */
+ public void registerPlayerNotificationsObserver(PlayerNotificationsObserver observer, Handler handler) {
+ playerNotificationsObservers.put(observer, handler);
+ }
+
+ /**
+ * Unregisters and observer from the player notifications
+ *
+ * @param observer The {@link PlayerNotificationsObserver} to unregister
+ */
+ public void unregisterPlayerNotificationsObserver(PlayerNotificationsObserver observer) {
+ playerNotificationsObservers.remove(observer);
+ }
+
+ /**
+ * Registers an observer for system notifications
+ *
+ * @param observer The {@link SystemNotificationsObserver}
+ */
+ public void registerSystemNotificationsObserver(SystemNotificationsObserver observer, Handler handler) {
+ systemNotificationsObservers.put(observer, handler);
+ }
+
+ /**
+ * Unregisters and observer from the system notifications
+ *
+ * @param observer The {@link SystemNotificationsObserver}
+ */
+ public void unregisterSystemNotificationsObserver(SystemNotificationsObserver observer) {
+ systemNotificationsObservers.remove(observer);
+ }
+
+ /**
+ * Registers an observer for input notifications
+ *
+ * @param observer The {@link InputNotificationsObserver}
+ */
+ public void registerInputNotificationsObserver(InputNotificationsObserver observer, Handler handler) {
+ inputNotificationsObservers.put(observer, handler);
+ }
+
+ /**
+ * Unregisters and observer from the input notifications
+ *
+ * @param observer The {@link InputNotificationsObserver}
+ */
+ public void unregisterInputNotificationsObserver(InputNotificationsObserver observer) {
+ inputNotificationsObservers.remove(observer);
+ }
+
+ /**
+ * Registers an observer for application notifications
+ *
+ * @param observer The {@link InputNotificationsObserver}
+ */
+ public void registerApplicationNotificationsObserver(ApplicationNotificationsObserver observer, Handler handler) {
+ applicationNotificationsObservers.put(observer, handler);
+ }
+
+ /**
+ * Unregisters and observer from the application notifications
+ *
+ * @param observer The {@link InputNotificationsObserver}
+ */
+ public void unregisterApplicationNotificationsObserver(ApplicationNotificationsObserver observer) {
+ applicationNotificationsObservers.remove(observer);
+ }
+
+ /**
+ * Registers an observer for playlist notifications
+ *
+ * @param observer The {@link InputNotificationsObserver}
+ */
+ public void registerPlaylistNotificationsObserver(PlaylistNotificationsObserver observer, Handler handler) {
+ playlistNotificationsObservers.put(observer, handler);
+ }
+
+ /**
+ * Unregisters and observer from the playlist notifications
+ *
+ * @param observer The {@link InputNotificationsObserver}
+ */
+ public void unregisterPlaylistNotificationsObserver(PlaylistNotificationsObserver observer) {
+ playlistNotificationsObservers.remove(observer);
+ }
+
+ /**
+ * Calls the remote method on the Kodi host asynchronously, using a background thread
+ * The result of the call will be posted in the {@link ApiCallback callback} parameter, on the specified
+ * {@link android.os.Handler}. If the results aren't needed, null can be passed for both parameters to ignore them
+ * If the connection is through TCP and there's a need to update the callback and handler (e.g. due to a device
+ * configuration change) use {@link #updateClientCallback(int, ApiCallback, Handler)}
+ *
+ * @param method Method object that represents the method call
+ * @param callback {@link ApiCallback} to post the response to
+ * @param handler {@link Handler} to invoke callbacks on.
+ * Note that, if this is null, the callbacks are invoked on the same background
+ * thread as the request, which isn't appropriate for UI manipulations
+ * @param Method return type
+ */
+ public void execute(final ApiMethod method, final ApiCallback callback, final Handler handler) {
+// LogUtils.LOGD(TAG, "Starting method execute. Method: " + method.getMethodName() + " on : " + hostInfo.getJsonRpcHttpEndpoint());
+
+ // Launch background thread
+ Runnable command = () -> {
+ Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
+
+ if (protocol == PROTOCOL_HTTP) {
+ executeThroughOkHttp(method, callback, handler);
+ } else {
+ // Save this method/callback for any later response
+ addClientCallback(method, callback, handler);
+ executeThroughTcp(method);
+ }
+ };
+
+ executorService.execute(command);
+ }
+
+ /**
+ * Calls the remote method on the Kodi host asynchronously, using a background thread, and returns a future
+ * that can be awaited to transform the call into a synchronous one.
+ *
+ * Note that calls to the Kodi host are asynchronous by nature, which can lead to callback hell when there's a
+ * need to call several remote methods in sequence. This method allows for a sequential code pattern when
+ * calling several remote methods, by calling {@link Future#get()} on each one and globally managing exceptions.
+ * If the goal is simply to asynchronously execute a remote method the
+ * {@link HostConnection#execute(ApiMethod, ApiCallback, Handler)} is preferrable, as it is slightly more efficient.
+ *
+ * @param method The remote method to invoke
+ * @param The type of the return value of the method
+ * @return The future result of the method call. API errors will be wrapped in
+ * an {@link ExecutionException} like regular futures.
+ */
+ public Future execute(ApiMethod method) {
+ final ApiFuture future = new ApiFuture<>();
+ execute(method, new ApiCallback() {
+ @Override
+ public void onSuccess(T result) {
+ future.complete(result);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ future.completeExceptionally(new ApiException(errorCode, description));
+ }
+ }, null);
+ return future;
+ }
+
+ /**
+ * Updates the client callback for the given {@link ApiMethod} if it is still pending.
+ * This can be used when the activity or fragment has been destroyed and recreated and
+ * you are still interested in the result of any pending {@link ApiMethod}
+ *
+ * @param methodId for which a new callback needs to be attached
+ * @param callback new callback that needs to be called for the new activity or fragment
+ * @param handler used to execute the callback on the UI thread
+ * @param result type
+ * @return true if the {@link ApiMethod} was still pending, false otherwise.
+ */
+ @SuppressWarnings("unchecked")
+ public boolean updateClientCallback(final int methodId, final ApiCallback callback, final Handler handler) {
+ if (getProtocol() == PROTOCOL_HTTP)
+ return false;
+
+ synchronized (clientCallbacks) {
+ String id = String.valueOf(methodId);
+ MethodCallInfo> methodCallInfo = clientCallbacks.get(id);
+ if (methodCallInfo != null) {
+ clientCallbacks.put(id, new MethodCallInfo<>((ApiMethod) methodCallInfo.method, callback, handler));
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Stores the method and callback to handle asynchronous responses.
+ * Note this is only needed for requests over TCP.
+ *
+ * @param method Method
+ * @param callback Callback
+ * @param handler Handler
+ * @param Method/Callback type
+ */
+ private void addClientCallback(final ApiMethod method, final ApiCallback callback, final Handler handler) {
+ if (getProtocol() == PROTOCOL_HTTP)
+ return;
+
+ synchronized (clientCallbacks) {
+ String methodId = String.valueOf(method.getId());
+ if (clientCallbacks.containsKey(methodId)) {
+ if ((handler != null) && (callback != null)) {
+ handler.post(() -> callback.onError(ApiException.API_METHOD_WITH_SAME_ID_ALREADY_EXECUTING,
+ "A method with the same Id is already executing"));
+ }
+ return;
+ }
+ clientCallbacks.put(methodId, new MethodCallInfo<>(method, callback, handler));
+ }
+ }
+
+ /**
+ * Sends the JSON RPC request through HTTP (using OkHttp library)
+ */
+ private void executeThroughOkHttp(final ApiMethod method, final ApiCallback callback, final Handler handler) {
+ OkHttpClient client = getOkHttpClient();
+ String jsonRequest = method.toJsonString();
+
+ if (LOG_REQUESTS) LogUtils.LOGD(TAG, "HTTP request: " + jsonRequest);
+
+ try {
+ Request request = new Request.Builder()
+ .url(hostInfo.getJsonRpcHttpEndpoint())
+ .post(RequestBody.create(jsonRequest, MEDIA_TYPE_JSON))
+ .build();
+ Response response = sendOkHttpRequest(client, request);
+ final T result = method.resultFromJson(parseJsonResponse(handleOkHttpResponse(response)));
+
+ if (callback != null) {
+ postOrRunNow(handler, () -> callback.onSuccess(result));
+ }
+ } catch (final ApiException e) {
+ // Got an error, call error handler
+ if (callback != null) {
+ postOrRunNow(handler, () -> callback.onError(e.getCode(), e.getMessage()));
+ }
+ } catch (final IllegalArgumentException e) {
+ LogUtils.LOGD(TAG, "Illegal argument exception on sending HTTP request: " + e);
+ // This happens because the host URL isn't valid
+ if (callback != null) {
+ String desc = "Illegal argument exception on sending HTTP request.\n" +
+ "Please check the media center address on the configuration screen.";
+ postOrRunNow(handler, () -> callback.onError(ApiException.HTTP_HOST_URL_INVALID, desc));
+ }
+ }
+ }
+
+ /**
+ * Initializes this class OkHttpClient
+ */
+ public synchronized OkHttpClient getOkHttpClient() {
+ if (httpClient == null) {
+ httpClient = new OkHttpClient.Builder()
+ .connectTimeout(connectTimeout, TimeUnit.MILLISECONDS)
+ .authenticator(getOkHttpAuthenticator())
+ .build();
+ }
+ return httpClient;
+ }
+
+ public Authenticator getOkHttpAuthenticator() {
+ return (route, response) -> {
+ if (TextUtils.isEmpty(hostInfo.getUsername()) ||
+ (response.request().header("Authorization") != null)) {
+ return null; // Give up, we've already attempted to authenticate.
+ }
+
+ String credential = Credentials.basic(hostInfo.getUsername(), hostInfo.getPassword());
+ return response.request().newBuilder()
+ .header("Authorization", credential)
+ .build();
+ };
+ }
+
+ // Hack to circumvent a Protocol Exception that occurs when the server returns bogus Status Line
+ // http://forum.kodi.tv/showthread.php?tid=224288
+ private OkHttpClient getNewOkHttpClientNoKeepAlive() {
+ java.lang.System.setProperty("http.keepAlive", "false");
+ httpClient = null;
+ return getOkHttpClient();
+ }
+
+ /**
+ * Send an OkHttp POST request
+ *
+ * @param request Request to send
+ * @throws ApiException {@link ApiException} if request can't be sent
+ */
+ private Response sendOkHttpRequest(final OkHttpClient client, final Request request) throws ApiException {
+ try {
+ return client.newCall(request).execute();
+ } catch (ProtocolException e) {
+ LogUtils.LOGW(TAG, "Got a Protocol Exception when trying to send OkHttp request. " +
+ "Trying again without connection pooling to try to circunvent this", e);
+ // Hack to circumvent a Protocol Exception that occurs when the server returns bogus Status Line
+ // http://forum.kodi.tv/showthread.php?tid=224288
+ httpClient = getNewOkHttpClientNoKeepAlive();
+ throw new ApiException(ApiException.IO_EXCEPTION_WHILE_SENDING_REQUEST, e);
+ } catch (ConnectException e) {
+ LogUtils.LOGD(TAG, "Failed to connect to kodi.");
+ throw new ApiException(ApiException.IO_EXCEPTION_WHILE_SENDING_REQUEST, e);
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, "Failed to send OkHttp request.", e);
+ throw new ApiException(ApiException.IO_EXCEPTION_WHILE_SENDING_REQUEST, e);
+ } catch (RuntimeException e) {
+ // Seems like OkHttp throws a RuntimeException when it gets a malformed URL
+ LogUtils.LOGW(TAG, "Got a Runtime exception when sending OkHttp request. Probably a malformed URL.", e);
+ throw new ApiException(ApiException.IO_EXCEPTION_WHILE_SENDING_REQUEST, e);
+ }
+ }
+
+ /**
+ * Reads the response from the server
+ *
+ * @param response Response from OkHttp
+ * @return Response body string
+ * @throws ApiException {@link ApiException} if response can't be read/processed
+ */
+ private String handleOkHttpResponse(Response response) throws ApiException {
+ try {
+ int responseCode = response.code();
+
+ switch (responseCode) {
+ case 200:
+ ResponseBody body = response.body();
+ if (body != null) {
+ // All ok, read response
+ String res = body.string();
+ body.close();
+ if (LOG_REQUESTS) LogUtils.LOGD(TAG, "HTTP response: " + res);
+ return res;
+ } else {
+ LogUtils.LOGD(TAG, "OkHTTP response body is null: " + response);
+ throw new ApiException(ApiException.HTTP_RESPONSE_CODE_UNKNOWN,
+ "Server returned response code: " + response);
+ }
+ case 401:
+ LogUtils.LOGD(TAG, "OkHTTP response read error. Got a 401: " + response);
+ throw new ApiException(ApiException.HTTP_RESPONSE_CODE_UNAUTHORIZED,
+ "Server returned response code: " + response);
+ case 404:
+ LogUtils.LOGD(TAG, "OkHTTP response read error. Got a 404: " + response);
+ throw new ApiException(ApiException.HTTP_RESPONSE_CODE_NOT_FOUND,
+ "Server returned response code: " + response);
+ default:
+ LogUtils.LOGD(TAG, "OkHTTP response read error. Got: " + response);
+ throw new ApiException(ApiException.HTTP_RESPONSE_CODE_UNKNOWN,
+ "Server returned response code: " + response);
+ }
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, "Failed to read OkHTTP response.", e);
+ throw new ApiException(ApiException.IO_EXCEPTION_WHILE_READING_RESPONSE, e);
+ }
+ }
+
+ /**
+ * Parses the JSON response from the server.
+ * If it is a valid result returns the JSON {@link com.fasterxml.jackson.databind.node.ObjectNode} that represents it.
+ * If it is an error (contains the error tag), returns an {@link ApiException} with the info.
+ *
+ * @param response JSON response
+ * @return {@link com.fasterxml.jackson.databind.node.ObjectNode} constructed
+ * @throws ApiException Exception trown if we can't parse the response
+ */
+ private ObjectNode parseJsonResponse(String response) throws ApiException {
+// LogUtils.LOGD(TAG, "Parsing JSON response");
+ try {
+ ObjectNode jsonResponse = (ObjectNode) objectMapper.readTree(response);
+
+ if (jsonResponse.has(ApiMethod.ERROR_NODE)) {
+ throw new ApiException(ApiException.API_ERROR, jsonResponse);
+ }
+
+ if (!jsonResponse.has(ApiMethod.RESULT_NODE)) {
+ // Something strange is going on
+ throw new ApiException(ApiException.INVALID_JSON_RESPONSE_FROM_HOST,
+ "Result doesn't contain a result node.");
+ }
+
+ return jsonResponse;
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, "Got an exception while parsing JSON response.", e);
+ throw new ApiException(ApiException.INVALID_JSON_RESPONSE_FROM_HOST, e);
+ }
+ }
+
+ /**
+ * Sends the JSON RPC request through TCP
+ * Keeps a background thread running, listening on a socket
+ */
+ private void executeThroughTcp(final ApiMethod method) {
+ String methodId = String.valueOf(method.getId());
+ try {
+ synchronized (this) {
+ if (socket == null) {
+ // Open connection to the server and setup reader thread
+ socket = openTcpConnection(hostInfo);
+ startListenerThread(socket);
+ }
+
+ // Write request
+ sendTcpRequest(socket, method.toJsonString());
+ }
+ } catch (final ApiException e) {
+ callErrorCallback(methodId, e);
+ }
+ }
+
+ /**
+ * Auxiliary method to open the TCP {@link Socket}.
+ * This method calls connect() so that any errors are cathced
+ *
+ * @param hostInfo Host info
+ * @return Connection set up
+ * @throws ApiException Exception if open is unsucessful
+ */
+ private Socket openTcpConnection(HostInfo hostInfo) throws ApiException {
+ try {
+ LogUtils.LOGD(TAG, "Opening TCP connection on host: " + hostInfo.getAddress());
+
+ Socket socket = new Socket();
+ final InetSocketAddress address = new InetSocketAddress(hostInfo.getAddress(), hostInfo.getTcpPort());
+ // We're setting a read timeout on the socket, so no need to explicitly close it
+ socket.setSoTimeout(TCP_READ_TIMEOUT);
+ socket.connect(address, connectTimeout);
+
+ return socket;
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, "Failed to open TCP connection to host: " + hostInfo.getAddress());
+ throw new ApiException(ApiException.IO_EXCEPTION_WHILE_CONNECTING, e);
+ }
+ }
+
+ /**
+ * Send a TCP request
+ *
+ * @param socket Socket to write to
+ * @param request Request to send
+ * @throws ApiException Exception if can't send
+ */
+ private void sendTcpRequest(Socket socket, String request) throws ApiException {
+ try {
+ if (LOG_REQUESTS) LogUtils.LOGD(TAG, "TCP request: " + request);
+ BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
+ writer.write(request);
+ writer.flush();
+ } catch (Exception e) {
+ LogUtils.LOGW(TAG, "Failed to send TCP request: " + request, e);
+ disconnect();
+ throw new ApiException(ApiException.IO_EXCEPTION_WHILE_SENDING_REQUEST, e);
+ }
+ }
+
+ private void startListenerThread(final Socket socket) {
+ tcpListenerThread = new Thread(() -> {
+ Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
+ try {
+ LogUtils.LOGD(TAG, "Starting TCP socket listener thread from thread: " + Thread.currentThread().getName());
+ // We're going to read from the socket. This will be a blocking call and
+ // it will keep on going until disconnect() is called on this object.
+ // Note: Mind the objects used here: we use createParser because it doesn't
+ // close the socket after ObjectMapper.readTree.
+ JsonParser jsonParser = objectMapper.getFactory().createParser(socket.getInputStream());
+ ObjectNode jsonResponse;
+ while ((jsonResponse = objectMapper.readTree(jsonParser)) != null) {
+ if (LOG_REQUESTS) LogUtils.LOGD(TAG, "TCP response: " + jsonResponse);
+// LogUtils.LOGD_FULL(TAG, "Read from socket: " + jsonResponse.toString());
+ handleTcpResponse(jsonResponse);
+ }
+ } catch (JsonProcessingException e) {
+ LogUtils.LOGW(TAG, "Got an exception while parsing JSON response.", e);
+ callErrorCallback(null, new ApiException(ApiException.INVALID_JSON_RESPONSE_FROM_HOST, e));
+ } catch (IOException e) {
+ LogUtils.LOGW(TAG, "Error reading from socket.", e);
+ callErrorCallback(null, new ApiException(ApiException.IO_EXCEPTION_WHILE_READING_RESPONSE, e));
+ } finally {
+ disconnect();
+ }
+ });
+ tcpListenerThread.start();
+ }
+
+ private boolean shouldIgnoreTcpResponse(ObjectNode jsonResponse) {
+ boolean ignore = false;
+ if (jsonResponse.has(ApiMethod.ID_NODE) && ignoreTcpResponse) {
+ ignoreTcpResponse = false;
+ ignore = true;
+ }
+ //LogUtils.LOGD(TAG, "ignore tcp response - " + ignore);
+ return ignore;
+ }
+
+ private void handleTcpResponse(ObjectNode jsonResponse) {
+ if (shouldIgnoreTcpResponse(jsonResponse))
+ return;
+
+ if (!jsonResponse.has(ApiMethod.ID_NODE)) {
+ // It's a notification, notify observers
+ String notificationName = jsonResponse.get(ApiNotification.METHOD_NODE).asText();
+ ObjectNode params = (ObjectNode) jsonResponse.get(ApiNotification.PARAMS_NODE);
+
+ switch (notificationName) {
+ case Player.OnPause.NOTIFICATION_NAME: {
+ final Player.OnPause apiNotification = new Player.OnPause(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onPause(apiNotification));
+ }
+ break;
+ }
+ case Player.OnPlay.NOTIFICATION_NAME: {
+ final Player.OnPlay apiNotification = new Player.OnPlay(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onPlay(apiNotification));
+ }
+ break;
+ }
+ case Player.OnResume.NOTIFICATION_NAME: {
+ final Player.OnResume apiNotification = new Player.OnResume(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onResume(apiNotification));
+ }
+ break;
+ }
+ case Player.OnSeek.NOTIFICATION_NAME: {
+ final Player.OnSeek apiNotification = new Player.OnSeek(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onSeek(apiNotification));
+ }
+ break;
+ }
+ case Player.OnSpeedChanged.NOTIFICATION_NAME: {
+ final Player.OnSpeedChanged apiNotification = new Player.OnSpeedChanged(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onSpeedChanged(apiNotification));
+ }
+ break;
+ }
+ case Player.OnStop.NOTIFICATION_NAME: {
+ final Player.OnStop apiNotification = new Player.OnStop(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onStop(apiNotification));
+ }
+ break;
+ }
+ case Player.OnAVStart.NOTIFICATION_NAME: {
+ final Player.OnAVStart apiNotification = new Player.OnAVStart(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onAVStart(apiNotification));
+ }
+ break;
+ }
+ case Player.OnAVChange.NOTIFICATION_NAME: {
+ final Player.OnAVChange apiNotification = new Player.OnAVChange(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onAVChange(apiNotification));
+ }
+ break;
+ }
+ case Player.OnPropertyChanged.NOTIFICATION_NAME: {
+ final Player.OnPropertyChanged apiNotification = new Player.OnPropertyChanged(params);
+ for (final PlayerNotificationsObserver observer : playerNotificationsObservers.keySet()) {
+ Handler handler = playerNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onPropertyChanged(apiNotification));
+ }
+ break;
+ }
+ case System.OnQuit.NOTIFICATION_NAME: {
+ final System.OnQuit apiNotification = new System.OnQuit(params);
+ for (final SystemNotificationsObserver observer : systemNotificationsObservers.keySet()) {
+ Handler handler = systemNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onQuit(apiNotification));
+ }
+ break;
+ }
+ case System.OnRestart.NOTIFICATION_NAME: {
+ final System.OnRestart apiNotification = new System.OnRestart(params);
+ for (final SystemNotificationsObserver observer : systemNotificationsObservers.keySet()) {
+ Handler handler = systemNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onRestart(apiNotification));
+ }
+ break;
+ }
+ case System.OnSleep.NOTIFICATION_NAME: {
+ final System.OnSleep apiNotification = new System.OnSleep(params);
+ for (final SystemNotificationsObserver observer : systemNotificationsObservers.keySet()) {
+ Handler handler = systemNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onSleep(apiNotification));
+ }
+ break;
+ }
+ case Input.OnInputRequested.NOTIFICATION_NAME: {
+ final Input.OnInputRequested apiNotification = new Input.OnInputRequested(params);
+ for (final InputNotificationsObserver observer : inputNotificationsObservers.keySet()) {
+ Handler handler = inputNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onInputRequested(apiNotification));
+ }
+ break;
+ }
+ case Application.OnVolumeChanged.NOTIFICATION_NAME: {
+ final Application.OnVolumeChanged apiNotification = new Application.OnVolumeChanged(params);
+ for (final ApplicationNotificationsObserver observer : applicationNotificationsObservers.keySet()) {
+ Handler handler = applicationNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onVolumeChanged(apiNotification));
+ }
+ break;
+ }
+ case Playlist.OnClear.NOTIFICATION_NAME: {
+ final Playlist.OnClear apiNotification =
+ new Playlist.OnClear(params);
+ for (final PlaylistNotificationsObserver observer :
+ playlistNotificationsObservers.keySet()) {
+ Handler handler = playlistNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onPlaylistCleared(apiNotification));
+ }
+ break;
+ }
+ case Playlist.OnAdd.NOTIFICATION_NAME: {
+ final Playlist.OnAdd apiNotification =
+ new Playlist.OnAdd(params);
+ for (final PlaylistNotificationsObserver observer :
+ playlistNotificationsObservers.keySet()) {
+ Handler handler = playlistNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onPlaylistItemAdded(apiNotification));
+ }
+ break;
+ }
+ case Playlist.OnRemove.NOTIFICATION_NAME: {
+ final Playlist.OnRemove apiNotification =
+ new Playlist.OnRemove(params);
+ for (final PlaylistNotificationsObserver observer :
+ playlistNotificationsObservers.keySet()) {
+ Handler handler = playlistNotificationsObservers.get(observer);
+ postOrRunNow(handler, () -> observer.onPlaylistItemRemoved(apiNotification));
+ }
+ break;
+ }
+ }
+ LogUtils.LOGD(TAG, "Got a notification: " + jsonResponse.get("method").textValue());
+ } else {
+ String methodId = jsonResponse.get(ApiMethod.ID_NODE).asText();
+
+ if (jsonResponse.has(ApiMethod.ERROR_NODE)) {
+ // Error response
+ callErrorCallback(methodId, new ApiException(ApiException.API_ERROR, jsonResponse));
+ } else {
+ // Success response
+ final MethodCallInfo> methodCallInfo = clientCallbacks.get(methodId);
+
+ if (methodCallInfo != null) {
+ try {
+ @SuppressWarnings("unchecked") final T result = (T) methodCallInfo.method.resultFromJson(jsonResponse);
+ @SuppressWarnings("unchecked") final ApiCallback callback = (ApiCallback) methodCallInfo.callback;
+
+ if (callback != null) {
+ postOrRunNow(methodCallInfo.handler, () -> callback.onSuccess(result));
+ }
+
+ // We've replied, remove the client from the list
+ synchronized (clientCallbacks) {
+ clientCallbacks.remove(methodId);
+ }
+ } catch (ApiException e) {
+ callErrorCallback(methodId, e);
+ }
+ }
+ }
+ }
+ }
+
+ private void callErrorCallback(String methodId, final ApiException error) {
+ synchronized (clientCallbacks) {
+ if (methodId != null) {
+ // Send error back to client
+ final MethodCallInfo> methodCallInfo = clientCallbacks.get(methodId);
+ if (methodCallInfo != null) {
+ @SuppressWarnings("unchecked") final ApiCallback callback = (ApiCallback) methodCallInfo.callback;
+
+ if (callback != null) {
+ postOrRunNow(methodCallInfo.handler, () -> callback.onError(error.getCode(), error.getMessage()));
+ }
+ }
+ clientCallbacks.remove(methodId);
+ } else {
+ // Notify all pending clients, it might be an error for them
+ for (String id : clientCallbacks.keySet()) {
+ final MethodCallInfo> methodCallInfo = clientCallbacks.get(id);
+ if (methodCallInfo == null) continue;
+ @SuppressWarnings("unchecked") final ApiCallback callback = (ApiCallback) methodCallInfo.callback;
+
+ if (callback != null) {
+ postOrRunNow(methodCallInfo.handler, () -> callback.onError(error.getCode(), error.getMessage()));
+ }
+ }
+
+ clientCallbacks.clear();
+ }
+ }
+ }
+
+ /**
+ * Cleans up used resources.
+ * This method should always be called if the protocol used is TCP, so we can shutdown gracefully
+ */
+ public void disconnect() {
+ if (protocol == PROTOCOL_HTTP)
+ return;
+
+ Socket oldSocket = socket;
+ socket = null;
+ // Close socket asynchronously, in a synchronized block
+ executorService.execute(() -> {
+ synchronized (this) {
+ try {
+ if (oldSocket != null) {
+ // Remove pending calls
+ clientCallbacks.clear();
+ if (!oldSocket.isClosed()) {
+ oldSocket.close();
+ }
+ }
+ } catch (IOException e) {
+ LogUtils.LOGE(TAG, "Error while closing socket", e);
+ }
+ }
+ });
+ }
+
+ private static void postOrRunNow(Handler handler, Runnable r) {
+ if (handler != null) {
+ handler.post(r);
+ } else {
+ r.run();
+ }
+ }
+
+ /**
+ * Helper class to aggregate a method, callback and handler
+ *
+ * @param
+ */
+ private static class MethodCallInfo {
+ public final ApiMethod method;
+ public final ApiCallback callback;
+ public final Handler handler;
+
+ public MethodCallInfo(ApiMethod method, ApiCallback callback, Handler handler) {
+ this.method = method;
+ this.callback = callback;
+ this.handler = handler;
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/host/HostConnectionObserver.java b/app/src/main/java/org/xbmc/kore/host/HostConnectionObserver.java
new file mode 100644
index 0000000..07686d9
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/host/HostConnectionObserver.java
@@ -0,0 +1,1153 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.host;
+
+import android.os.Handler;
+import android.os.Looper;
+
+import org.xbmc.kore.host.actions.GetPlaylist;
+import org.xbmc.kore.jsonrpc.ApiCallback;
+import org.xbmc.kore.jsonrpc.method.JSONRPC;
+import org.xbmc.kore.jsonrpc.method.Player;
+import org.xbmc.kore.jsonrpc.notification.Application;
+import org.xbmc.kore.jsonrpc.notification.Input;
+import org.xbmc.kore.jsonrpc.notification.Player.NotificationsData;
+import org.xbmc.kore.jsonrpc.notification.Playlist;
+import org.xbmc.kore.jsonrpc.notification.System;
+import org.xbmc.kore.jsonrpc.type.ApplicationType;
+import org.xbmc.kore.jsonrpc.type.ListType;
+import org.xbmc.kore.jsonrpc.type.PlayerType;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Object that listens to a connection and notifies observers about changes in its state
+ * This class serves as an adpater to the {@link HostConnection.PlayerNotificationsObserver},
+ * to enable to get notifications not only through TCP but also through HTTP.
+ * Depending on the connection protocol this class registers itself as an observer for
+ * {@link HostConnection.PlayerNotificationsObserver} and forwards the notifications it gets,
+ * or, if through HTTP, starts a periodic polling of Kodi, and tries to discern when a change in
+ * the player has occurred, notifying the listeners
+ *
+ * NOTE: An object of this class should always be called from the same thread.
+ */
+public class HostConnectionObserver
+ implements HostConnection.PlayerNotificationsObserver,
+ HostConnection.SystemNotificationsObserver,
+ HostConnection.InputNotificationsObserver,
+ HostConnection.ApplicationNotificationsObserver,
+ HostConnection.PlaylistNotificationsObserver {
+ public static final String TAG = LogUtils.makeLogTag(HostConnectionObserver.class);
+
+ public interface PlaylistEventsObserver {
+ /**
+ * Notifies that a playlist has been cleared
+ * @param playlistId of playlist that has been cleared
+ */
+ void onPlaylistClear(int playlistId);
+
+ /**
+ * Notifies about the available playlists on Kodi
+ * @param playlists Available playlists
+ */
+ void onPlaylistsAvailable(ArrayList playlists);
+
+ /**
+ * Notifies that an error occured when fetching playlists
+ * @param errorCode Error code
+ * @param description Error description
+ */
+ void onPlaylistError(int errorCode, String description);
+ }
+
+ /**
+ * Interface that an observer has to implement to receive playlist events
+ */
+ public interface ApplicationEventsObserver {
+ /**
+ * Notifies the observer that volume has changed
+ * @param volume Volume level
+ * @param muted Is muted
+ */
+ void onApplicationVolumeChanged(int volume, boolean muted);
+ }
+
+ /**
+ * Interface that an observer has to implement to receive player events
+ */
+ public interface PlayerEventsObserver {
+ /**
+ * Constants for possible events. Useful to save the last event and compare with the
+ * current one to check for differences
+ */
+ int PLAYER_NO_RESULT = 0,
+ PLAYER_CONNECTION_ERROR = 1,
+ PLAYER_IS_PLAYING = 2,
+ PLAYER_IS_PAUSED = 3,
+ PLAYER_IS_STOPPED = 4;
+
+ void onPlayerPropertyChanged(NotificationsData notificationsData);
+
+ /**
+ * Notifies that something is playing
+ * @param getActivePlayerResult Active player obtained by a call to {@link org.xbmc.kore.jsonrpc.method.Player.GetActivePlayers}
+ * @param getPropertiesResult Properties obtained by a call to {@link org.xbmc.kore.jsonrpc.method.Player.GetProperties}
+ * @param getItemResult Currently playing item, obtained by a call to {@link org.xbmc.kore.jsonrpc.method.Player.GetItem}
+ */
+ void onPlayerPlay(PlayerType.GetActivePlayersReturnType getActivePlayerResult,
+ PlayerType.PropertyValue getPropertiesResult,
+ ListType.ItemsAll getItemResult);
+
+ /**
+ * Notifies that something is paused
+ * @param getActivePlayerResult Active player obtained by a call to {@link org.xbmc.kore.jsonrpc.method.Player.GetActivePlayers}
+ * @param getPropertiesResult Properties obtained by a call to {@link org.xbmc.kore.jsonrpc.method.Player.GetProperties}
+ * @param getItemResult Currently paused item, obtained by a call to {@link org.xbmc.kore.jsonrpc.method.Player.GetItem}
+ */
+ void onPlayerPause(PlayerType.GetActivePlayersReturnType getActivePlayerResult,
+ PlayerType.PropertyValue getPropertiesResult,
+ ListType.ItemsAll getItemResult);
+
+ /**
+ * Notifies that media is stopped/nothing is playing
+ */
+ void onPlayerStop();
+
+ /**
+ * Called when we get a connection error
+ * @param errorCode Code
+ * @param description Description
+ */
+ void onPlayerConnectionError(int errorCode, String description);
+
+ /**
+ * Notifies that we don't have a result yet
+ */
+ void onPlayerNoResultsYet();
+
+ /**
+ * Notifies that Kodi has quit/shutdown/sleep
+ */
+ void onSystemQuit();
+
+ /**
+ * Notifies that Kodi has requested input
+ */
+ void onInputRequested(String title, String type, String value);
+
+ /**
+ * Notifies the observer that it this is stopping
+ */
+ void onObserverStopObserving();
+ }
+
+ /**
+ * Interface that an observer has to implement to receive the connection status
+ */
+ public interface ConnectionStatusObserver {
+ /**
+ * Constants for the status
+ */
+ int CONNECTION_NO_RESULT = 0,
+ CONNECTION_ERROR = 1,
+ CONNECTION_SUCCESS = 2;
+
+ /**
+ * Notifies that we don't have a result yet
+ */
+ void onConnectionStatusNoResultsYet();
+
+ /**
+ * Notifies that we're successfully connected
+ */
+ void onConnectionStatusSuccess();
+
+ /**
+ * Called when we get a connection error
+ * @param errorCode Code
+ * @param description Description
+ */
+ void onConnectionStatusError(int errorCode, String description);
+ }
+
+ /**
+ * The connection on which to listen
+ */
+ private final HostConnection connection;
+
+ /**
+ * The list of observers
+ */
+ private final List playerEventsObservers = new ArrayList<>();
+ private final List applicationEventsObservers = new ArrayList<>();
+ private final List playlistEventsObservers = new ArrayList<>();
+ private final List connectionStatusObservers = new ArrayList<>();
+
+ // This controls the frequency with wich the playlist is checked.
+ // It's checked everytime it reaches 0, being reset afterwards
+ private int checkPlaylistFrequencyCounter = 0;
+
+ // Associate the Handler with the UI thread
+ private final Handler checkerHandler = new Handler(Looper.getMainLooper());
+ private final Runnable httpCheckerRunnable = new Runnable() {
+ @Override
+ public void run() {
+ final int HTTP_NOTIFICATION_CHECK_INTERVAL = 2000;
+ // If no one is listening to this, just exit
+ if (playerEventsObservers.isEmpty() &&
+ applicationEventsObservers.isEmpty() &&
+ playlistEventsObservers.isEmpty() &&
+ connectionStatusObservers.isEmpty())
+ return;
+
+ if (!playerEventsObservers.isEmpty())
+ checkWhatsPlaying();
+
+ if (!applicationEventsObservers.isEmpty())
+ getApplicationProperties();
+
+ if (!playlistEventsObservers.isEmpty()) {
+ if (checkPlaylistFrequencyCounter <= 0) {
+ // Check playlist and reset the frequency counter
+ checkPlaylist();
+ checkPlaylistFrequencyCounter = 1;
+ } else {
+ checkPlaylistFrequencyCounter--;
+ }
+ }
+
+ if (!connectionStatusObservers.isEmpty()) {
+ checkConnectionStatus();
+ }
+
+ checkerHandler.postDelayed(this, HTTP_NOTIFICATION_CHECK_INTERVAL);
+ }
+ };
+
+ private final Runnable tcpCheckerRunnable = new Runnable() {
+ @Override
+ public void run() {
+ // If no one is listening to this, just exit
+ if (playerEventsObservers.isEmpty() &&
+ applicationEventsObservers.isEmpty() &&
+ playlistEventsObservers.isEmpty() &&
+ connectionStatusObservers.isEmpty())
+ return;
+
+ final int PING_AFTER_ERROR_CHECK_INTERVAL = 2000,
+ PING_AFTER_SUCCESS_CHECK_INTERVAL = 5000;
+ JSONRPC.Ping ping = new JSONRPC.Ping();
+ ping.execute(connection, new ApiCallback() {
+ @Override
+ public void onSuccess(String result) {
+ // Ok, we've got a ping, if there are playerEventsObservers and
+ // we were in a error or uninitialized state, update
+ if ((!playerEventsObservers.isEmpty()) &&
+ ((hostState.lastPlayerEventsResult == PlayerEventsObserver.PLAYER_NO_RESULT) ||
+ (hostState.lastPlayerEventsResult == PlayerEventsObserver.PLAYER_CONNECTION_ERROR))) {
+ LogUtils.LOGD(TAG, "Checking what's playing because we don't have info about it");
+ checkWhatsPlaying();
+ }
+
+ if ((!playlistEventsObservers.isEmpty()) &&
+ (hostState.lastPlayerEventsResult == PlayerEventsObserver.PLAYER_CONNECTION_ERROR)) {
+ checkPlaylist();
+ }
+
+ if (!connectionStatusObservers.isEmpty()) {
+ notifyConnectionStatusSucess(connectionStatusObservers);
+ }
+
+ checkerHandler.postDelayed(tcpCheckerRunnable, PING_AFTER_SUCCESS_CHECK_INTERVAL);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ // Notify a connection error
+ notifyConnectionError(errorCode, description, playerEventsObservers);
+ notifyConnectionStatusError(errorCode, description, connectionStatusObservers);
+ checkerHandler.postDelayed(tcpCheckerRunnable, PING_AFTER_ERROR_CHECK_INTERVAL);
+ }
+ }, checkerHandler);
+ }
+ };
+
+ private static class HostState {
+ int lastPlayerEventsResult = PlayerEventsObserver.PLAYER_NO_RESULT;
+ int lastPlayerEventsErrorCode;
+ String lastPlayerEventsErrorDescription;
+ PlayerType.GetActivePlayersReturnType lastGetActivePlayerResult = null;
+ PlayerType.PropertyValue lastGetPropertiesResult = null;
+ ListType.ItemsAll lastGetItemResult = null;
+ boolean volumeMuted = false;
+ int volumeLevel = -1; // -1 indicates no volumeLevel known
+ ArrayList lastGetPlaylistResults = null;
+ int lastConnectionStatusResult = ConnectionStatusObserver.CONNECTION_NO_RESULT;
+ int lastConnectionStatusErrorCode;
+ String lastConnectionStatusErrorDescription;
+ }
+ private HostState hostState;
+
+ public HostConnectionObserver(HostConnection connection) {
+ this.hostState = new HostState();
+ this.connection = connection;
+ }
+
+ /**
+ * Registers a new observer that will be notified about player events
+ * @param observer Observer
+ */
+ public void registerPlayerObserver(PlayerEventsObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ if (!playerEventsObservers.contains(observer))
+ playerEventsObservers.add(observer);
+
+ LogUtils.LOGD(TAG, "Register Player Observer " + observer.getClass().getSimpleName() +
+ ". Got " + playerEventsObservers.size() + " observers.");
+
+ // Reply immediatelly
+ replyWithLastResult(observer);
+
+ if (playerEventsObservers.size() == 1) {
+ // If this is the first observer, start checking through HTTP or register us
+ // as a connection observer, which we will pass to the "real" observer
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ connection.registerPlayerNotificationsObserver(this, checkerHandler);
+ connection.registerSystemNotificationsObserver(this, checkerHandler);
+ connection.registerInputNotificationsObserver(this, checkerHandler);
+ }
+ startCheckerHandler();
+ }
+ }
+
+ /**
+ * Unregisters a previously registered observer
+ * @param observer Observer to unregister
+ */
+ public void unregisterPlayerObserver(PlayerEventsObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ playerEventsObservers.remove(observer);
+
+ LogUtils.LOGD(TAG, "Unregister Player Observer " + observer.getClass().getSimpleName() +
+ ((playerEventsObservers.size() > 0) ?
+ ". Got " + playerEventsObservers.size() + " observers." :
+ ". No observers left."));
+
+ if (playerEventsObservers.isEmpty()) {
+ // No more observers. If through TCP unregister us from the host connection
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ connection.unregisterPlayerNotificationsObserver(this);
+ connection.unregisterSystemNotificationsObserver(this);
+ connection.unregisterInputNotificationsObserver(this);
+ }
+ hostState.lastPlayerEventsResult = PlayerEventsObserver.PLAYER_NO_RESULT;
+ }
+ }
+
+ /**
+ * Registers a new observer that will be notified about application events
+ * @param observer Observer
+ */
+ public void registerApplicationObserver(ApplicationEventsObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ if (!applicationEventsObservers.contains(observer))
+ applicationEventsObservers.add(observer);
+
+ LogUtils.LOGD(TAG, "Register Application Observer " + observer.getClass().getSimpleName() +
+ ". Got " + applicationEventsObservers.size() + " observers.");
+
+ // Reply immediatelly
+ replyWithLastResult(observer);
+
+ if (applicationEventsObservers.size() == 1) {
+ // If this is the first observer, start checking through HTTP or register us
+ // as a connection observer, which we will pass to the "real" observer
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ connection.registerApplicationNotificationsObserver(this, checkerHandler);
+ }
+ startCheckerHandler();
+ }
+ }
+
+ /**
+ * Unregisters a previously registered observer
+ * @param observer Observer to unregister
+ */
+ public void unregisterApplicationObserver(ApplicationEventsObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ applicationEventsObservers.remove(observer);
+
+ LogUtils.LOGD(TAG, "Unregister Application Observer " + observer.getClass().getSimpleName() +
+ ((applicationEventsObservers.size() > 0) ?
+ ". Got " + applicationEventsObservers.size() + " observers." :
+ ". No observers left."));
+
+ if (applicationEventsObservers.isEmpty()) {
+ // No more observers. If through TCP unregister us from the host connection
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ connection.unregisterApplicationNotificationsObserver(this);
+ }
+ }
+ }
+
+ /**
+ * Registers a new observer that will be notified about playlist events
+ * @param observer Observer
+ */
+ public void registerPlaylistObserver(PlaylistEventsObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ if (!playlistEventsObservers.contains(observer) ) {
+ playlistEventsObservers.add(observer);
+ }
+
+ LogUtils.LOGD(TAG, "Register Playlist Observer " + observer.getClass().getSimpleName() +
+ ". Got " + playlistEventsObservers.size() + " observers.");
+
+ // Reply immediatelly
+ replyWithLastResult(observer);
+
+ if (playlistEventsObservers.size() == 1) {
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ connection.registerPlaylistNotificationsObserver(this, checkerHandler);
+ }
+ startCheckerHandler();
+ }
+ }
+
+ public void unregisterPlaylistObserver(PlaylistEventsObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ playlistEventsObservers.remove(observer);
+
+ LogUtils.LOGD(TAG, "Unregister Playlist Observer " + observer.getClass().getSimpleName() +
+ ((playlistEventsObservers.size() > 0) ?
+ ". Got " + playlistEventsObservers.size() + " observers." :
+ ". No observers left."));
+
+ if (playlistEventsObservers.isEmpty()) {
+ // No more observers. If through TCP unregister us from the host connection
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ connection.unregisterPlaylistNotificationsObserver(this);
+ }
+ hostState.lastGetPlaylistResults = null;
+ }
+ }
+
+ /**
+ * Registers a new observer that will be notified about connection status
+ * @param observer Observer
+ */
+ public void registerConnectionStatusObserver(ConnectionStatusObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ if (!connectionStatusObservers.contains(observer))
+ connectionStatusObservers.add(observer);
+
+ LogUtils.LOGD(TAG, "Register Connection Status Observer " + observer.getClass().getSimpleName() +
+ ". Got " + connectionStatusObservers.size() + " observers.");
+
+ // Reply immediatelly
+ replyWithLastResult(observer);
+ startCheckerHandler();
+ }
+
+ /**
+ * Unregisters a previously registered observer
+ * @param observer Observer to unregister
+ */
+ public void unregisterConnectionStatusObserver(ConnectionStatusObserver observer) {
+ if (this.connection == null || observer == null) return;
+
+ connectionStatusObservers.remove(observer);
+
+ LogUtils.LOGD(TAG, "Unregister Connection Status Observer " + observer.getClass().getSimpleName() +
+ ((connectionStatusObservers.size() > 0) ?
+ ". Got " + connectionStatusObservers.size() + " observers." :
+ ". No observers left."));
+ }
+
+ /**
+ * Unregisters all observers
+ */
+ public void stopObserving() {
+ for (final PlayerEventsObserver observer : playerEventsObservers)
+ observer.onObserverStopObserving();
+
+ playerEventsObservers.clear();
+ playlistEventsObservers.clear();
+ applicationEventsObservers.clear();
+ connectionStatusObservers.clear();
+
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ connection.unregisterPlayerNotificationsObserver(this);
+ connection.unregisterSystemNotificationsObserver(this);
+ connection.unregisterInputNotificationsObserver(this);
+ connection.unregisterApplicationNotificationsObserver(this);
+ connection.unregisterPlaylistNotificationsObserver(this);
+ checkerHandler.removeCallbacks(tcpCheckerRunnable);
+ }
+ hostState = new HostState();
+ }
+
+ @Override
+ public void onPropertyChanged(org.xbmc.kore.jsonrpc.notification.Player.OnPropertyChanged notification) {
+ List allObservers = new ArrayList<>(playerEventsObservers);
+ for (final PlayerEventsObserver observer : allObservers) {
+ observer.onPlayerPropertyChanged(notification.data);
+ }
+ }
+
+ /**
+ * The {@link HostConnection.PlayerNotificationsObserver} interface methods
+ * Start the chain calls to get whats playing
+ */
+ public void onPlay(org.xbmc.kore.jsonrpc.notification.Player.OnPlay notification) {
+ // Ignore this if Kodi is Leia or higher, as we'll be properly notified via OnAVStart
+ // See https://github.com/xbmc/Kore/issues/602 and https://github.com/xbmc/xbmc/pull/13726
+ // Note: OnPlay is still required for picture items.
+ if (connection.getHostInfo().isLeiaOrLater() &&
+ ! notification.data.item.type.contentEquals("picture") ) {
+ LogUtils.LOGD(TAG, "OnPlay notification ignored. Will wait for OnAVStart.");
+ return;
+ }
+ checkWhatsPlaying();
+ }
+
+ public void onResume(org.xbmc.kore.jsonrpc.notification.Player.OnResume notification) {
+ checkWhatsPlaying();
+ }
+
+ public void onPause(org.xbmc.kore.jsonrpc.notification.Player.OnPause notification) {
+ checkWhatsPlaying();
+ }
+
+ public void onSpeedChanged(org.xbmc.kore.jsonrpc.notification.Player.OnSpeedChanged notification) {
+ checkWhatsPlaying();
+ }
+
+ public void onSeek(org.xbmc.kore.jsonrpc.notification.Player.OnSeek notification) {
+ checkWhatsPlaying();
+ }
+
+ public void onStop(org.xbmc.kore.jsonrpc.notification.Player.OnStop notification) {
+ // We could directly notify that nothing is playing here, but in Kodi Leia everytime
+ // there's a playlist change, onStop is triggered, which caused the UI to display
+ // that nothing was being played. Checking what's playing prevents this.
+ checkWhatsPlaying();
+ }
+
+ public void onAVStart(org.xbmc.kore.jsonrpc.notification.Player.OnAVStart notification) {
+ checkWhatsPlaying();
+ }
+
+ public void onAVChange(org.xbmc.kore.jsonrpc.notification.Player.OnAVChange notification) {
+ // Just ignore this, as it is fired by Kodi very often, and we're only
+ // interested in play/resume/stop changes
+ }
+
+ /**
+ * The {@link HostConnection.SystemNotificationsObserver} interface methods
+ */
+ public void onQuit(System.OnQuit notification) {
+ // Copy list to prevent ConcurrentModificationExceptions
+ List allObservers = new ArrayList<>(playerEventsObservers);
+ for (final PlayerEventsObserver observer : allObservers) {
+ observer.onSystemQuit();
+ }
+ }
+
+ public void onRestart(System.OnRestart notification) {
+ // Copy list to prevent ConcurrentModificationExceptions
+ List allObservers = new ArrayList<>(playerEventsObservers);
+ for (final PlayerEventsObserver observer : allObservers) {
+ observer.onSystemQuit();
+ }
+ }
+
+ public void onSleep(System.OnSleep notification) {
+ // Copy list to prevent ConcurrentModificationExceptions
+ List allObservers = new ArrayList<>(playerEventsObservers);
+ for (final PlayerEventsObserver observer : allObservers) {
+ observer.onSystemQuit();
+ }
+ }
+
+ public void onInputRequested(Input.OnInputRequested notification) {
+ // Copy list to prevent ConcurrentModificationExceptions
+ List allObservers = new ArrayList<>(playerEventsObservers);
+ for (final PlayerEventsObserver observer : allObservers) {
+ observer.onInputRequested(notification.title, notification.type, notification.value);
+ }
+ }
+
+ @Override
+ public void onVolumeChanged(Application.OnVolumeChanged notification) {
+ hostState.volumeMuted = notification.muted;
+ hostState.volumeLevel = notification.volume;
+
+ for (ApplicationEventsObserver observer : applicationEventsObservers) {
+ observer.onApplicationVolumeChanged(notification.volume, notification.muted);
+ }
+ }
+
+ @Override
+ public void onPlaylistCleared(Playlist.OnClear notification) {
+ if (hostState.lastGetPlaylistResults != null)
+ hostState.lastGetPlaylistResults.clear();
+ else
+ hostState.lastGetPlaylistResults = new ArrayList<>();
+
+ for (PlaylistEventsObserver observer : playlistEventsObservers) {
+ observer.onPlaylistClear(notification.playlistId);
+ }
+ }
+
+ @Override
+ public void onPlaylistItemAdded(Playlist.OnAdd notification) {
+ checkPlaylist();
+ }
+
+ @Override
+ public void onPlaylistItemRemoved(Playlist.OnRemove notification) {
+ checkPlaylist();
+ }
+
+ private void startCheckerHandler() {
+ // Check if checkerHandler is already running, to prevent multiple runnables to be posted
+ // when multiple observers are registered.
+ if (checkerHandler.hasMessages(0))
+ return;
+
+ if (connection.getProtocol() == HostConnection.PROTOCOL_TCP) {
+ checkerHandler.post(tcpCheckerRunnable);
+ } else {
+ checkerHandler.post(httpCheckerRunnable);
+ }
+ }
+
+ private void getApplicationProperties() {
+ org.xbmc.kore.jsonrpc.method.Application.GetProperties getProperties =
+ new org.xbmc.kore.jsonrpc.method.Application.GetProperties(org.xbmc.kore.jsonrpc.method.Application.GetProperties.VOLUME,
+ org.xbmc.kore.jsonrpc.method.Application.GetProperties.MUTED);
+ getProperties.execute(connection, new ApiCallback() {
+ @Override
+ public void onSuccess(ApplicationType.PropertyValue result) {
+ hostState.volumeMuted = result.muted;
+ hostState.volumeLevel = result.volume;
+
+ for (ApplicationEventsObserver observer : applicationEventsObservers) {
+ observer.onApplicationVolumeChanged(result.volume, result.muted);
+ }
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ LogUtils.LOGD(TAG, "Could not get application properties");
+ notifyConnectionError(errorCode, description, playerEventsObservers);
+ }
+ }, checkerHandler);
+ }
+
+ private boolean isCheckingPlaylist = false;
+ private void checkPlaylist() {
+ if (isCheckingPlaylist)
+ return;
+
+ if (HostConnection.LOG_REQUESTS) LogUtils.LOGD(TAG, "Checking playlists");
+ isCheckingPlaylist = true;
+
+ new GetPlaylist().execute(connection, new ApiCallback>() {
+ @Override
+ public void onSuccess(ArrayList result) {
+ isCheckingPlaylist = false;
+
+ if (result.isEmpty()) {
+ callPlaylistsOnClear(hostState.lastGetPlaylistResults);
+ hostState.lastGetPlaylistResults = result;
+ return;
+ }
+
+ if (!(hostState.lastGetPlaylistResults != null &&
+ hostState.lastGetPlaylistResults.equals(result))) {
+ for (PlaylistEventsObserver observer : playlistEventsObservers) {
+ observer.onPlaylistsAvailable(result);
+ }
+ }
+
+ // Handle cleared playlists
+ if (hostState.lastGetPlaylistResults != null) {
+ for (GetPlaylist.GetPlaylistResult getPlaylistResult : result) {
+ for (int i = 0; i < hostState.lastGetPlaylistResults.size(); i++) {
+ if (getPlaylistResult.id == hostState.lastGetPlaylistResults.get(i).id) {
+ hostState.lastGetPlaylistResults.remove(i);
+ break;
+ }
+ }
+ }
+ callPlaylistsOnClear(hostState.lastGetPlaylistResults);
+ }
+ hostState.lastGetPlaylistResults = result;
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ isCheckingPlaylist = false;
+
+ for (PlaylistEventsObserver observer : playlistEventsObservers) {
+ observer.onPlaylistError(errorCode, description);
+ }
+ }
+ }, checkerHandler);
+ }
+
+ private void callPlaylistsOnClear(ArrayList clearedPlaylists) {
+ if (clearedPlaylists == null) return;
+ for (GetPlaylist.GetPlaylistResult getPlaylistResult : clearedPlaylists) {
+ for (PlaylistEventsObserver observer : playlistEventsObservers) {
+ observer.onPlaylistClear(getPlaylistResult.id);
+ }
+ }
+ }
+
+ /**
+ * Checks the connection status and notifies observers
+ */
+ private void checkConnectionStatus() {
+ if (HostConnection.LOG_REQUESTS) LogUtils.LOGD(TAG, "Checking connection status");
+ JSONRPC.Ping ping = new JSONRPC.Ping();
+ ping.execute(connection, new ApiCallback() {
+ @Override
+ public void onSuccess(String result) {
+ notifyConnectionStatusSucess(connectionStatusObservers);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ notifyConnectionStatusError(errorCode, description, connectionStatusObservers);
+ }
+ }, checkerHandler);
+ }
+
+ private void notifyConnectionStatusSucess(List observers) {
+ // Reply if different from last result
+ if (hostState.lastConnectionStatusResult != ConnectionStatusObserver.CONNECTION_SUCCESS) {
+ hostState.lastConnectionStatusResult = ConnectionStatusObserver.CONNECTION_SUCCESS;
+ for (final ConnectionStatusObserver observer : observers) {
+ observer.onConnectionStatusSuccess();
+ }
+ }
+ }
+
+ private void notifyConnectionStatusError(int errorCode, String description, List observers) {
+ // Reply if different from last result
+ if (hostState.lastConnectionStatusResult != ConnectionStatusObserver.CONNECTION_ERROR ||
+ hostState.lastConnectionStatusErrorCode != errorCode) {
+ hostState.lastConnectionStatusResult = ConnectionStatusObserver.CONNECTION_ERROR;
+ hostState.lastConnectionStatusErrorCode = errorCode;
+ hostState.lastConnectionStatusErrorDescription = description;
+ for (final ConnectionStatusObserver observer : observers) {
+ observer.onConnectionStatusError(errorCode, description);
+ }
+ }
+ }
+
+ /**
+ * Indicator set when we are calling Kodi to check what's playing, so that we don't call it
+ * while there are still pending calls
+ */
+ private boolean checkingWhatsPlaying = false;
+
+ /**
+ * Checks whats playing and notifies observers
+ */
+ private void checkWhatsPlaying() {
+ // We don't properly protect this against race conditions because it's
+ // not worth the trouble - we can safely call Kodi multiple times.
+ if (checkingWhatsPlaying) {
+ LogUtils.LOGD(TAG, "Already checking what's playing, returning");
+ return;
+ }
+ checkingWhatsPlaying = true;
+ if (HostConnection.LOG_REQUESTS) LogUtils.LOGD(TAG, "Checking what's playing");
+
+ // Start the calls: Player.GetActivePlayers -> Player.GetProperties -> Player.GetItem
+ chainCallGetActivePlayers();
+ }
+
+ /**
+ * Calls Player.GetActivePlayers
+ * On success chains execution to chainCallGetPlayerProperties
+ */
+ private void chainCallGetActivePlayers() {
+ Player.GetActivePlayers getActivePlayers = new Player.GetActivePlayers();
+ getActivePlayers.execute(connection, new ApiCallback>() {
+ @Override
+ public void onSuccess(ArrayList result) {
+ if (result.isEmpty()) {
+ if (HostConnection.LOG_REQUESTS) LogUtils.LOGD(TAG, "Nothing is playing");
+ notifyNothingIsPlaying(playerEventsObservers);
+ return;
+ }
+ chainCallGetPlayerProperties(result.get(0));
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ LogUtils.LOGD(TAG, "Notifying error");
+ notifyConnectionError(errorCode, description, playerEventsObservers);
+ }
+ }, checkerHandler);
+ }
+
+ /**
+ * Calls Player.GetProperties
+ * On success chains execution to chainCallGetItem
+ */
+ private void chainCallGetPlayerProperties(final PlayerType.GetActivePlayersReturnType getActivePlayersResult) {
+ String[] propertiesToGet = new String[] {
+ // Check is something more is needed
+ PlayerType.PropertyName.SPEED,
+ PlayerType.PropertyName.PERCENTAGE,
+ PlayerType.PropertyName.POSITION,
+ PlayerType.PropertyName.TIME,
+ PlayerType.PropertyName.TOTALTIME,
+ PlayerType.PropertyName.REPEAT,
+ PlayerType.PropertyName.SHUFFLED,
+ PlayerType.PropertyName.CURRENTAUDIOSTREAM,
+ PlayerType.PropertyName.CURRENTSUBTITLE,
+ PlayerType.PropertyName.AUDIOSTREAMS,
+ PlayerType.PropertyName.SUBTITLES,
+ PlayerType.PropertyName.PLAYLISTID,
+ PlayerType.PropertyName.SUBTITLEENABLED,
+ PlayerType.PropertyName.PARTYMODE,
+ };
+
+ Player.GetProperties getProperties = new Player.GetProperties(getActivePlayersResult.playerid, propertiesToGet);
+ getProperties.execute(connection, new ApiCallback() {
+ @Override
+ public void onSuccess(PlayerType.PropertyValue result) {
+ chainCallGetItem(getActivePlayersResult, result);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ notifyConnectionError(errorCode, description, playerEventsObservers);
+ }
+ }, checkerHandler);
+ }
+
+ /**
+ * Calls Player.GetItem
+ * On success notifies observers
+ */
+ private void chainCallGetItem(final PlayerType.GetActivePlayersReturnType getActivePlayersResult,
+ final PlayerType.PropertyValue getPropertiesResult) {
+// COMMENT, LYRICS, MUSICBRAINZTRACKID, MUSICBRAINZARTISTID, MUSICBRAINZALBUMID,
+// MUSICBRAINZALBUMARTISTID, TRAILER, ORIGINALTITLE, LASTPLAYED, MPAA, COUNTRY,
+// PRODUCTIONCODE, SET, SHOWLINK, FILE,
+// ARTISTID, ALBUMID, TVSHOW_ID, SETID, WATCHEDEPISODES, DISC, TAG, GENREID,
+// ALBUMARTISTID, DESCRIPTION, THEME, MOOD, STYLE, ALBUMLABEL, SORTTITLE, UNIQUEID,
+// DATEADDED, CHANNEL, CHANNELTYPE, HIDDEN, LOCKED, CHANNELNUMBER, STARTTIME, ENDTIME,
+// EPISODEGUIDE, ORIGINALTITLE, PLAYCOUNT, PLOTOUTLINE, SET,
+ String[] propertiesToGet = new String[] {
+ ListType.FieldsAll.ART,
+ ListType.FieldsAll.ARTIST,
+ ListType.FieldsAll.ALBUMARTIST,
+ ListType.FieldsAll.ALBUM,
+ ListType.FieldsAll.CAST,
+ ListType.FieldsAll.DIRECTOR,
+ ListType.FieldsAll.DISPLAYARTIST,
+ ListType.FieldsAll.DURATION,
+ ListType.FieldsAll.EPISODE,
+ ListType.FieldsAll.FANART,
+ ListType.FieldsAll.FILE,
+ ListType.FieldsAll.FIRSTAIRED,
+ ListType.FieldsAll.GENRE,
+ ListType.FieldsAll.IMDBNUMBER,
+ ListType.FieldsAll.PLOT,
+ ListType.FieldsAll.PREMIERED,
+ ListType.FieldsAll.RATING,
+ ListType.FieldsAll.RESUME,
+ ListType.FieldsAll.RUNTIME,
+ ListType.FieldsAll.SEASON,
+ ListType.FieldsAll.SHOWTITLE,
+ ListType.FieldsAll.STREAMDETAILS,
+ ListType.FieldsAll.STUDIO,
+ ListType.FieldsAll.TAGLINE,
+ ListType.FieldsAll.THUMBNAIL,
+ ListType.FieldsAll.TITLE,
+ ListType.FieldsAll.TOP250,
+ ListType.FieldsAll.TRACK,
+ ListType.FieldsAll.VOTES,
+ ListType.FieldsAll.WRITER,
+ ListType.FieldsAll.YEAR,
+ ListType.FieldsAll.DESCRIPTION,
+ };
+// propertiesToGet = ListType.FieldsAll.allValues;
+ Player.GetItem getItem = new Player.GetItem(getActivePlayersResult.playerid, propertiesToGet);
+ getItem.execute(connection, new ApiCallback() {
+ @Override
+ public void onSuccess(ListType.ItemsAll result) {
+ // Ok, now we got a result
+ notifySomethingIsPlaying(getActivePlayersResult, getPropertiesResult, result, playerEventsObservers);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ notifyConnectionError(errorCode, description, playerEventsObservers);
+ }
+ }, checkerHandler);
+ }
+
+ // Whether to force a reply or if the results are equal to the last one, don't reply
+ private boolean forceReply = false;
+
+ /**
+ * Notifies a list of observers of a connection error
+ * Only notifies them if the result is different from the last one
+ * @param errorCode Error code to report
+ * @param description Description to report
+ * @param observers List of observers
+ */
+ private void notifyConnectionError(final int errorCode, final String description, List observers) {
+ checkingWhatsPlaying = false;
+ // Reply if different from last result
+ if (forceReply ||
+ (hostState.lastPlayerEventsResult != PlayerEventsObserver.PLAYER_CONNECTION_ERROR) ||
+ (hostState.lastPlayerEventsErrorCode != errorCode)) {
+ hostState.lastPlayerEventsResult = PlayerEventsObserver.PLAYER_CONNECTION_ERROR;
+ hostState.lastPlayerEventsErrorCode = errorCode;
+ hostState.lastPlayerEventsErrorDescription = description;
+ forceReply = false;
+ // Copy list to prevent ConcurrentModificationExceptions
+ List allObservers = new ArrayList<>(observers);
+ for (final PlayerEventsObserver observer : allObservers) {
+ notifyConnectionError(errorCode, description, observer);
+ }
+ }
+ }
+
+ /**
+ * Notifies a specific observer of a connection error
+ * Always notifies the observer, and doesn't save results in last call
+ * @param errorCode Error code to report
+ * @param description Description to report
+ * @param observer Observers
+ */
+ private void notifyConnectionError(final int errorCode, final String description, PlayerEventsObserver observer) {
+ observer.onPlayerConnectionError(errorCode, description);
+ }
+
+ /**
+ * Nothing is playing, notify observers calling onPlayerStop
+ * Only notifies them if the result is different from the last one
+ * @param observers List of observers
+ */
+ private void notifyNothingIsPlaying(List observers) {
+ checkingWhatsPlaying = false;
+ // Reply if forced or different from last result
+ if (forceReply ||
+ (hostState.lastPlayerEventsResult != PlayerEventsObserver.PLAYER_IS_STOPPED)) {
+ hostState.lastPlayerEventsResult = PlayerEventsObserver.PLAYER_IS_STOPPED;
+ forceReply = false;
+ // Copy list to prevent ConcurrentModificationExceptions
+ List allObservers = new ArrayList<>(observers);
+ for (final PlayerEventsObserver observer : allObservers) {
+ notifyNothingIsPlaying(observer);
+ }
+ }
+ }
+
+ /**
+ * Notifies a specific observer
+ * Always notifies the observer, and doesn't save results in last call
+ * @param observer Observer
+ */
+ private void notifyNothingIsPlaying(PlayerEventsObserver observer) {
+ observer.onPlayerStop();
+ }
+
+ private boolean getPropertiesResultChanged(PlayerType.PropertyValue getPropertiesResult) {
+ return (hostState.lastGetPropertiesResult == null) ||
+ (hostState.lastGetPropertiesResult.speed != getPropertiesResult.speed) ||
+ (hostState.lastGetPropertiesResult.shuffled != getPropertiesResult.shuffled) ||
+ (!hostState.lastGetPropertiesResult.repeat.equals(getPropertiesResult.repeat));
+ }
+
+ private boolean getItemResultChanged(ListType.ItemsAll getItemResult) {
+ return (hostState.lastGetItemResult == null) ||
+ (hostState.lastGetItemResult.id != getItemResult.id) ||
+ ((hostState.lastGetItemResult.label != null &&
+ !hostState.lastGetItemResult.label.equals(getItemResult.label)));
+ }
+
+ /**
+ * Something is playing or paused, notify observers
+ * Only notifies them if the result is different from the last one
+ * @param getActivePlayersResult Previous call result
+ * @param getPropertiesResult Previous call result
+ * @param getItemResult Previous call result
+ * @param observers List of observers
+ */
+ private void notifySomethingIsPlaying(final PlayerType.GetActivePlayersReturnType getActivePlayersResult,
+ final PlayerType.PropertyValue getPropertiesResult,
+ final ListType.ItemsAll getItemResult,
+ List observers) {
+ checkingWhatsPlaying = false;
+ int currentCallResult = (getPropertiesResult.speed == 0) ?
+ PlayerEventsObserver.PLAYER_IS_PAUSED : PlayerEventsObserver.PLAYER_IS_PLAYING;
+
+ if (forceReply ||
+ (hostState.lastPlayerEventsResult != currentCallResult) ||
+ getPropertiesResultChanged(getPropertiesResult) ||
+ getItemResultChanged(getItemResult)) {
+ hostState.lastPlayerEventsResult = currentCallResult;
+ hostState.lastGetActivePlayerResult = getActivePlayersResult;
+ hostState.lastGetPropertiesResult = getPropertiesResult;
+ hostState.lastGetItemResult = getItemResult;
+ forceReply = false;
+ // Copy list to prevent ConcurrentModificationExceptions
+ List allObservers = new ArrayList<>(observers);
+
+ for (final PlayerEventsObserver observer : allObservers) {
+ notifySomethingIsPlaying(getActivePlayersResult, getPropertiesResult, getItemResult, observer);
+ }
+ }
+
+ // Workaround for when playing has started but time info isn't updated yet.
+ // See https://github.com/xbmc/Kore/issues/78#issuecomment-104148064
+ // If the playing time returned is 0sec, we'll schedule another check
+ // to give Kodi some time to report the correct playing time
+ if ((currentCallResult == PlayerEventsObserver.PLAYER_IS_PLAYING) &&
+ (connection.getProtocol() == HostConnection.PROTOCOL_TCP) &&
+ (getPropertiesResult.time.toSeconds() == 0)) {
+ LogUtils.LOGD(TAG, "Scheduling new call to check what's playing because time is 0.");
+ final int RECHECK_INTERVAL = 3000;
+ checkerHandler.postDelayed(() -> {
+ forceReply = true;
+ checkWhatsPlaying();
+ }, RECHECK_INTERVAL);
+ }
+ }
+
+ /**
+ * Something is playing or paused, notify a specific observer
+ * Always notifies the observer, and doesn't save results in last call
+ * @param getActivePlayersResult Previous call result
+ * @param getPropertiesResult Previous call result
+ * @param getItemResult Previous call result
+ * @param observer Specific observer
+ */
+ private void notifySomethingIsPlaying(final PlayerType.GetActivePlayersReturnType getActivePlayersResult,
+ final PlayerType.PropertyValue getPropertiesResult,
+ final ListType.ItemsAll getItemResult,
+ PlayerEventsObserver observer) {
+ if (getPropertiesResult.speed == 0) {
+ // Paused
+ observer.onPlayerPause(getActivePlayersResult, getPropertiesResult, getItemResult);
+ } else {
+ // Playing
+ observer.onPlayerPlay(getActivePlayersResult, getPropertiesResult, getItemResult);
+ }
+ }
+
+ /**
+ * Replies to the player observer with the last result we got.
+ * If we have no result, nothing will be called on the observer interface.
+ * @param observer Player observer to call with last result
+ */
+ private void replyWithLastResult(PlayerEventsObserver observer) {
+ switch (hostState.lastPlayerEventsResult) {
+ case PlayerEventsObserver.PLAYER_CONNECTION_ERROR:
+ notifyConnectionError(hostState.lastPlayerEventsErrorCode, hostState.lastPlayerEventsErrorDescription, observer);
+ break;
+ case PlayerEventsObserver.PLAYER_IS_STOPPED:
+ notifyNothingIsPlaying(observer);
+ break;
+ case PlayerEventsObserver.PLAYER_IS_PAUSED:
+ case PlayerEventsObserver.PLAYER_IS_PLAYING:
+ notifySomethingIsPlaying(hostState.lastGetActivePlayerResult, hostState.lastGetPropertiesResult, hostState.lastGetItemResult, observer);
+ break;
+ case PlayerEventsObserver.PLAYER_NO_RESULT:
+ observer.onPlayerNoResultsYet();
+ break;
+ }
+ }
+
+ /**
+ * Replies to the application observer with the last result we got.
+ * If we have no result, nothing will be called on the observer interface.
+ * @param observer Application observer to call with last result
+ */
+ private void replyWithLastResult(ApplicationEventsObserver observer) {
+ if (hostState.volumeLevel == -1) {
+ getApplicationProperties();
+ } else {
+ observer.onApplicationVolumeChanged(hostState.volumeLevel, hostState.volumeMuted);
+ }
+ }
+
+ /**
+ * Replies to the playlist observer with the last result we got.
+ * If we have no result, nothing will be called on the observer interface.
+ * @param observer Playlist observer to call with last result
+ */
+ private void replyWithLastResult(PlaylistEventsObserver observer) {
+ if (hostState.lastGetPlaylistResults != null && !hostState.lastGetPlaylistResults.isEmpty())
+ observer.onPlaylistsAvailable(hostState.lastGetPlaylistResults);
+ else
+ checkPlaylist();
+ }
+
+ /**
+ * Replies to the connection status observer with the last result we got.
+ * @param observer Connection Status observer to call with last result
+ */
+ private void replyWithLastResult(ConnectionStatusObserver observer) {
+ switch (hostState.lastConnectionStatusResult) {
+ case ConnectionStatusObserver.CONNECTION_ERROR:
+ observer.onConnectionStatusError(hostState.lastConnectionStatusErrorCode, hostState.lastConnectionStatusErrorDescription);
+ break;
+ case ConnectionStatusObserver.CONNECTION_SUCCESS:
+ observer.onConnectionStatusSuccess();
+ break;
+ case PlayerEventsObserver.PLAYER_NO_RESULT:
+ observer.onConnectionStatusNoResultsYet();
+ break;
+ }
+ }
+
+ /**
+ * Forces a refresh of the current cached results
+ */
+ public void refreshWhatsPlaying() {
+ LogUtils.LOGD(TAG, "Forcing a refresh of what's playing");
+ forceReply = true;
+ checkWhatsPlaying();
+ }
+
+ public void refreshPlaylists() {
+ LogUtils.LOGD(TAG, "Forcing a refresh of playlists");
+ checkPlaylist();
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/host/HostInfo.java b/app/src/main/java/org/xbmc/kore/host/HostInfo.java
new file mode 100644
index 0000000..4261109
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/host/HostInfo.java
@@ -0,0 +1,389 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.host;
+
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * XBMC Host information container.
+ */
+public class HostInfo {
+ private static final String TAG = LogUtils.makeLogTag(HostInfo.class);
+
+ private static final String JSON_RPC_ENDPOINT = "/jsonrpc";
+
+ /**
+ * Default HTTPS port
+ */
+ public static final int DEFAULT_HTTPS_PORT = 443;
+
+ /**
+ * Default HTTP port for XBMC (80 on Windows, 8080 on others)
+ */
+ public static final int DEFAULT_HTTP_PORT = 8080;
+
+ /**
+ * Default TCP port for XBMC
+ */
+ public static final int DEFAULT_TCP_PORT = 9090;
+
+ /**
+ * Default WoL port
+ */
+ public static final int DEFAULT_WOL_PORT = 9;
+
+ /**
+ * Default EventServer port for Kodi
+ */
+ public static final int DEFAULT_EVENT_SERVER_PORT = 9777;
+
+ public static final int KODI_V12_FRODO = 12;
+ public static final int KODI_V13_GOTHAM = 13;
+ public static final int KODI_V14_HELIX = 14;
+ public static final int KODI_V15_ISENGARD = 15;
+ public static final int KODI_V16_JARVIS = 16;
+ public static final int KODI_V17_KRYPTON = 17;
+ public static final int KODI_V18_LEIA = 18;
+ public static final int KODI_V19_MATRIX = 19;
+ public static final int KODI_V20_NEXUS = 20;
+
+ public static final int DEFAULT_KODI_VERSION_MAJOR = KODI_V16_JARVIS;
+ public static final int DEFAULT_KODI_VERSION_MINOR = 1;
+ public static final String DEFAULT_KODI_VERSION_REVISION = "Unknown";
+ public static final String DEFAULT_KODI_VERSION_TAG = "stable";
+
+ public static Map versionNames = new HashMap<>();
+ static {
+ versionNames.put(KODI_V12_FRODO, "Frodo");
+ versionNames.put(KODI_V13_GOTHAM, "Gotham");
+ versionNames.put(KODI_V14_HELIX, "Helix");
+ versionNames.put(KODI_V15_ISENGARD, "Isengard");
+ versionNames.put(KODI_V16_JARVIS, "Jarvis");
+ versionNames.put(KODI_V17_KRYPTON, "Kripton");
+ versionNames.put(KODI_V18_LEIA, "Leia");
+ versionNames.put(KODI_V19_MATRIX, "Matrix");
+ versionNames.put(KODI_V20_NEXUS, "Nexus");
+ }
+
+ /**
+ * Internal id of the host
+ */
+ private final int id;
+
+ /**
+ * Friendly name of the host
+ */
+ private final String name;
+
+ /**
+ * Connection information
+ */
+ private final String address;
+ private final int httpPort;
+ private final int tcpPort;
+ public final boolean isHttps;
+
+ private boolean useEventServer;
+ private final int eventServerPort;
+
+ /**
+ * Authentication information
+ */
+ private final String username;
+ private final String password;
+
+ /**
+ * Mac address and Wake On Lan port
+ */
+ private String macAddress;
+ private int wolPort;
+
+ /**
+ * Direct share target
+ */
+ private boolean showAsDirectShareTarget;
+
+ /**
+ * Prefered protocol to communicate with this host
+ */
+ private int protocol;
+
+
+ /**
+ * Kodi Version
+ */
+ private int kodiVersionMajor;
+ private int kodiVersionMinor;
+ private String kodiVersionRevision;
+ private String kodiVersionTag;
+
+ /**
+ * Last time updated (in millis)
+ */
+ private final long updated;
+
+ private final String auxImageHttpAddress;
+
+ /**
+ * Full constructor. This constructor should be used when instantiating from the database
+ *
+ * @param name Friendly name of the host
+ * @param id ID
+ * @param address URL
+ * @param protocol Protocol
+ * @param httpPort HTTP Port
+ * @param tcpPort TCP Port
+ * @param username Username for basic auth
+ * @param password Password for basic auth
+ */
+ public HostInfo(int id, String name, String address, int protocol, int httpPort, int tcpPort,
+ String username, String password, String macAddress, int wolPort, boolean showAsDirectShareTarget,
+ boolean useEventServer, int eventServerPort,
+ int kodiVersionMajor, int kodiVersionMinor, String kodiVersionRevision, String kodiVersionTag,
+ long updated, boolean isHttps) {
+ this.id = id;
+ this.name = name;
+ this.address = address;
+ if (!HostConnection.isValidProtocol(protocol)) {
+ throw new IllegalArgumentException("Invalid protocol specified.");
+ }
+ this.protocol = protocol;
+ this.httpPort = httpPort;
+ this.isHttps = isHttps;
+ this.tcpPort = tcpPort;
+ this.username = username;
+ this.password = password;
+ this.macAddress = macAddress;
+ this.wolPort = wolPort;
+ this.showAsDirectShareTarget = showAsDirectShareTarget;
+
+ this.useEventServer = useEventServer;
+ this.eventServerPort = eventServerPort;
+
+ this.kodiVersionMajor = kodiVersionMajor;
+ this.kodiVersionMinor = kodiVersionMinor;
+ this.kodiVersionRevision = kodiVersionRevision;
+ this.kodiVersionTag = kodiVersionTag;
+ this.updated = updated;
+
+ // For performance reasons
+ this.auxImageHttpAddress = getHttpURL() + "/image/";
+ }
+
+ /**
+ * Auxiliary constructor for HTTP protocol.
+ * This constructor should only be used to test connections. It doesn't represent an
+ * instance of the host in the database.
+ *
+ * @param name Friendly name of the host
+ * @param address URL
+ * @param httpPort HTTP Port
+ * @param username Username for basic auth
+ * @param password Password for basic auth
+ */
+ public HostInfo(String name, String address, int protocol, int httpPort,
+ int tcpPort, String username, String password,
+ boolean useEventServer, int eventServerPort, boolean isHttps,
+ boolean showAsDirectShareTarget) {
+ this(-1, name, address, protocol, httpPort, tcpPort, username,
+ password, null, DEFAULT_WOL_PORT, showAsDirectShareTarget, useEventServer,
+ eventServerPort, DEFAULT_KODI_VERSION_MAJOR, DEFAULT_KODI_VERSION_MINOR,
+ DEFAULT_KODI_VERSION_REVISION, DEFAULT_KODI_VERSION_TAG,
+ 0, isHttps);
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public int getHttpPort() {
+ return httpPort;
+ }
+
+ public int getTcpPort() {
+ return tcpPort;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public String getMacAddress() {
+ return macAddress;
+ }
+
+ public void setMacAddress(String macAddress) {
+ this.macAddress = macAddress;
+ }
+
+ public int getWolPort() {
+ return wolPort;
+ }
+
+ public void setWolPort(int wolPort) {
+ this.wolPort = wolPort;
+ }
+
+ public boolean getShowAsDirectShareTarget() {
+ return showAsDirectShareTarget;
+ }
+
+ public void setShowAsDirectShareTarget(boolean showAsDirectShareTarget) {
+ this.showAsDirectShareTarget = showAsDirectShareTarget;
+ }
+
+ public int getProtocol() {
+ return protocol;
+ }
+
+ public boolean getUseEventServer() {
+ return useEventServer;
+ }
+
+ public int getEventServerPort() {
+ return eventServerPort;
+ }
+
+ public int getKodiVersionMajor() {
+ return kodiVersionMajor;
+ }
+
+ public int getKodiVersionMinor() {
+ return kodiVersionMinor;
+ }
+
+ public String getKodiVersionRevision() {
+ return kodiVersionRevision;
+ }
+
+ public String getKodiVersionTag() {
+ return kodiVersionTag;
+ }
+
+ public String getKodiVersionDesc() {
+ if (versionNames.containsKey(kodiVersionMajor)) {
+ return String.format(Locale.getDefault(), "%s (%d.%d)", versionNames.get(kodiVersionMajor), kodiVersionMajor, kodiVersionMinor);
+ } else {
+ return String.format(Locale.getDefault(), "%d.%d", kodiVersionMajor, kodiVersionMinor);
+ }
+ }
+
+ public long getUpdated() {
+ return updated;
+ }
+
+ /**
+ * Overrides the protocol for this host info
+ * @param protocol Protocol
+ */
+ public void setProtocol(int protocol) {
+ if (!HostConnection.isValidProtocol(protocol)) {
+ throw new IllegalArgumentException("Invalid protocol specified.");
+ }
+ this.protocol = protocol;
+ }
+
+ /**
+ * Overrides the use of EventServer
+ * @param useEventServer Whether to use EventServer
+ */
+ public void setUseEventServer(boolean useEventServer) {
+ this.useEventServer = useEventServer;
+ }
+
+ public void setKodiVersionMajor(int kodiVersionMajor) {
+ this.kodiVersionMajor = kodiVersionMajor;
+ }
+
+ public void setKodiVersionMinor(int kodiVersionMinor) {
+ this.kodiVersionMinor = kodiVersionMinor;
+ }
+
+ public void setKodiVersionRevision(String kodiVersionRevision) {
+ this.kodiVersionRevision = kodiVersionRevision;
+ }
+
+ public void setKodiVersionTag(String kodiVersionTag) {
+ this.kodiVersionTag = kodiVersionTag;
+ }
+
+ public boolean isGothamOrLater() {
+ return kodiVersionMajor >= KODI_V13_GOTHAM;
+ }
+
+ public boolean isKryptonOrLater() {
+ return kodiVersionMajor >= KODI_V17_KRYPTON;
+ }
+
+ public boolean isLeiaOrLater() {
+ return kodiVersionMajor >= KODI_V18_LEIA;
+ }
+
+ /**
+ * Returns the URL of the host
+ * @return HTTP URL eg. http://192.168.1.1:8080
+ */
+ public String getHttpURL() {
+ String scheme = isHttps ? "https://" : "http://";
+ return scheme + address + ":" + httpPort;
+ }
+
+ /**
+ * Returns the JSON RPC endpoint URL of the host
+ * @return HTTP URL eg. http://192.168.1.1:8080/jsonrpc
+ */
+ public String getJsonRpcHttpEndpoint() {
+ return getHttpURL() + JSON_RPC_ENDPOINT;
+ }
+
+ /**
+ * Get the URL of an image, given the image identifier returned by XBMC
+ * @param image image identifier stored in XBMC
+ * @return URL on the XBMC host on which the image can be fetched
+ */
+ public String getImageUrl(String image) {
+ if (image == null) {
+ return null;
+ }
+
+ try {
+// return getHttpURL() + "/image/" + URLEncoder.encode(image, "UTF-8");
+ return auxImageHttpAddress + URLEncoder.encode(image, StandardCharsets.UTF_8.name());
+ } catch (UnsupportedEncodingException e) {
+ // Ignore for now...
+ return null;
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/host/HostManager.java b/app/src/main/java/org/xbmc/kore/host/HostManager.java
new file mode 100644
index 0000000..fb12c5d
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/host/HostManager.java
@@ -0,0 +1,524 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.host;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.text.format.DateUtils;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.pm.ShortcutInfoCompat;
+import androidx.core.content.pm.ShortcutManagerCompat;
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.preference.PreferenceManager;
+
+import com.squareup.picasso.OkHttp3Downloader;
+import com.squareup.picasso.Picasso;
+
+import org.xbmc.kore.R;
+import org.xbmc.kore.Settings;
+import org.xbmc.kore.ShareOpenActivity;
+import org.xbmc.kore.jsonrpc.ApiCallback;
+import org.xbmc.kore.jsonrpc.method.Application;
+import org.xbmc.kore.jsonrpc.type.ApplicationType;
+import org.xbmc.kore.provider.MediaContract;
+import org.xbmc.kore.utils.LogUtils;
+import org.xbmc.kore.utils.NetUtils;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.concurrent.TimeUnit;
+
+import okhttp3.Cache;
+import okhttp3.OkHttpClient;
+
+/**
+ * Manages XBMC Hosts
+ * Singleton that loads the list of registered hosts, keeps a
+ * {@link HostConnection} to the active host
+ * and allows for creation and removal of hosts
+ */
+public class HostManager {
+ private static final String TAG = LogUtils.makeLogTag(HostManager.class);
+
+ // Singleton instance
+ private static volatile HostManager instance = null;
+
+ private final Context context;
+
+ /**
+ * Arraylist that will hold all the hosts in the database
+ */
+ private ArrayList hosts = new ArrayList<>();
+
+ /**
+ * Current host
+ */
+ private HostInfo currentHostInfo = null;
+ /**
+ * Current host connection
+ */
+ private HostConnection currentHostConnection = null;
+
+ /**
+ * Picasso to download images from current XBMC
+ */
+ private Picasso currentPicasso = null;
+
+ /**
+ * Current connection observer
+ */
+ private HostConnectionObserver currentHostConnectionObserver = null;
+
+ /**
+ * Singleton constructor
+ * @param context Context (can pass Activity context, will get App Context)
+ */
+ protected HostManager(Context context) {
+ this.context = context.getApplicationContext();
+ }
+
+ /**
+ * Singleton access method
+ * @param context Android app context
+ * @return HostManager singleton
+ */
+ public static HostManager getInstance(@NonNull Context context) {
+ if (instance == null) {
+ synchronized (HostManager.class) {
+ if (instance == null) {
+ instance = new HostManager(context);
+ }
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * Returns the current host list
+ * @return Host list
+ */
+ public ArrayList getHosts() {
+ return getHosts(false);
+ }
+
+ /**
+ * Returns the current host list, maybe forcing a reload from the database
+ * @param forcedReload Whether to force a reload from the database
+ * @return Host list
+ */
+ public ArrayList getHosts(boolean forcedReload) {
+ if (forcedReload || (hosts.isEmpty())) {
+ hosts.clear();
+
+ Cursor cursor = context.getContentResolver()
+ .query(MediaContract.Hosts.CONTENT_URI,
+ MediaContract.Hosts.ALL_COLUMNS,
+ null, null, null);
+ if (cursor == null) return hosts;
+
+ if (cursor.getCount() > 0) {
+ while (cursor.moveToNext()) {
+ int idx = 0;
+ int id = cursor.getInt(idx++);
+ long updated = cursor.getLong(idx++);
+ String name = cursor.getString(idx++);
+ String address = cursor.getString(idx++);
+ int protocol = cursor.getInt(idx++);
+ int httpPort = cursor.getInt(idx++);
+ int tcpPort = cursor.getInt(idx++);
+ String username = cursor.getString(idx++);
+ String password = cursor.getString(idx++);
+ String macAddress = cursor.getString(idx++);
+ int wolPort = cursor.getInt(idx++);
+ boolean directShare = (cursor.getInt(idx++) != 0);
+ boolean useEventServer = (cursor.getInt(idx++) != 0);
+ int eventServerPort = cursor.getInt(idx++);
+
+ int kodiVersionMajor = cursor.getInt(idx++);
+ int kodiVersionMinor = cursor.getInt(idx++);
+ String kodiVersionRevision = cursor.getString(idx++);
+ String kodiVersionTag = cursor.getString(idx++);
+ boolean isHttps = (cursor.getInt(idx++) != 0);
+
+ hosts.add(new HostInfo(
+ id, name, address, protocol, httpPort, tcpPort,
+ username, password, macAddress, wolPort, directShare, useEventServer, eventServerPort,
+ kodiVersionMajor, kodiVersionMinor, kodiVersionRevision, kodiVersionTag,
+ updated, isHttps));
+ }
+ }
+ cursor.close();
+ }
+ return hosts;
+ }
+
+ /**
+ * Returns the current active host info
+ * @return Active host info
+ */
+ public HostInfo getHostInfo() {
+ if (currentHostInfo == null) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ int currentHostId = prefs.getInt(Settings.KEY_PREF_CURRENT_HOST_ID, Settings.DEFAULT_PREF_CURRENT_HOST_ID);
+
+ ArrayList hosts = getHosts();
+
+ // No host selected. Check if there are hosts configured and default to the first one
+ if (currentHostId == -1) {
+ if (!hosts.isEmpty()) {
+ currentHostInfo = hosts.get(0);
+ currentHostId = currentHostInfo.getId();
+ prefs.edit()
+ .putInt(Settings.KEY_PREF_CURRENT_HOST_ID, currentHostId)
+ .apply();
+ }
+ } else {
+ for (HostInfo host : hosts) {
+ if (host.getId() == currentHostId) {
+ currentHostInfo = host;
+ break;
+ }
+ }
+ }
+ }
+ return currentHostInfo;
+ }
+
+ /**
+ * Returns the current active host connection
+ * @return Active host connection
+ */
+ public HostConnection getConnection() {
+ if (currentHostConnection == null) {
+ synchronized (this) {
+ if (currentHostConnection == null) {
+ currentHostInfo = getHostInfo();
+
+ if (currentHostInfo != null) {
+ currentHostConnection = new HostConnection(currentHostInfo);
+ }
+ }
+ }
+ }
+ return currentHostConnection;
+ }
+
+ /**
+ * Returns the current host {@link Picasso} image downloader
+ * @return {@link Picasso} instance suitable to download images from the current xbmc
+ */
+ public Picasso getPicasso() {
+ if (currentPicasso == null) {
+ currentHostInfo = getHostInfo();
+ if (currentHostInfo != null) {
+// currentPicasso = new Picasso.Builder(context)
+// .downloader(new BasicAuthUrlConnectionDownloader(context,
+// currentHostInfo.getUsername(), currentHostInfo.getPassword()))
+// .indicatorsEnabled(BuildConfig.DEBUG)
+// .build();
+
+ // Create the okHttpCliente, with default timeout, authentication and cache
+ File cacheDir = NetUtils.createDefaultCacheDir(context);
+ long cacheSize = NetUtils.calculateDiskCacheSize(cacheDir);
+ OkHttpClient picassoClient = new OkHttpClient.Builder()
+ .connectTimeout(getConnection().getConnectTimeout(), TimeUnit.MILLISECONDS)
+ .authenticator(getConnection().getOkHttpAuthenticator())
+ .cache(new Cache(cacheDir, cacheSize))
+ .build();
+
+ currentPicasso = new Picasso.Builder(context)
+ .downloader(new OkHttp3Downloader(picassoClient))
+// .indicatorsEnabled(BuildConfig.DEBUG)
+ .build();
+ }
+ }
+
+ return currentPicasso;
+ }
+
+ /**
+ * Returns the current {@link HostConnectionObserver} for the current connection
+ * @return The {@link HostConnectionObserver} for the current connection
+ */
+ public HostConnectionObserver getHostConnectionObserver() {
+ if (currentHostConnectionObserver == null) {
+ currentHostConnection = getConnection();
+ if (currentHostConnection != null) {
+ currentHostConnectionObserver = new HostConnectionObserver(currentHostConnection);
+ }
+ }
+ return currentHostConnectionObserver;
+ }
+
+ /**
+ * Sets the current host.
+ * @param hostInfo Host info
+ */
+ public void switchHost(HostInfo hostInfo) {
+ releaseCurrentHost();
+
+ currentHostInfo = hostInfo;
+ if (currentHostInfo != null) {
+ PreferenceManager.getDefaultSharedPreferences(context)
+ .edit()
+ .putInt(Settings.KEY_PREF_CURRENT_HOST_ID, currentHostInfo.getId())
+ .apply();
+
+ // Switched host, update dynamic shortcuts to only include the others
+ updateDynamicShortcuts();
+ }
+ }
+
+ /**
+ * Add all kodi hosts, except the current one, to the dynamic shortcuts list
+ * The current one is always accessible via the default intent filters
+ */
+ private void updateDynamicShortcuts() {
+ ShortcutManagerCompat.removeAllDynamicShortcuts(context);
+
+ ArrayList hosts = getHosts();
+ for (HostInfo host : hosts) {
+ if (host.getId() != currentHostInfo.getId() &&
+ host.getShowAsDirectShareTarget()) {
+ String id = Integer.toString(host.getId());
+ Intent defaultOpenIntent = new Intent(ShareOpenActivity.DEFAULT_OPEN_ACTION)
+ .setClass(context, ShareOpenActivity.class)
+ .addCategory(ShareOpenActivity.SHARE_TARGET_CATEGORY)
+ .putExtra(ShortcutManagerCompat.EXTRA_SHORTCUT_ID, id);
+ ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(context, id)
+ .setShortLabel(host.getName())
+ .setLongLabel(host.getName())
+ .setIcon(IconCompat.createWithResource(context, R.mipmap.ic_launcher))
+ .setCategories(Collections.singleton(ShareOpenActivity.SHARE_TARGET_CATEGORY))
+ .setIntent(defaultOpenIntent)
+ .build();
+ ShortcutManagerCompat.pushDynamicShortcut(context, shortcut);
+ }
+ }
+ }
+
+ /**
+ * Adds a new XBMC host to the database
+ * @param hostInfo Host to add
+ * @return Newly created {@link org.xbmc.kore.host.HostInfo}
+ */
+ public HostInfo addHost(HostInfo hostInfo) {
+ return addHost(hostInfo.getName(), hostInfo.getAddress(), hostInfo.getProtocol(),
+ hostInfo.getHttpPort(), hostInfo.getTcpPort(),
+ hostInfo.getUsername(), hostInfo.getPassword(),
+ hostInfo.getMacAddress(), hostInfo.getWolPort(),
+ hostInfo.getShowAsDirectShareTarget(), hostInfo.getUseEventServer(),
+ hostInfo.getEventServerPort(), hostInfo.getKodiVersionMajor(),
+ hostInfo.getKodiVersionMinor(), hostInfo.getKodiVersionRevision(),
+ hostInfo.getKodiVersionTag(), hostInfo.isHttps);
+ }
+
+ /**
+ * Adds a new XBMC host to the database
+ * @param name Name of this instance
+ * @param address Hostname or IP Address
+ * @param protocol Protocol to use
+ * @param httpPort HTTP port
+ * @param tcpPort TCP port
+ * @param username Username for HTTP
+ * @param password Password for HTTP
+ * @return Newly created {@link org.xbmc.kore.host.HostInfo}
+ */
+ public HostInfo addHost(String name, String address, int protocol, int httpPort, int tcpPort,
+ String username, String password, String macAddress, int wolPort, boolean directShare,
+ boolean useEventServer, int eventServerPort,
+ int kodiVersionMajor, int kodiVersionMinor, String kodiVersionRevision, String kodiVersionTag,
+ boolean isHttps) {
+
+ ContentValues values = new ContentValues();
+ values.put(MediaContract.HostsColumns.NAME, name);
+ values.put(MediaContract.HostsColumns.ADDRESS, address);
+ values.put(MediaContract.HostsColumns.PROTOCOL, protocol);
+ values.put(MediaContract.HostsColumns.HTTP_PORT, httpPort);
+ values.put(MediaContract.HostsColumns.TCP_PORT, tcpPort);
+ values.put(MediaContract.HostsColumns.USERNAME, username);
+ values.put(MediaContract.HostsColumns.PASSWORD, password);
+ values.put(MediaContract.HostsColumns.MAC_ADDRESS, macAddress);
+ values.put(MediaContract.HostsColumns.WOL_PORT, wolPort);
+ values.put(MediaContract.HostsColumns.DIRECT_SHARE, directShare);
+ values.put(MediaContract.HostsColumns.USE_EVENT_SERVER, useEventServer);
+ values.put(MediaContract.HostsColumns.EVENT_SERVER_PORT, eventServerPort);
+ values.put(MediaContract.HostsColumns.KODI_VERSION_MAJOR, kodiVersionMajor);
+ values.put(MediaContract.HostsColumns.KODI_VERSION_MINOR, kodiVersionMinor);
+ values.put(MediaContract.HostsColumns.KODI_VERSION_REVISION, kodiVersionRevision);
+ values.put(MediaContract.HostsColumns.KODI_VERSION_TAG, kodiVersionTag);
+ values.put(MediaContract.HostsColumns.IS_HTTPS, isHttps);
+
+ Uri newUri = context.getContentResolver()
+ .insert(MediaContract.Hosts.CONTENT_URI, values);
+ long newId = Long.parseLong(MediaContract.Hosts.getHostId(newUri));
+
+ // Refresh the list and return the created host
+ hosts = getHosts(true);
+ HostInfo newHost = null;
+ for (HostInfo host : hosts) {
+ if (host.getId() == newId) {
+ newHost = host;
+ break;
+ }
+ }
+ return newHost;
+ }
+
+ /**
+ * Edits a host on the database
+ * @param hostId Id of the host to edit
+ * @param newHostInfo New values to update
+ * @return New {@link HostInfo} object
+ */
+ public HostInfo editHost(int hostId, HostInfo newHostInfo) {
+ ContentValues values = new ContentValues();
+ values.put(MediaContract.HostsColumns.NAME, newHostInfo.getName());
+ values.put(MediaContract.HostsColumns.ADDRESS, newHostInfo.getAddress());
+ values.put(MediaContract.HostsColumns.PROTOCOL, newHostInfo.getProtocol());
+ values.put(MediaContract.HostsColumns.HTTP_PORT, newHostInfo.getHttpPort());
+ values.put(MediaContract.HostsColumns.TCP_PORT, newHostInfo.getTcpPort());
+ values.put(MediaContract.HostsColumns.USERNAME, newHostInfo.getUsername());
+ values.put(MediaContract.HostsColumns.PASSWORD, newHostInfo.getPassword());
+ values.put(MediaContract.HostsColumns.MAC_ADDRESS, newHostInfo.getMacAddress());
+ values.put(MediaContract.HostsColumns.WOL_PORT, newHostInfo.getWolPort());
+ values.put(MediaContract.HostsColumns.DIRECT_SHARE, newHostInfo.getShowAsDirectShareTarget());
+ values.put(MediaContract.HostsColumns.USE_EVENT_SERVER, newHostInfo.getUseEventServer());
+ values.put(MediaContract.HostsColumns.EVENT_SERVER_PORT, newHostInfo.getEventServerPort());
+ values.put(MediaContract.HostsColumns.KODI_VERSION_MAJOR, newHostInfo.getKodiVersionMajor());
+ values.put(MediaContract.HostsColumns.KODI_VERSION_MINOR, newHostInfo.getKodiVersionMinor());
+ values.put(MediaContract.HostsColumns.KODI_VERSION_REVISION, newHostInfo.getKodiVersionRevision());
+ values.put(MediaContract.HostsColumns.KODI_VERSION_TAG, newHostInfo.getKodiVersionTag());
+ values.put(MediaContract.HostsColumns.IS_HTTPS, newHostInfo.isHttps);
+
+ context.getContentResolver()
+ .update(MediaContract.Hosts.buildHostUri(hostId), values, null, null);
+
+ // Refresh the list and return the created host
+ hosts = getHosts(true);
+ HostInfo newHost = null;
+ for (HostInfo host : hosts) {
+ if (host.getId() == hostId) {
+ newHost = host;
+ break;
+ }
+ }
+ return newHost;
+ }
+
+ /**
+ * Deletes a host from the database.
+ * If the delete host is the current one, we will try too change the current one to another
+ * or set it to null if there's no other
+ * @param hostId Id of the host to delete
+ */
+ public void deleteHost(final int hostId) {
+ // Async call delete. The triggers to delete all host information can take some time
+ new Thread(() -> context.getContentResolver()
+ .delete(MediaContract.Hosts.buildHostUri(hostId), null, null)).start();
+
+ // Refresh information
+ int index = -1;
+ for (int i = 0; i < hosts.size(); i++) {
+ if (hosts.get(i).getId() == hostId) {
+ index = i;
+ break;
+ }
+ }
+ if (index != -1)
+ hosts.remove(index);
+ // If we just deleted the current connection, switch to another
+ if ((currentHostInfo != null) && (currentHostInfo.getId() == hostId)) {
+ releaseCurrentHost();
+ if (!hosts.isEmpty())
+ switchHost(hosts.get(0));
+ }
+ }
+
+ /**
+ * Releases all state related to the current connection
+ */
+ private void releaseCurrentHost() {
+ if (currentHostConnectionObserver != null) {
+ currentHostConnectionObserver.stopObserving();
+ currentHostConnectionObserver = null;
+ }
+
+ if (currentHostConnection != null) {
+ currentHostConnection.disconnect();
+ currentHostConnection = null;
+ }
+
+ if (currentPicasso != null) {
+ // Calling shutdown here causes a picasso error:
+ // Handler (com.squareup.picasso.Stats$StatsHandler) {41b13d40} sending message to a Handler on a dead thread
+ // Check: https://github.com/square/picasso/issues/445
+ // So, for now, just let it be...
+// currentPicasso.shutdown();
+ currentPicasso = null;
+ }
+ }
+
+ // Check Kodi's version every 2 hours
+ private final static long KODI_VERSION_CHECK_INTERVAL_MILLIS = 2 * DateUtils.HOUR_IN_MILLIS;
+
+ /**
+ * Periodic checks Kodi's version and updates the DB to reflect that.
+ * This should be called somewhere that gets executed periodically
+ *
+ */
+ public void checkAndUpdateKodiVersion() {
+ if (currentHostInfo == null) {
+ currentHostInfo = getHostInfo();
+ if (currentHostInfo == null) return;
+ }
+
+ if (currentHostInfo.getUpdated() + KODI_VERSION_CHECK_INTERVAL_MILLIS < java.lang.System.currentTimeMillis()) {
+ LogUtils.LOGD(TAG, "Checking Kodi version...");
+ final int checkHostId = currentHostInfo.getId();
+ final Application.GetProperties getProperties = new Application.GetProperties(Application.GetProperties.VERSION);
+ getProperties.execute(getConnection(), new ApiCallback() {
+ @Override
+ public void onSuccess(ApplicationType.PropertyValue result) {
+ // Simple check to see if we didn't switched host in the meantime.
+ // Given that this and all calls to switchHost are run on the UI thread, there's no need for more
+ if (checkHostId != currentHostInfo.getId()) return;
+ LogUtils.LOGD(TAG, "Successfully checked Kodi version.");
+ currentHostInfo.setKodiVersionMajor(result.version.major);
+ currentHostInfo.setKodiVersionMinor(result.version.minor);
+ currentHostInfo.setKodiVersionRevision(result.version.revision);
+ currentHostInfo.setKodiVersionTag(result.version.tag);
+
+ currentHostInfo = editHost(currentHostInfo.getId(), currentHostInfo);
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ // Couldn't get Kodi version... Ignore
+ LogUtils.LOGD(TAG, "Couldn't get Kodi version. Error: " + description);
+ }
+ }, new Handler(Looper.getMainLooper()));
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/host/actions/GetPlaylist.java b/app/src/main/java/org/xbmc/kore/host/actions/GetPlaylist.java
new file mode 100644
index 0000000..6e9e1a4
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/host/actions/GetPlaylist.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2018 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.host.actions;
+
+
+import androidx.annotation.Nullable;
+
+import org.xbmc.kore.host.HostCompositeAction;
+import org.xbmc.kore.host.HostConnection;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.method.Playlist;
+import org.xbmc.kore.jsonrpc.type.ListType;
+import org.xbmc.kore.jsonrpc.type.PlaylistType;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+
+/**
+ * Retrieves the playlist items for the first non-empty playlist or null if no playlists are available.
+ */
+public class GetPlaylist extends HostCompositeAction> {
+ private static final String TAG = LogUtils.makeLogTag(GetPlaylist.class);
+
+ private final static String[] propertiesToGet = new String[] {
+ ListType.FieldsAll.ART,
+ ListType.FieldsAll.ARTIST,
+ ListType.FieldsAll.ALBUMARTIST,
+ ListType.FieldsAll.ALBUM,
+ ListType.FieldsAll.DISPLAYARTIST,
+ ListType.FieldsAll.EPISODE,
+ ListType.FieldsAll.FANART,
+ ListType.FieldsAll.FILE,
+ ListType.FieldsAll.SEASON,
+ ListType.FieldsAll.SHOWTITLE,
+ ListType.FieldsAll.STUDIO,
+ ListType.FieldsAll.TAGLINE,
+ ListType.FieldsAll.THUMBNAIL,
+ ListType.FieldsAll.TITLE,
+ ListType.FieldsAll.TRACK,
+ ListType.FieldsAll.DURATION,
+ ListType.FieldsAll.RUNTIME,
+ };
+
+ static private HashMap playlistsTypesAndIds;
+ private String playlistType;
+ private int playlistId = -1;
+
+ /**
+ * Use this to get the first non-empty playlist
+ */
+ public GetPlaylist() {}
+
+ /**
+ * Use this to get a playlist for a specific playlist type
+ * @param playlistType should be one of the types from {@link org.xbmc.kore.jsonrpc.type.PlaylistType.GetPlaylistsReturnType}.
+ * If null the first non-empty playlist is returned.
+ */
+ public GetPlaylist(String playlistType) {
+ this.playlistType = playlistType;
+ }
+
+ /**
+ * Use this to get a playlist for a specific playlist id
+ * @param playlistId Kodi's playlist id
+ */
+ public GetPlaylist(int playlistId) {
+ this.playlistId = playlistId;
+ }
+
+ @Override
+ public ArrayList execInBackground() throws ExecutionException, InterruptedException {
+ if (playlistsTypesAndIds == null)
+ playlistsTypesAndIds = getPlaylists(hostConnection);
+
+ if (playlistType != null) {
+ GetPlaylistResult getPlaylistResult = retrievePlaylistItemsForType(playlistType);
+ ArrayList playlists = new ArrayList<>();
+ playlists.add(getPlaylistResult);
+ return playlists;
+ } else if (playlistId > -1 ) {
+ GetPlaylistResult getPlaylistResult = retrievePlaylistItemsForId(playlistId);
+ ArrayList playlists = new ArrayList<>();
+ playlists.add(getPlaylistResult);
+ return playlists;
+ } else
+ return retrieveNonEmptyPlaylists();
+ }
+
+ private GetPlaylistResult retrievePlaylistItemsForId(int playlistId)
+ throws InterruptedException, ExecutionException {
+ List playlistItems = retrievePlaylistItems(hostConnection, playlistId);
+ return new GetPlaylistResult(playlistId, getPlaylistType(playlistId), playlistItems);
+ }
+
+ private GetPlaylistResult retrievePlaylistItemsForType(String type)
+ throws InterruptedException, ExecutionException {
+ Integer id = playlistsTypesAndIds.get(type);
+ if (id == null) id = -1;
+ List playlistItems = retrievePlaylistItems(hostConnection, id);
+ return new GetPlaylistResult(id, type, playlistItems);
+ }
+
+ private ArrayList retrieveNonEmptyPlaylists()
+ throws InterruptedException, ExecutionException {
+ ArrayList playlists = new ArrayList<>();
+
+ for (String type : playlistsTypesAndIds.keySet()) {
+ Integer id = playlistsTypesAndIds.get(type);
+ if (id == null) id = -1;
+ List playlistItems = retrievePlaylistItems(hostConnection, id);
+ if (!playlistItems.isEmpty())
+ playlists.add(new GetPlaylistResult(id, type, playlistItems));
+ }
+ return playlists;
+ }
+
+ private HashMap getPlaylists(HostConnection hostConnection)
+ throws ExecutionException, InterruptedException {
+ HashMap playlistsHashMap = new HashMap<>();
+ ArrayList playlistsReturnTypes = hostConnection.execute(new Playlist.GetPlaylists()).get();
+ for (PlaylistType.GetPlaylistsReturnType type : playlistsReturnTypes) {
+ playlistsHashMap.put(type.type, type.playlistid);
+ }
+ return playlistsHashMap;
+ }
+
+ private List retrievePlaylistItems(HostConnection hostConnection, int playlistId)
+ throws InterruptedException, ExecutionException {
+ ApiMethod> apiMethod = new Playlist.GetItems(playlistId, propertiesToGet);
+ return hostConnection.execute(apiMethod).get();
+ }
+
+ private String getPlaylistType(int playlistId) {
+ for (String key : playlistsTypesAndIds.keySet()) {
+ Integer id = playlistsTypesAndIds.get(key);
+ if (id != null && id == playlistId)
+ return key;
+ }
+ return null;
+ }
+
+ public static class GetPlaylistResult {
+ final public String type;
+ final public int id;
+ final public List items;
+
+ private GetPlaylistResult(int playlistId, String type, List items) {
+ this.id = playlistId;
+ this.type = type;
+ this.items = items;
+ }
+
+ @Override
+ public boolean equals(@Nullable Object obj) {
+ return obj instanceof GetPlaylistResult &&
+ this.items.equals(((GetPlaylistResult) obj).items);
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/host/actions/OpenSharedUrl.java b/app/src/main/java/org/xbmc/kore/host/actions/OpenSharedUrl.java
new file mode 100644
index 0000000..9f6e256
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/host/actions/OpenSharedUrl.java
@@ -0,0 +1,110 @@
+package org.xbmc.kore.host.actions;
+
+/*
+ * This file is a part of the Kore project.
+ */
+
+import android.content.Context;
+
+import org.xbmc.kore.R;
+import org.xbmc.kore.host.HostCompositeAction;
+import org.xbmc.kore.host.HostConnection;
+import org.xbmc.kore.jsonrpc.method.Player;
+import org.xbmc.kore.jsonrpc.method.Playlist;
+import org.xbmc.kore.jsonrpc.type.PlayerType;
+import org.xbmc.kore.jsonrpc.type.PlaylistType;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+
+/**
+ * Opens or queues a video URL on Kodi.
+ */
+public class OpenSharedUrl extends HostCompositeAction {
+ private static final String TAG = LogUtils.makeLogTag(OpenSharedUrl.class);
+
+ private final Context context;
+ private final String url;
+ private final String notificationTitle;
+ private final String notificationText;
+ private final boolean queue;
+ private final int playlistType;
+
+ /**
+ * Creates the composite action
+ * @param context Context
+ * @param url The url to play
+ * @param notificationTitle The title of the notification to be shown when the host is currently playing a video
+ * @param notificationText The notification to be shown when the host is currently playing a video
+ * @param queue Whether to open or queue the item
+ * @param playlistType Playlist type to queue to
+ */
+ public OpenSharedUrl(Context context, String url, String notificationTitle, String notificationText, boolean queue, int playlistType) {
+ this.context = context;
+ this.url = url;
+ this.notificationTitle = notificationTitle;
+ this.notificationText = notificationText;
+ this.queue = queue;
+ this.playlistType = playlistType;
+ }
+
+ /**
+ * @return whether the host is currently playing a video. If so, the shared url
+ * is added to the playlist and not played immediately.
+ * @throws Error when any of the commands sent fails
+ * @throws InterruptedException when {@code cancel(true)} is called on the resulting
+ * future while waiting on one of the internal futures.
+ */
+ @Override
+ public Boolean execInBackground() throws ExecutionException, InterruptedException {
+ int stage = R.string.error_get_active_player;
+ try {
+ List players =
+ hostConnection.execute(new Player.GetActivePlayers())
+ .get();
+ boolean mediaIsPlaying = false;
+ for (PlayerType.GetActivePlayersReturnType player : players) {
+ if (player.type.equals(PlayerType.GetActivePlayersReturnType.VIDEO)) {
+ mediaIsPlaying = true;
+ break;
+ }
+ }
+
+ stage = R.string.error_queue_media_file;
+ if (!mediaIsPlaying) {
+ LogUtils.LOGD(TAG, "Clearing playlist number " + playlistType);
+ hostConnection.execute(new Playlist.Clear(playlistType))
+ .get();
+ }
+
+ PlaylistType.Item item = new PlaylistType.Item();
+ item.file = url;
+ if (queue) {
+ // Queue media file to playlist:
+ LogUtils.LOGD(TAG, "Queueing file");
+ hostConnection.execute(new Playlist.Add(playlistType, item))
+ .get();
+
+ if (!mediaIsPlaying) {
+ stage = R.string.error_play_media_file;
+ hostConnection.execute(new Player.Open(Player.Open.TYPE_PLAYLIST, playlistType))
+ .get();
+ } else {
+ // no get() to ignore the exception that will be thrown by OkHttp
+ hostConnection.execute(new Player.Notification(notificationTitle, notificationText));
+ }
+ } else {
+ // Don't queue, just play the media file directly:
+ stage = R.string.error_play_media_file;
+ hostConnection.execute(new Player.Open(item))
+ .get();
+ }
+
+ return mediaIsPlaying;
+ } catch (ExecutionException e) {
+ throw new ExecutionException(context.getString(stage, e.getMessage()), e.getCause());
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/ApiCallback.java b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiCallback.java
new file mode 100644
index 0000000..b66aae3
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiCallback.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc;
+
+import org.xbmc.kore.host.HostConnection;
+
+/**
+ * Callback from a JSON RPC method execution.
+ * When executing a method in JSON RPC, through
+ * {@link HostConnection#execute(ApiMethod, ApiCallback, android.os.Handler)},
+ * an object implementing this interface should be provided, to call after receiving the response
+ * from XBMC. Depending on the response {@link ApiCallback#onSuccess(Object)} or {@link
+ * ApiCallback#onError(int, String)} will be called.
+ * * @param Result type
+ */
+public interface ApiCallback {
+
+ /**
+ * Callback that will be called after a sucessfull reponse from the XBMC JSON RPC method
+ * @param result The result that was obtained and sucessfully parsed from XBMC
+ */
+ void onSuccess(T result);
+
+ /**
+ * Calllback that will be called when an error occurs executing the method on XBMC.
+ * This can be a general error (like a connection error), or an error reported by XBMC (like
+ * an incorrect call)
+ * @param errorCode Error code. Check {@link ApiException} for detailed error codes
+ * @param description Error description
+ */
+ void onError(int errorCode, String description);
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/ApiException.java b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiException.java
new file mode 100644
index 0000000..40e878b
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiException.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Exception class for errors on JSON API.
+ * Some communication exceptions are catched and casted to this type.
+ * Response error from the JSON API are also returned as an instance of this exception.
+ */
+public class ApiException extends Exception {
+
+ /**
+ * We got an invalid JSON response
+ */
+ public static final int INVALID_JSON_RESPONSE_FROM_HOST = 0;
+
+ /**
+ * IO Exception while connecting
+ */
+ public static final int IO_EXCEPTION_WHILE_CONNECTING = 1;
+
+ /**
+ * IO Exception while sending
+ */
+ public static final int IO_EXCEPTION_WHILE_SENDING_REQUEST = 2;
+
+ /**
+ * IO Exception while sending
+ */
+ public static final int IO_EXCEPTION_WHILE_READING_RESPONSE = 3;
+
+ /**
+ * HTTP response code unknown/unhandled
+ */
+ public static final int HTTP_RESPONSE_CODE_UNKNOWN = 4;
+
+ /**
+ * HTTP response code unknown/unhandled
+ */
+ public static final int HTTP_RESPONSE_CODE_UNAUTHORIZED = 5;
+
+ /**
+ * HTTP response code unknown/unhandled
+ */
+ public static final int HTTP_RESPONSE_CODE_NOT_FOUND = 6;
+
+ /**
+ *
+ */
+ public static final int HTTP_HOST_URL_INVALID = 7;
+
+ /**
+ * API returned an error
+ */
+ public static int API_ERROR = 100;
+
+ /**
+ * Attempted to send a method while not connected to host
+ */
+ public static int API_NO_CONNECTION = 101;
+
+ /**
+ * Attempted to execute a method with the same id of another already running
+ */
+ public static int API_METHOD_WITH_SAME_ID_ALREADY_EXECUTING = 102;
+
+ public static int API_WAITING_ON_RESULT_TIMEDOUT = 103;
+
+ public static int API_WAITING_ON_RESULT_INTERRUPTED = 104;
+
+ private final int code;
+
+ /**
+ * Constructor
+ * @param code Exception code
+ * @param message Message
+ */
+ public ApiException(int code, String message) {
+ super(message);
+ this.code = code;
+ }
+
+ /**
+ * Construct exception from other exception
+ * @param code Exception code
+ * @param originalException Original exception
+ */
+ public ApiException(int code, Exception originalException) {
+ super(originalException);
+ this.code = code;
+ }
+
+ /**
+ * Construct exception from JSON response
+ * @param code Exception code
+ * @param jsonResponse Json response, with an Error node
+ */
+ public ApiException(int code, ObjectNode jsonResponse) {
+ super((jsonResponse.get(ApiMethod.ERROR_NODE) != null) ?
+ JsonUtils.stringFromJsonNode(jsonResponse.get(ApiMethod.ERROR_NODE), "message") :
+ "No message returned");
+ this.code = code;
+ }
+
+ /**
+ * Internal code of the exception
+ * @return Code of the exception
+ */
+ public int getCode() {
+ return code;
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/ApiFuture.java b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiFuture.java
new file mode 100644
index 0000000..b69587c
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiFuture.java
@@ -0,0 +1,111 @@
+package org.xbmc.kore.jsonrpc;
+
+import androidx.annotation.NonNull;
+
+import java.util.concurrent.CancellationException;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
+/**
+ * A Java future implementation, with explicit methods to complete the Future
+ *
+ * Don't forget that a call to {@link ApiFuture#get()} blocks the current
+ * thread until it's unblocked by {@link ApiFuture#cancel(boolean)},
+ * {@link ApiFuture#complete(Object)} or {@link ApiFuture#completeExceptionally(Throwable)}
+ *
+ * @param The type of the result returned by {@link ApiFuture#get()}
+ */
+public class ApiFuture implements Future {
+ private enum Status { WAITING, OK, ERROR, CANCELLED }
+ private final Object lock = new Object();
+ private Status status = Status.WAITING;
+ private T ok;
+ private Throwable error;
+
+ public ApiFuture() {}
+
+ @Override
+ public T get() throws InterruptedException, ExecutionException {
+ try {
+ return get(0, TimeUnit.MILLISECONDS);
+ } catch (TimeoutException e) {
+ throw new IllegalStateException("Request timed out. This should not happen when time out is disabled!");
+ }
+ }
+
+ @Override
+ public T get(long timeout, @NonNull TimeUnit unit)
+ throws InterruptedException, ExecutionException, TimeoutException
+ {
+ boolean timed = timeout > 0;
+ long remaining = unit.toNanos(timeout);
+ while (true) synchronized (lock) {
+ switch (status) {
+ case OK: return ok;
+ case ERROR: throw new ExecutionException(error);
+ case CANCELLED: throw new CancellationException();
+ case WAITING:
+ if (timed && remaining <= 0) {
+ throw new TimeoutException();
+ }
+ if (!timed) {
+ lock.wait();
+ } else {
+ long start = System.nanoTime();
+ TimeUnit.NANOSECONDS.timedWait(lock, remaining);
+ remaining -= System.nanoTime() - start;
+ }
+ }
+ }
+ }
+
+ private boolean setResultAndNotify(Status status, T ok, Throwable error) {
+ synchronized (lock) {
+ if (this.status != Status.WAITING) {
+ return false;
+ }
+
+ this.status = status;
+ if (status == Status.OK) this.ok = ok;
+ if (status == Status.ERROR) this.error = error;
+
+ this.lock.notifyAll();
+ return true;
+ }
+ }
+
+ @Override
+ public boolean cancel(boolean b) {
+ return setResultAndNotify(Status.CANCELLED, null, null);
+ }
+
+ @Override
+ public boolean isCancelled() {
+ return status == Status.CANCELLED;
+ }
+
+ @Override
+ public boolean isDone() {
+ return status != Status.WAITING;
+ }
+
+ /**
+ * If not already completed, sets the value returned by get() to the given value.
+ * @param value - the result value
+ * @return true if this invocation caused this CompletableFuture to transition to a completed state, else false
+ */
+ public boolean complete(T value) {
+ return setResultAndNotify(Status.OK, value, null);
+ }
+
+ /**
+ * If not already completed, causes invocations of get() to throw the given exception.
+ * @param ex = the exception
+ * @return true if this invocation caused this CompletableFuture to transition to a completed state, else false
+ */
+ public boolean completeExceptionally(Throwable ex) {
+ return setResultAndNotify(Status.ERROR, null, ex);
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/ApiList.java b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiList.java
new file mode 100644
index 0000000..86d42bd
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiList.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2016 Martijn Brekhof. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.xbmc.kore.jsonrpc;
+
+import org.xbmc.kore.jsonrpc.type.ListType;
+
+import java.util.List;
+
+public class ApiList {
+ public final List items;
+ public final ListType.LimitsReturned limits;
+
+ public ApiList(List items, ListType.LimitsReturned limits) {
+ this.items = items;
+ this.limits = limits;
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/ApiMethod.java b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiMethod.java
new file mode 100644
index 0000000..68e2849
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiMethod.java
@@ -0,0 +1,277 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc;
+
+
+import android.os.Handler;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.host.HostConnection;
+import org.xbmc.kore.jsonrpc.type.ApiParameter;
+import org.xbmc.kore.utils.LogUtils;
+
+import java.io.IOException;
+
+/**
+ * Abstract class base of all the JSON RPC API calls
+ *
+ * Every subclass represents a method on the JSON RPC API.
+ *
+ * Each subclass should implement constructors to represent each of the API call variations, and
+ * call this class {@link #execute(HostConnection, ApiCallback, android.os.Handler) execute()} to send
+ * the call to the server.
+ *
+ * This class is a template which should be typed with the return type of specific the method call.
+ */
+public abstract class ApiMethod {
+ private static final String TAG = LogUtils.makeLogTag(ApiMethod.class);
+
+ public static final String RESULT_NODE = "result";
+ public static final String ERROR_NODE = "error";
+ public static final String ID_NODE = "id";
+ public static final String METHOD_NODE = "method";
+ public static final String PARAMS_NODE = "params";
+
+ /**
+ * Id of the method call. Autoincremented for each method call
+ */
+ private static int lastId = 0;
+ protected final int id;
+
+ protected static final ObjectMapper objectMapper = new ObjectMapper();
+ /**
+ * Json object that will be used to generate the json representation of the current method call
+ */
+ protected final ObjectNode jsonRequest;
+
+ /**
+ * Constructor, sets up the necessary items to make the call later
+ */
+ public ApiMethod() {
+ this(true);
+ }
+
+ /**
+ * Constructor, sets up the necessary items to make the call later
+ */
+ public ApiMethod(boolean sendId) {
+ // Create the rpc request object with the common fields according to JSON RPC spec
+ jsonRequest = objectMapper.createObjectNode();
+ jsonRequest.put("jsonrpc", "2.0");
+ jsonRequest.put(METHOD_NODE, getMethodName());
+
+ if(sendId) {
+ synchronized (this) {
+ this.id = (++lastId % 10000);
+ }
+ jsonRequest.put(ID_NODE, id);
+ }
+ else {
+ id = -1;
+ }
+ }
+
+ /**
+ * Returns the parameters node of the json request object
+ * Creates one if necessary
+ * @return Parameters node
+ */
+ protected ObjectNode getParametersNode() {
+ ObjectNode params;
+ if (jsonRequest.has(PARAMS_NODE)) {
+ params = (ObjectNode)jsonRequest.get(PARAMS_NODE);
+ } else {
+ params = objectMapper.createObjectNode();
+ jsonRequest.set(PARAMS_NODE, params);
+ }
+
+ return params;
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param value Value to add
+ */
+ protected void addParameterToRequest(String parameter, int value) {
+ getParametersNode().put(parameter, value);
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param value Value to add
+ */
+ protected void addParameterToRequest(String parameter, String value) {
+ if (value != null)
+ getParametersNode().put(parameter, value);
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param value Value to add
+ */
+ protected void addParameterToRequest(String parameter, Integer value) {
+ if (value != null)
+ getParametersNode().put(parameter, value);
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param value Value to add
+ */
+ protected void addParameterToRequest(String parameter, Double value) {
+ if (value != null)
+ getParametersNode().put(parameter, value);
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param value Value to add
+ */
+ protected void addParameterToRequest(String parameter, boolean value) {
+ getParametersNode().put(parameter, value);
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param values Values to add
+ */
+ protected void addParameterToRequest(String parameter, String[] values) {
+ if (values != null) {
+ final ArrayNode arrayNode = objectMapper.createArrayNode();
+ for (String value : values) {
+ arrayNode.add(value);
+ }
+ getParametersNode().set(parameter, arrayNode);
+ }
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param value Value to add
+ */
+ protected void addParameterToRequest(String parameter, ApiParameter value) {
+ if (value != null)
+ getParametersNode().set(parameter, value.toJsonNode());
+ }
+
+ /**
+ * Adds a parameter to the request
+ * @param parameter Parameter name
+ * @param value Value to add
+ */
+ protected void addParameterToRequest(String parameter, JsonNode value) {
+ if (value != null)
+ getParametersNode().set(parameter, value);
+ }
+
+ /**
+ * Returns the id to identify the current method call.
+ * An id is generated for each object that is created.
+ * @return Method call id
+ */
+ public int getId() {
+ return id;
+ }
+
+ /**
+ * Returns the string json representation of the current method.
+ * @return Json string representation of the current method
+ */
+ public String toJsonString() { return jsonRequest.toString(); }
+
+ /**
+ * Returns the json object representation of the current method.
+ * @return JsonObject representation of the current method
+ */
+ public ObjectNode toJsonObject() { return jsonRequest; }
+
+ /**
+ * Calls the method represented by this object on the server asynchronously.
+ * The results will be posted through the callback function on the specified handler.
+ *
+ * @param hostConnection Host connection on which to call the method
+ * @param callback Callbacks to post the response to
+ * @param handler Handler to invoke callbacks on
+ */
+ public void execute(HostConnection hostConnection, ApiCallback callback, Handler handler) {
+ if (hostConnection != null) {
+ hostConnection.execute(this, callback, handler);
+ } else if (callback != null) {
+ callback.onError(ApiException.API_NO_CONNECTION, "No connection specified.");
+ }
+ }
+
+ /**
+ * Returns the current method name
+ * @return Current method name
+ */
+ public abstract String getMethodName();
+
+ /**
+ * Constructs an object of this method's return type from a json response.
+ * This method must be implemented by each subcall to parse the json reponse and create
+ * an return object of the appropriate type for this api method.
+ *
+ * @param jsonResult Json response obtained from a call
+ * @return Result object of the appropriate type for this api method
+ */
+ public T resultFromJson(String jsonResult) throws ApiException{
+ try {
+ return resultFromJson((ObjectNode)objectMapper.readTree(jsonResult));
+ } catch (IOException e) {
+ throw new ApiException(ApiException.INVALID_JSON_RESPONSE_FROM_HOST, e);
+ }
+ }
+
+ /**
+ * Constructs an object of this method's return type from a json response.
+ * This method must be implemented by each subcall to parse the json reponse and create
+ * an return object of the appropriate type for this api method.
+ *
+ * @param jsonObject Json response obtained from a call
+ * @return Result object of the appropriate type for this api method
+ */
+ public abstract T resultFromJson(ObjectNode jsonObject) throws ApiException;
+
+ /**
+ * Default callback for methods which the result doesnt matter
+ */
+ public static ApiCallback getDefaultActionCallback() {
+
+ return new ApiCallback() {
+ @Override
+ public void onSuccess(T result) {
+ }
+
+ @Override
+ public void onError(int errorCode, String description) {
+ LogUtils.LOGD(TAG, "Got an error calling a method. Error code: " + errorCode + ", description: " + description);
+ }
+ };
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/ApiNotification.java b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiNotification.java
new file mode 100644
index 0000000..4c79961
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/ApiNotification.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.notification.Player;
+
+/**
+ * Abstract class, based of all the JSON RPC notifications
+ *
+ * Each specific notification should be a subclass of this.
+ */
+public abstract class ApiNotification {
+ public static final String METHOD_NODE = "method";
+ public static final String PARAMS_NODE = "params";
+
+ public final String sender;
+
+ /**
+ * Constructor from a notification node (starting on "params" node)
+ * @param node node
+ */
+ public ApiNotification(ObjectNode node) {
+ sender = node.get("sender").textValue();
+ }
+
+ /**
+ * Returns this notification name
+ */
+ public abstract String getNotificationName();
+
+ /**
+ * Returns a specific notification present in the Json Node
+ *
+ * @param node Json node with notification
+ * @return Specific notification object
+ */
+ public static ApiNotification notificationFromJsonNode(JsonNode node) {
+ String method = node.get(METHOD_NODE).asText();
+ ObjectNode params = (ObjectNode)node.get(PARAMS_NODE);
+
+ ApiNotification result = null;
+ switch (method) {
+ case Player.OnPause.NOTIFICATION_NAME:
+ result = new Player.OnPause(params);
+ break;
+ case Player.OnPlay.NOTIFICATION_NAME:
+ result = new Player.OnPlay(params);
+ break;
+ case Player.OnResume.NOTIFICATION_NAME:
+ result = new Player.OnResume(params);
+ break;
+ case Player.OnSeek.NOTIFICATION_NAME:
+ result = new Player.OnSeek(params);
+ break;
+ case Player.OnSpeedChanged.NOTIFICATION_NAME:
+ result = new Player.OnSpeedChanged(params);
+ break;
+ case Player.OnStop.NOTIFICATION_NAME:
+ result = new Player.OnStop(params);
+ break;
+ }
+
+ return result;
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/event/MediaSyncEvent.java b/app/src/main/java/org/xbmc/kore/jsonrpc/event/MediaSyncEvent.java
new file mode 100644
index 0000000..77dca37
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/event/MediaSyncEvent.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.event;
+
+import android.os.Bundle;
+
+import org.xbmc.kore.service.library.LibrarySyncService;
+
+/**
+ * Event to post on {@link de.greenrobot.event.EventBus} that notifies of a sync
+ */
+public class MediaSyncEvent {
+ public static final int STATUS_FAIL = 0;
+ public static final int STATUS_SUCCESS = 1;
+
+ public final String syncType;
+ public final int status;
+ public final int errorCode;
+ public final String errorMessage;
+ public final Bundle syncExtras;
+
+ /**
+ * Creates a new sync event
+ *
+ * @param syncType One of the constants in {@link LibrarySyncService}
+ */
+ public MediaSyncEvent(String syncType, Bundle syncExtras, int status) {
+ this(syncType, syncExtras, status, -1, null);
+ // Assert that status is success
+ if (status != STATUS_SUCCESS)
+ throw new IllegalArgumentException("This MediaSyncEvent constructor should only be " +
+ "called with a successful status.");
+ }
+
+ public MediaSyncEvent(String syncType, Bundle syncExtras,
+ int status, int errorCode, String errorMessage) {
+ this.syncType = syncType;
+ this.syncExtras = syncExtras;
+ this.status = status;
+ this.errorCode = errorCode;
+ this.errorMessage = errorMessage;
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Addons.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Addons.java
new file mode 100644
index 0000000..69ff248
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Addons.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.AddonType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * JSON RPC methods in Addons.*
+ */
+public class Addons {
+
+ /**
+ * Executes the given addon with the given parameters (if possible)
+ */
+ public static final class ExecuteAddon extends ApiMethod {
+ public final static String METHOD_NAME = "Addons.ExecuteAddon";
+
+ /**
+ * Known addon ids
+ */
+ public final static String ADDON_SUBTITLES = "script.xbmc.subtitles";
+
+ /**
+ * Executes the given addon with the given parameters (if possible)
+ */
+ public ExecuteAddon(String addonId) {
+ super();
+ addParameterToRequest("addonid", addonId);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Gets all available addons
+ */
+ public static final class GetAddons extends ApiMethod> {
+ public final static String METHOD_NAME = "Addons.GetAddons";
+
+ private final static String LIST_NODE = "addons";
+
+ /**
+ * Gets all available addons
+ * @param enabled Whether to get enabled addons
+ * @param properties Properties to retrieve. See {AddonType.Fields}
+ */
+ public GetAddons(boolean enabled, String... properties) {
+ super();
+ addParameterToRequest("enabled", enabled);
+ addParameterToRequest("properties", properties);
+ }
+
+ /**
+ * Gets all available addons
+ * @param properties Properties to retrieve. See {AddonType.Fields}
+ */
+ public GetAddons(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject) throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new AddonType.Details(item));
+ }
+
+ return result;
+ }
+ }
+
+ /**
+ * Gets the details of a specific addon
+ */
+ public static final class GetAddonDetails extends ApiMethod {
+ public final static String METHOD_NAME = "Addons.GetAddonDetails";
+
+ /**
+ * Gets the details of a specific addon
+ * @param addonid Addon id
+ * @param properties Properties to retrieve. See {AddonType.Fields}
+ */
+ public GetAddonDetails(String addonid, String... properties) {
+ super();
+ addParameterToRequest("addonid", addonid);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public AddonType.Details resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return new AddonType.Details(jsonObject.get(RESULT_NODE).get("addon"));
+ }
+ }
+
+ /**
+ * Enables/Disables a specific addon
+ */
+ public static final class SetAddonEnabled extends ApiMethod {
+ public final static String METHOD_NAME = "Addons.SetAddonEnabled";
+
+ /**
+ * Enables/Disables a specific addon
+ */
+ public SetAddonEnabled(String addonId, boolean enabled) {
+ super();
+ addParameterToRequest("addonid", addonId);
+ addParameterToRequest("enabled", enabled);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Application.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Application.java
new file mode 100644
index 0000000..301b71b
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Application.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.ApplicationType;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * All JSON RPC methods in Application.*
+ */
+public class Application {
+
+ /**
+ * Quit application
+ */
+ public static final class Quit extends ApiMethod {
+ public final static String METHOD_NAME = "Application.Quit";
+
+ /**
+ * Quit application
+ */
+ public Quit() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Set the current volume
+ */
+ public static final class SetVolume extends ApiMethod {
+ public final static String METHOD_NAME = "Application.SetVolume";
+
+ /**
+ * Increment or decrement the volume
+ * @param volume String enum in {@link org.xbmc.kore.jsonrpc.type.GlobalType.IncrementDecrement}
+ */
+ public SetVolume(String volume) {
+ super();
+ addParameterToRequest("volume", volume);
+ }
+
+ /**
+ * Set the volume
+ * @param volume volume between 0 and 100
+ */
+ public SetVolume(int volume) {
+ super();
+ addParameterToRequest("volume", volume);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public Integer resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return JsonUtils.intFromJsonNode(jsonObject, RESULT_NODE);
+ }
+ }
+
+ /**
+ * Toggle mute/unmute
+ */
+ public static final class SetMute extends ApiMethod {
+ public final static String METHOD_NAME = "Application.SetMute";
+
+ /**
+ * Toggle mute/unmute
+ */
+ public SetMute() {
+ super();
+ addParameterToRequest("mute", "toggle");
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public Boolean resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return JsonUtils.booleanFromJsonNode(jsonObject, RESULT_NODE);
+ }
+ }
+
+ /**
+ * Retrieves the values of the given properties.
+ */
+ public static class GetProperties extends ApiMethod {
+ public final static String METHOD_NAME = "Application.GetProperties";
+
+ /**
+ * Properties
+ */
+ public final static String VOLUME = "volume";
+ public final static String MUTED = "muted";
+ public final static String NAME = "name";
+ public final static String VERSION = "version";
+
+ /**
+ * Retrieves the values of the given properties.
+ * @param properties See this class constants.
+ */
+ public GetProperties(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public ApplicationType.PropertyValue resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return new ApplicationType.PropertyValue(jsonObject.get(RESULT_NODE));
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/AudioLibrary.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/AudioLibrary.java
new file mode 100644
index 0000000..c8274bf
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/AudioLibrary.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiList;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.AudioType;
+import org.xbmc.kore.jsonrpc.type.LibraryType;
+import org.xbmc.kore.jsonrpc.type.ListType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * JSON RPC methods in AudioLibrary.*
+ */
+public class AudioLibrary {
+
+ /**
+ * Cleans the audio library from non-existent items.
+ */
+ public static class Clean extends ApiMethod {
+ public final static String METHOD_NAME = "AudioLibrary.Clean";
+
+ /**
+ * Cleans the video library from non-existent items.
+ */
+ public Clean() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Scans the audio sources for new library items.
+ */
+ public static class Scan extends ApiMethod {
+ public final static String METHOD_NAME = "AudioLibrary.Scan";
+
+ /**
+ * Scans the audio sources for new library items.
+ */
+ public Scan() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Retrieve all artists
+ */
+ public static class GetArtists extends ApiMethod> {
+ public final static String METHOD_NAME = "AudioLibrary.GetArtists";
+
+ private final static String LIST_NODE = "artists";
+
+ /**
+ * Retrieve all artists
+ *
+ * @param albumartistsonly Whether or not to include artists only appearing in
+ * compilations. If the parameter is not passed or is passed as
+ * null the GUI setting will be used
+ * @param properties Properties to retrieve. See {@link AudioType.FieldsArtists} for a
+ * list of accepted values
+ */
+ public GetArtists(boolean albumartistsonly, String... properties) {
+ super();
+ addParameterToRequest("albumartistsonly", albumartistsonly);
+ addParameterToRequest("properties", properties);
+ }
+
+ /**
+ * Retrieve all artists with limits
+ *
+ * @param limits Limits to retrieve. See {@link ListType.Limits}
+ * @param albumartistsonly Whether or not to include artists only appearing in
+ * compilations. If the parameter is not passed or is passed as
+ * null the GUI setting will be used
+ * @param properties Properties to retrieve. See {@link AudioType.FieldsArtists} for a
+ * list of accepted values
+ */
+ public GetArtists(ListType.Limits limits, boolean albumartistsonly, String... properties) {
+ super();
+ addParameterToRequest("limits", limits);
+ addParameterToRequest("albumartistsonly", albumartistsonly);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public ApiList resultFromJson(ObjectNode jsonObject) throws ApiException {
+ ListType.LimitsReturned limits = new ListType.LimitsReturned(jsonObject);
+
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ApiList<>(new ArrayList<>(0), limits);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new AudioType.DetailsArtist(item));
+ }
+
+ return new ApiList<>(result, limits);
+ }
+ }
+
+ /**
+ * Retrieve all albums from specified artist or genre
+ */
+ public static class GetAlbums extends ApiMethod> {
+ public final static String METHOD_NAME = "AudioLibrary.GetAlbums";
+
+ private final static String LIST_NODE = "albums";
+
+ /**
+ * Retrieve all albums
+ *
+ * @param properties Properties to retrieve. See {@link AudioType.FieldsAlbum} for a
+ * list of accepted values
+ */
+ public GetAlbums(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ /**
+ * Retrieve all albums with limits
+ *
+ * @param limits Limits to retrieve. See {@link ListType.Limits}
+ * @param properties Properties to retrieve. See {@link AudioType.FieldsAlbum} for a
+ * list of accepted values
+ */
+ public GetAlbums(ListType.Limits limits, String... properties) {
+ super();
+ addParameterToRequest("limits", limits);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public ApiList resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ ListType.LimitsReturned limits = new ListType.LimitsReturned(jsonObject);
+
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ApiList<>(new ArrayList<>(0), limits);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+ for (JsonNode item : items) {
+ result.add(new AudioType.DetailsAlbum(item));
+ }
+
+ return new ApiList<>(result, limits);
+ }
+ }
+
+ /**
+ * Retrieve all genres
+ */
+ public static class GetGenres extends ApiMethod> {
+ public final static String METHOD_NAME = "AudioLibrary.GetGenres";
+
+ private final static String LIST_NODE = "genres";
+
+ /**
+ * Retrieve all genres
+ *
+ * @param properties Properties to retrieve. See {@link LibraryType.FieldsGenre} for a
+ * list of accepted values
+ */
+ public GetGenres(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+ for (JsonNode item : items) {
+ result.add(new LibraryType.DetailsGenre(item));
+ }
+
+ return result;
+ }
+ }
+
+ /**
+ * Retrieve all songs from specified album, artist or genre
+ */
+ public static class GetSongs extends ApiMethod> {
+ public final static String METHOD_NAME = "AudioLibrary.GetSongs";
+
+ private final static String LIST_NODE = "songs";
+
+ /**
+ * Retrieve all songs
+ *
+ * @param properties Properties to retrieve. See {@link AudioType.FieldsSong} for a
+ * list of accepted values
+ */
+ public GetSongs(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ /**
+ * Retrieve all songs with limits
+ *
+ * @param limits Limits to retrieve. See {@link ListType.Limits}
+ * @param properties Properties to retrieve. See {@link AudioType.FieldsSong} for a
+ * list of accepted values
+ */
+ public GetSongs(ListType.Limits limits, String... properties) {
+ super();
+ addParameterToRequest("limits", limits);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public ApiList resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ ListType.LimitsReturned limits = new ListType.LimitsReturned(jsonObject);
+
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ApiList<>(new ArrayList<>(0), limits);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+ for (JsonNode item : items) {
+ result.add(new AudioType.DetailsSong(item));
+ }
+
+ return new ApiList<>(result, limits);
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Favourites.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Favourites.java
new file mode 100644
index 0000000..3d0239f
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Favourites.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2017 XBMC Foundation. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiList;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.FavouriteType;
+import org.xbmc.kore.jsonrpc.type.ListType;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+/**
+ * All JSON RPC methods in Favourites.*
+ */
+public class Favourites {
+
+ /**
+ * Retrieves the Details of the Favourites.
+ */
+ public static class GetFavourites extends ApiMethod> {
+ public static final String METHOD_NAME = "Favourites.GetFavourites";
+ private static final String LIST_NODE = "favourites";
+
+ /**
+ * Default ctor, gets all the properties by default.
+ */
+ public GetFavourites() {
+ addParameterToRequest("properties", new String[]{
+ FavouriteType.DetailsFavourite.WINDOW, FavouriteType.DetailsFavourite.WINDOW_PARAMETER,
+ FavouriteType.DetailsFavourite.THUMBNAIL, FavouriteType.DetailsFavourite.PATH
+ });
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public ApiList resultFromJson(ObjectNode jsonObject) throws ApiException {
+ ListType.LimitsReturned limits = new ListType.LimitsReturned(jsonObject);
+
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) && !resultNode.get(LIST_NODE).isNull() ?
+ (ArrayNode) resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ApiList<>(Collections.emptyList(), limits);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+ for (JsonNode item : items) {
+ result.add(new FavouriteType.DetailsFavourite(item));
+ }
+ return new ApiList<>(result, limits);
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Files.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Files.java
new file mode 100644
index 0000000..97e1212
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Files.java
@@ -0,0 +1,162 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.FilesType;
+import org.xbmc.kore.jsonrpc.type.ItemType;
+import org.xbmc.kore.jsonrpc.type.ListType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * All JSON RPC methods in Files.*
+ */
+public class Files {
+
+ /**
+ * Prepare Download
+ * Provides a way to download a given file (e.g. providing an URL to the real file location)
+ */
+ public static final class PrepareDownload extends ApiMethod {
+ public final static String METHOD_NAME = "Files.PrepareDownload";
+
+ /**
+ * Provides a way to download a given file (e.g. providing an URL to the real file location)
+ */
+ public PrepareDownload(String path) {
+ super();
+ addParameterToRequest("path", path);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public FilesType.PrepareDownloadReturnType resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return new FilesType.PrepareDownloadReturnType(jsonObject.get(RESULT_NODE));
+ }
+ }
+
+ /**
+ * Enums for File.Media
+ */
+ public interface Media {
+ String VIDEO = "video";
+ String MUSIC = "music";
+ String PICTURES = "pictures";
+ String FILES = "files";
+ String PROGRAMS = "programs";
+ String[] allValues = new String[] {
+ VIDEO, MUSIC, PICTURES, FILES, PROGRAMS
+ };
+ }
+
+ /**
+ * Files.GetSources command
+ */
+ public static final class GetSources extends ApiMethod> {
+ public final static String METHOD_NAME = "Files.GetSources";
+ public final static String SOURCE_NODE = "sources";
+
+ /**
+ *
+ * @param mediaType See {@link Files.Media} for a
+ * list of accepted values
+ */
+ public GetSources(String mediaType) {
+ super();
+ addParameterToRequest("media", mediaType);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject) throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(SOURCE_NODE) ?
+ (ArrayNode) resultNode.get(SOURCE_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new ItemType.Source(item));
+ }
+ return result;
+ }
+ }
+
+ /**
+ * Files.GetDirectory command
+ */
+ public static final class GetDirectory extends ApiMethod> {
+ public final static String METHOD_NAME = "Files.GetDirectory";
+ public final static String SORT_NODE = "sort";
+ public final static String FILE_NODE = "files";
+
+ /**
+ * Get the directories and files in the given directory
+ * @param directory Full path name
+ * @param media Type of media to retrieve.
+ * See {@link Files.Media} for a list of accepted values
+ * @param sort_params Sorting criteria
+ * @param properties Properties to retrieve.
+ * See {@link org.xbmc.kore.jsonrpc.type.ListType.FieldsFiles}
+ * constants for a list of accepted values
+ */
+ public GetDirectory(String directory, String media, ListType.Sort sort_params, String... properties) {
+ super();
+ addParameterToRequest("directory", directory);
+ addParameterToRequest("media", media);
+ addParameterToRequest("properties", properties);
+ if (sort_params != null) {
+ addParameterToRequest(SORT_NODE, sort_params.toJsonNode());
+ }
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject) throws ApiException {
+ JsonNode fileNode = jsonObject.get(RESULT_NODE)
+ .get(FILE_NODE);
+ if (fileNode == null || fileNode.isNull()) {
+ return new ArrayList<>(0);
+ }
+ ArrayNode items = (ArrayNode) fileNode;
+ ArrayList result = new ArrayList<>(items.size());
+ for (JsonNode item : items) {
+ String regex = "\\[.*?\\]";
+ JsonNode label = item.get("label");
+ if (!label.isNull()) {
+ String new_label = label.textValue().replaceAll(regex, "");
+ ((ObjectNode) item).put("label", new_label);
+ }
+ result.add(new ListType.ItemFile(item));
+ }
+ return result;
+ }
+ }
+ }
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/GUI.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/GUI.java
new file mode 100644
index 0000000..bb703fe
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/GUI.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * All JSON RPC methods in GUI.*
+ */
+public class GUI {
+
+ public static final class ActivateWindow extends ApiMethod {
+ public final static String METHOD_NAME = "GUI.ActivateWindow";
+
+ /** All windows that we can navigate to */
+ public final static String HOME = "home";
+ public final static String PICTURES = "pictures";
+ public final static String SETTINGS = "settings";
+ public final static String MUSIC = "music";
+ public final static String VIDEOS = "videos";
+ public final static String TVCHANNELS = "tvchannels";
+ public final static String ADDONBROWSER = "addonbrowser";
+ public final static String WEATHER = "weather";
+
+ // Only on Gotham
+ public final static String SUBTITLESEARCH = "subtitlesearch";
+
+ /**
+ * For use in params, to go directly to Movies
+ */
+ public final static String PARAM_MOVIE_TITLES = "MovieTitles";
+ /**
+ * For use in params, to go directly to TV shows
+ */
+ public final static String PARAM_TV_SHOWS_TITLES = "TvShowTitles";
+ /**
+ * For use in params, to go to root screen
+ */
+ public final static String PARAM_ROOT = "Root";
+
+ /**
+ * Activates a window in XBMC. See class constants to check which windows are allowed.
+ */
+ public ActivateWindow(String window) {
+ super();
+ addParameterToRequest("window", window);
+ }
+
+ /**
+ * Activates a window in XBMC. See class constants to check which windows are allowed.
+ */
+ public ActivateWindow(String window, String... parameters) {
+ super();
+ addParameterToRequest("window", window);
+ addParameterToRequest("parameters", parameters);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Toggle fullscreen/GUI
+ */
+ public static final class SetFullscreen extends ApiMethod {
+ public final static String METHOD_NAME = "GUI.SetFullscreen";
+
+ /**
+ * Toggle fullscreen/GUI
+ */
+ public SetFullscreen() {
+ super();
+ addParameterToRequest("fullscreen", "toggle");
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public Boolean resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return JsonUtils.booleanFromJsonNode(jsonObject, RESULT_NODE);
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Input.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Input.java
new file mode 100644
index 0000000..4bdbea9
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Input.java
@@ -0,0 +1,396 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+
+/**
+ * All JSON RPC methods in Input.*
+ */
+public class Input {
+
+ /**
+ * Execute action
+ * Executes general actions on XBMC. See class constants for available actions.
+ */
+ public static final class ExecuteAction extends ApiMethod {
+ public final static String METHOD_NAME = "Input.ExecuteAction";
+
+ /** Available actions */
+ public final static String LEFT = "left";
+ public final static String RIGHT = "right";
+ public final static String UP = "up";
+ public final static String DOWN = "down";
+ public final static String PAGEUP = "pageup";
+ public final static String PAGEDOWN = "pagedown";
+ public final static String SELECT = "select";
+ public final static String HIGHLIGHT = "highlight";
+ public final static String PARENTDIR = "parentdir";
+ public final static String PARENTFOLDER = "parentfolder";
+ public final static String BACK = "back";
+ public final static String PREVIOUSMENU = "previousmenu";
+ public final static String INFO = "info";
+ public final static String PAUSE = "pause";
+ public final static String STOP = "stop";
+ public final static String SKIPNEXT = "skipnext";
+ public final static String SKIPPREVIOUS = "skipprevious";
+ public final static String FULLSCREEN = "fullscreen";
+ public final static String ASPECTRATIO = "aspectratio";
+ public final static String STEPFORWARD = "stepforward";
+ public final static String STEPBACK = "stepback";
+ public final static String BIGSTEPFORWARD = "bigstepforward";
+ public final static String BIGSTEPBACK = "bigstepback";
+ public final static String OSD = "osd";
+ public final static String SHOWSUBTITLES = "showsubtitles";
+ public final static String NEXTSUBTITLE = "nextsubtitle";
+ public final static String CODECINFO = "codecinfo";
+ public final static String PLAYERPROCESSINFO = "playerprocessinfo";
+ public final static String NEXTPICTURE = "nextpicture";
+ public final static String PREVIOUSPICTURE = "previouspicture";
+ public final static String ZOOMOUT = "zoomout";
+ public final static String ZOOMIN = "zoomin";
+ public final static String PLAYLIST = "playlist";
+ public final static String QUEUE = "queue";
+ public final static String ZOOMNORMAL = "zoomnormal";
+ public final static String ZOOMLEVEL1 = "zoomlevel1";
+ public final static String ZOOMLEVEL2 = "zoomlevel2";
+ public final static String ZOOMLEVEL3 = "zoomlevel3";
+ public final static String ZOOMLEVEL4 = "zoomlevel4";
+ public final static String ZOOMLEVEL5 = "zoomlevel5";
+ public final static String ZOOMLEVEL6 = "zoomlevel6";
+ public final static String ZOOMLEVEL7 = "zoomlevel7";
+ public final static String ZOOMLEVEL8 = "zoomlevel8";
+ public final static String ZOOMLEVEL9 = "zoomlevel9";
+ public final static String NEXTCALIBRATION = "nextcalibration";
+ public final static String RESETCALIBRATION = "resetcalibration";
+ public final static String ANALOGMOVE = "analogmove";
+ public final static String ROTATE = "rotate";
+ public final static String ROTATECCW = "rotateccw";
+ public final static String CLOSE = "close";
+ public final static String SUBTITLEDELAYMINUS = "subtitledelayminus";
+ public final static String SUBTITLEDELAY = "subtitledelay";
+ public final static String SUBTITLEDELAYPLUS = "subtitledelayplus";
+ public final static String AUDIODELAYMINUS = "audiodelayminus";
+ public final static String AUDIODELAY = "audiodelay";
+ public final static String AUDIODELAYPLUS = "audiodelayplus";
+ public final static String SUBTITLESHIFTUP = "subtitleshiftup";
+ public final static String SUBTITLESHIFTDOWN = "subtitleshiftdown";
+ public final static String SUBTITLEALIGN = "subtitlealign";
+ public final static String AUDIONEXTLANGUAGE = "audionextlanguage";
+ public final static String VERTICALSHIFTUP = "verticalshiftup";
+ public final static String VERTICALSHIFTDOWN = "verticalshiftdown";
+ public final static String NEXTRESOLUTION = "nextresolution";
+ public final static String AUDIOTOGGLEDIGITAL = "audiotoggledigital";
+ public final static String NUMBER0 = "number0";
+ public final static String NUMBER1 = "number1";
+ public final static String NUMBER2 = "number2";
+ public final static String NUMBER3 = "number3";
+ public final static String NUMBER4 = "number4";
+ public final static String NUMBER5 = "number5";
+ public final static String NUMBER6 = "number6";
+ public final static String NUMBER7 = "number7";
+ public final static String NUMBER8 = "number8";
+ public final static String NUMBER9 = "number9";
+ public final static String OSDLEFT = "osdleft";
+ public final static String OSDRIGHT = "osdright";
+ public final static String OSDUP = "osdup";
+ public final static String OSDDOWN = "osddown";
+ public final static String OSDSELECT = "osdselect";
+ public final static String OSDVALUEPLUS = "osdvalueplus";
+ public final static String OSDVALUEMINUS = "osdvalueminus";
+ public final static String SMALLSTEPBACK = "smallstepback";
+ public final static String FASTFORWARD = "fastforward";
+ public final static String REWIND = "rewind";
+ public final static String PLAY = "play";
+ public final static String PLAYPAUSE = "playpause";
+ public final static String DELETE = "delete";
+ public final static String COPY = "copy";
+ public final static String MOVE = "move";
+ public final static String MPLAYEROSD = "mplayerosd";
+ public final static String HIDESUBMENU = "hidesubmenu";
+ public final static String SCREENSHOT = "screenshot";
+ public final static String RENAME = "rename";
+ public final static String TOGGLEWATCHED = "togglewatched";
+ public final static String SCANITEM = "scanitem";
+ public final static String RELOADKEYMAPS = "reloadkeymaps";
+ public final static String VOLUMEUP = "volumeup";
+ public final static String VOLUMEDOWN = "volumedown";
+ public final static String MUTE = "mute";
+ public final static String BACKSPACE = "backspace";
+ public final static String SCROLLUP = "scrollup";
+ public final static String SCROLLDOWN = "scrolldown";
+ public final static String ANALOGFASTFORWARD = "analogfastforward";
+ public final static String ANALOGREWIND = "analogrewind";
+ public final static String MOVEITEMUP = "moveitemup";
+ public final static String MOVEITEMDOWN = "moveitemdown";
+ public final static String CONTEXTMENU = "contextmenu";
+ public final static String SHIFT = "shift";
+ public final static String SYMBOLS = "symbols";
+ public final static String CURSORLEFT = "cursorleft";
+ public final static String CURSORRIGHT = "cursorright";
+ public final static String SHOWTIME = "showtime";
+ public final static String ANALOGSEEKFORWARD = "analogseekforward";
+ public final static String ANALOGSEEKBACK = "analogseekback";
+ public final static String SHOWPRESET = "showpreset";
+ public final static String PRESETLIST = "presetlist";
+ public final static String NEXTPRESET = "nextpreset";
+ public final static String PREVIOUSPRESET = "previouspreset";
+ public final static String LOCKPRESET = "lockpreset";
+ public final static String RANDOMPRESET = "randompreset";
+ public final static String INCREASEVISRATING = "increasevisrating";
+ public final static String DECREASEVISRATING = "decreasevisrating";
+ public final static String SHOWVIDEOMENU = "showvideomenu";
+ public final static String ENTER = "enter";
+ public final static String INCREASERATING = "increaserating";
+ public final static String DECREASERATING = "decreaserating";
+ public final static String TOGGLEFULLSCREEN = "togglefullscreen";
+ public final static String NEXTSCENE = "nextscene";
+ public final static String PREVIOUSSCENE = "previousscene";
+ public final static String NEXTLETTER = "nextletter";
+ public final static String PREVLETTER = "prevletter";
+ public final static String JUMPSMS2 = "jumpsms2";
+ public final static String JUMPSMS3 = "jumpsms3";
+ public final static String JUMPSMS4 = "jumpsms4";
+ public final static String JUMPSMS5 = "jumpsms5";
+ public final static String JUMPSMS6 = "jumpsms6";
+ public final static String JUMPSMS7 = "jumpsms7";
+ public final static String JUMPSMS8 = "jumpsms8";
+ public final static String JUMPSMS9 = "jumpsms9";
+ public final static String FILTER = "filter";
+ public final static String FILTERCLEAR = "filterclear";
+ public final static String FILTERSMS2 = "filtersms2";
+ public final static String FILTERSMS3 = "filtersms3";
+ public final static String FILTERSMS4 = "filtersms4";
+ public final static String FILTERSMS5 = "filtersms5";
+ public final static String FILTERSMS6 = "filtersms6";
+ public final static String FILTERSMS7 = "filtersms7";
+ public final static String FILTERSMS8 = "filtersms8";
+ public final static String FILTERSMS9 = "filtersms9";
+ public final static String FIRSTPAGE = "firstpage";
+ public final static String LASTPAGE = "lastpage";
+ public final static String GUIPROFILE = "guiprofile";
+ public final static String RED = "red";
+ public final static String GREEN = "green";
+ public final static String YELLOW = "yellow";
+ public final static String BLUE = "blue";
+ public final static String INCREASEPAR = "increasepar";
+ public final static String DECREASEPAR = "decreasepar";
+ public final static String VOLAMPUP = "volampup";
+ public final static String VOLAMPDOWN = "volampdown";
+ public final static String CHANNELUP = "channelup";
+ public final static String CHANNELDOWN = "channeldown";
+ public final static String PREVIOUSCHANNELGROUP = "previouschannelgroup";
+ public final static String NEXTCHANNELGROUP = "nextchannelgroup";
+ public final static String LEFTCLICK = "leftclick";
+ public final static String RIGHTCLICK = "rightclick";
+ public final static String MIDDLECLICK = "middleclick";
+ public final static String DOUBLECLICK = "doubleclick";
+ public final static String WHEELUP = "wheelup";
+ public final static String WHEELDOWN = "wheeldown";
+ public final static String MOUSEDRAG = "mousedrag";
+ public final static String MOUSEMOVE = "mousemove";
+ public final static String NOOP = "noop";
+
+ /**
+ * Executes general actions on XBMC. See class constants for available actions.
+ */
+ public ExecuteAction(String action) {
+ super();
+ addParameterToRequest("action", action);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Goes to home window in GUI
+ */
+ public static final class Home extends ApiMethod {
+ public final static String METHOD_NAME = "Input.Home";
+ /**
+ * Goes to home window in GUI
+ */
+ public Home() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Navigate left in GUI
+ */
+ public static final class Left extends ApiMethod {
+ public final static String METHOD_NAME = "Input.Left";
+ /**
+ * Navigate left in GUI
+ */
+ public Left() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Navigate right in GUI
+ */
+ public static final class Right extends ApiMethod {
+ public final static String METHOD_NAME = "Input.Right";
+ /**
+ * Navigate right in GUI
+ */
+ public Right() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Navigate up in GUI
+ */
+ public static final class Up extends ApiMethod {
+ public final static String METHOD_NAME = "Input.Up";
+ /**
+ * Navigate up in GUI
+ */
+ public Up() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Navigate down in GUI
+ */
+ public static final class Down extends ApiMethod {
+ public final static String METHOD_NAME = "Input.Down";
+ /**
+ * Navigate down in GUI
+ */
+ public Down() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Navigate back in GUI
+ */
+ public static final class Back extends ApiMethod {
+ public final static String METHOD_NAME = "Input.Back";
+ /**
+ * Navigate down in GUI
+ */
+ public Back() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Select in GUI
+ */
+ public static final class Select extends ApiMethod {
+ public final static String METHOD_NAME = "Input.Select";
+ /**
+ * Select in GUI
+ */
+ public Select() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Send a generic (unicode) text
+ */
+ public static final class SendText extends ApiMethod {
+ public final static String METHOD_NAME = "Input.SendText";
+ /**
+ * Send a generic (unicode) text
+ */
+ public SendText(String text, boolean done) {
+ super();
+ addParameterToRequest("text", text);
+ addParameterToRequest("done", done);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/JSONRPC.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/JSONRPC.java
new file mode 100644
index 0000000..c51d75f
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/JSONRPC.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+
+public class JSONRPC {
+
+ /**
+ * Ping responder
+ */
+ public static final class Ping extends ApiMethod {
+ public final static String METHOD_NAME = "JSONRPC.Ping";
+
+ /**
+ * Ping responder
+ */
+ public Ping() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/PVR.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/PVR.java
new file mode 100644
index 0000000..1627024
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/PVR.java
@@ -0,0 +1,256 @@
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.PVRType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * All JSON RPC methods in PVR.*
+ */
+public class PVR {
+
+ /**
+ * Retrieves the channel groups for the specified type
+ */
+ public static class GetChannelGroups extends ApiMethod> {
+ public final static String METHOD_NAME = "PVR.GetChannelGroups";
+ private final static String LIST_NODE = "channelgroups";
+
+ /**
+ * Retrieves the channel groups for the specified type
+ *
+ * @param channeltype Channel type. See {@link org.xbmc.kore.jsonrpc.type.PVRType.ChannelType}
+ */
+ public GetChannelGroups(String channeltype) {
+ super();
+ addParameterToRequest("channeltype", channeltype);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new PVRType.DetailsChannelGroup(item));
+ }
+
+ return result;
+ }
+ }
+
+ /**
+ * Retrieves the channel list
+ */
+ public static class GetChannels extends ApiMethod> {
+ public final static String METHOD_NAME = "PVR.GetChannels";
+ private final static String LIST_NODE = "channels";
+
+ /**
+ * Retrieves the channel list
+ *
+ * @param channelgroupid Group id, required
+ * @param properties Properties to retrieve. See {@link PVRType.FieldsChannel} for a list of
+ * accepted values
+ */
+ public GetChannels(int channelgroupid, String... properties) {
+ super();
+ addParameterToRequest("channelgroupid", channelgroupid);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new PVRType.DetailsChannel(item));
+ }
+
+ return result;
+ }
+ }
+
+ /**
+ * Retrieves the program of a specific channel
+ */
+ public static class GetBroadcasts extends ApiMethod> {
+ public final static String METHOD_NAME = "PVR.GetBroadcasts";
+ private final static String LIST_NODE = "broadcasts";
+
+ /**
+ * Retrieves the program of a specific channel
+ *
+ * @param channelid Channel id, required
+ * @param properties Properties to retrieve. See {@link PVRType.FieldsBroadcast} for a list of
+ * accepted values
+ */
+ public GetBroadcasts(int channelid, String... properties) {
+ super();
+ addParameterToRequest("channelid", channelid);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new PVRType.DetailsBroadcast(item));
+ }
+
+ return result;
+ }
+ }
+
+
+ /**
+ * Retrieves the recordings
+ */
+ public static class GetRecordings extends ApiMethod> {
+ public final static String METHOD_NAME = "PVR.GetRecordings";
+ private final static String LIST_NODE = "recordings";
+
+ /**
+ * Retrieves the recordings
+ *
+ * @param properties Properties to retrieve. See {@link PVRType.FieldsRecording} for a list of
+ * accepted values
+ */
+ public GetRecordings(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new PVRType.DetailsRecording(item));
+ }
+
+ return result;
+ }
+ }
+ /**
+ * Toggle recording of a channel
+ */
+ public static final class Record extends ApiMethod {
+ public final static String METHOD_NAME = "PVR.Record";
+
+ /**
+ * Records a channel
+ */
+ public Record(boolean record) {
+ super();
+ addParameterToRequest("record", record);
+ }
+
+ /**
+ * Toggle recording of a channel
+ */
+ public Record() {
+ super();
+ addParameterToRequest("record", "toggle");
+ }
+
+ /**
+ * Records a channel
+ */
+ public Record(int channelId) {
+ super();
+ addParameterToRequest("channel", channelId);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+
+ /**
+ * Starts a channel scan
+ */
+ public static final class Scan extends ApiMethod {
+ public final static String METHOD_NAME = "PVR.Shutdown";
+
+ /**
+ * Starts a channel scan
+ */
+ public Scan() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Player.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Player.java
new file mode 100644
index 0000000..68e84a4
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Player.java
@@ -0,0 +1,581 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.ListType;
+import org.xbmc.kore.jsonrpc.type.PlayerType;
+import org.xbmc.kore.jsonrpc.type.PlayerType.GetActivePlayersReturnType;
+import org.xbmc.kore.jsonrpc.type.PlaylistType;
+import org.xbmc.kore.utils.JsonUtils;
+
+import java.util.ArrayList;
+
+/**
+ * All JSON RPC methods in Playyer.*
+ */
+public class Player {
+
+ /**
+ * Returns all active players.
+ */
+ public static final class GetActivePlayers extends ApiMethod> {
+ public final static String METHOD_NAME = "Player.GetActivePlayers";
+
+ /**
+ * Returns all active players.
+ */
+ public GetActivePlayers() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public ArrayList resultFromJson(ObjectNode jsonObject) throws ApiException {
+ ArrayNode resultNode = (ArrayNode)jsonObject.get(RESULT_NODE);
+ ArrayList res = new ArrayList<>();
+ if (resultNode != null) {
+ for (JsonNode node : resultNode) {
+ res.add(new GetActivePlayersReturnType(node));
+ }
+ }
+ return res;
+ }
+ }
+
+ /**
+ * Retrieves the currently played item
+ */
+ public static final class GetItem extends ApiMethod {
+ public final static String METHOD_NAME = "Player.GetItem";
+
+ /**
+ * Retrieves the currently played item
+ * @param playerId Player id for which to retrieve the item
+ * @param properties Properties to retrieve.
+ * See {@link ListType.FieldsAll} for a list of accepted values
+ */
+ public GetItem(int playerId, String... properties) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public ListType.ItemsAll resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return new ListType.ItemsAll(jsonObject.get(RESULT_NODE).get("item"));
+ }
+ }
+
+ /**
+ * Retrieves the values of the given properties
+ */
+ public static final class GetProperties extends ApiMethod {
+ public final static String METHOD_NAME = "Player.GetProperties";
+
+ /**
+ * Retrieves the values of the given properties
+ * @param playerId Player id for which to retrieve the item
+ * @param properties Properties to retrieve.
+ * See {@link PlayerType.PropertyName} constants for a list of accepted values
+ */
+ public GetProperties(int playerId, String... properties) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public PlayerType.PropertyValue resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return new PlayerType.PropertyValue(jsonObject.get(RESULT_NODE));
+ }
+ }
+
+ /**
+ * Pauses or unpause playback and returns the new state
+ */
+ public static final class PlayPause extends ApiMethod {
+ public final static String METHOD_NAME = "Player.PlayPause";
+
+ /**
+ * Pauses or unpause playback and returns the new state
+ * @param playerId Player id for which to toggle the state
+ */
+ public PlayPause(int playerId) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("play", "toggle");
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public Integer resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return JsonUtils.intFromJsonNode(jsonObject.get(RESULT_NODE), "speed");
+ }
+ }
+
+ /**
+ * Set the speed of the current playback
+ */
+ public static final class SetSpeed extends ApiMethod {
+ public final static String METHOD_NAME = "Player.SetSpeed";
+
+ /**
+ * Set the speed of the current playback
+ * @param playerId Player id for which to toggle the state
+ * @param speed String enum in {@link org.xbmc.kore.jsonrpc.type.GlobalType.IncrementDecrement}
+ */
+ public SetSpeed(int playerId, String speed) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("speed", speed);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public Integer resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return JsonUtils.intFromJsonNode(jsonObject.get(RESULT_NODE), "speed");
+ }
+ }
+
+ /**
+ * Stops playback
+ */
+ public static final class Stop extends ApiMethod {
+ public final static String METHOD_NAME = "Player.Stop";
+
+ /**
+ * Stops playback
+ * @param playerId Player id for which to stop playback
+ */
+ public Stop(int playerId) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Go to previous/next/specific item in the playlist.
+ */
+ public static final class GoTo extends ApiMethod {
+ public final static String METHOD_NAME = "Player.GoTo";
+
+ /**
+ * Go to constants
+ */
+ public static final String PREVIOUS = "previous";
+ public static final String NEXT = "next";
+
+ /**
+ * Go to previous/next/specific item in the playlist.
+ * @param playerId Player id for which to stop playback
+ * @param to Where to go. See this class constants for values
+ */
+ public GoTo(int playerId, String to) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("to", to);
+ }
+
+ /**
+ * Go to previous/next/specific item in the playlist.
+ * @param playerId Player id for which to stop playback
+ * @param to position in playlist
+ */
+ public GoTo(int playerId, int to) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("to", to);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Seek through the playing item
+ */
+ public static final class Seek extends ApiMethod {
+ public final static String METHOD_NAME = "Player.Seek";
+
+ /**
+ * Seek constants
+ */
+ public static final String BACKWARD = "smallbackward";
+ public static final String FORWARD = "smallforward";
+
+ /**
+ * Seek through the playing item (by time)
+ * @param playerId Player id for which to stop playback
+ * @param value Where to seek
+ */
+ public Seek(int playerId, PlayerType.PositionTime value) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ ObjectNode valueObject = objectMapper.createObjectNode();
+ if (value != null)
+ valueObject.set("time", value.toJsonNode());
+ addParameterToRequest("value", valueObject);
+ }
+
+ /**
+ * Seek through the playing item (by percentage)
+ * @param playerId Player id for which to stop playback
+ * @param value Percentage
+ */
+ public Seek(int playerId, int value) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ ObjectNode valueObject = objectMapper.createObjectNode();
+ valueObject.put("percentage", value);
+ addParameterToRequest("value", valueObject);
+ }
+
+ /**
+ * Seek through the playing item (by step)
+ * @param playerId Player id for which to stop playback
+ * @param value step (smallbackward/smallforward)
+ */
+ public Seek(int playerId, String value) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ ObjectNode valueObject = objectMapper.createObjectNode();
+ valueObject.put("step", value);
+ addParameterToRequest("value", valueObject);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public PlayerType.SeekReturnType resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return new PlayerType.SeekReturnType(jsonObject.get(RESULT_NODE));
+ }
+ }
+
+ /**
+ * Set the subtitle displayed by the player
+ */
+ public static final class SetSubtitle extends ApiMethod {
+ public final static String METHOD_NAME = "Player.SetSubtitle";
+
+ /**
+ * SetSubtitle constants
+ */
+ public static final String PREVIOUS = "previous";
+ public static final String NEXT = "next";
+ public static final String OFF = "off";
+ public static final String ON = "on";
+
+ /**
+ * Set the subtitle displayed by the player
+ * @param playerId Player id for which to stop playback
+ * @param subtitle One of the constanstants of this class
+ * @param enable Whether to enable subtitles to be displayed after setting the new subtitle
+ */
+ public SetSubtitle(int playerId, String subtitle, boolean enable) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("subtitle", subtitle);
+ addParameterToRequest("enable", enable);
+ }
+
+ /**
+ * Set the subtitle displayed by the player
+ * @param playerId Player id for which to stop playback
+ * @param subtitle Index of the subtitle to display
+ * @param enable Whether to enable subtitles to be displayed after setting the new subtitle
+ */
+ public SetSubtitle(int playerId, int subtitle, boolean enable) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("subtitle", subtitle);
+ addParameterToRequest("enable", enable);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Set the audio stream played by the player
+ */
+ public static final class SetAudioStream extends ApiMethod {
+ public final static String METHOD_NAME = "Player.SetAudioStream";
+
+ /**
+ * SetAudioStream constants
+ */
+ public static final String PREVIOUS = "previous";
+ public static final String NEXT = "next";
+
+ /**
+ * Set the audio stream played by the player
+ * @param playerId Player id for which to stop playback
+ * @param stream One of the constanstants of this class
+ */
+ public SetAudioStream(int playerId, String stream) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("stream", stream);
+ }
+
+ /**
+ * Set the audio stream played by the player
+ * @param playerId Player id for which to stop playback
+ * @param stream Index of the audio stream to play
+ */
+ public SetAudioStream(int playerId, int stream) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("stream", stream);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Set the repeat mode of the player
+ */
+ public static final class SetRepeat extends ApiMethod {
+ public final static String METHOD_NAME = "Player.SetRepeat";
+
+ /**
+ * Set the repeat mode of the player
+ * @param playerId Player id for which to stop playback
+ * @param repeat Repeat mode, see {@link org.xbmc.kore.jsonrpc.type.PlayerType.Repeat}
+ */
+ public SetRepeat(int playerId, String repeat) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("repeat", repeat);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Shuffle/Unshuffle items in the player
+ */
+ public static final class SetShuffle extends ApiMethod {
+ public final static String METHOD_NAME = "Player.SetShuffle";
+
+ /**
+ * Shuffle/Unshuffle items in the player
+ * @param playerId Player id for which to shuffle
+ * @param shuffle True/false
+ */
+ public SetShuffle(int playerId, boolean shuffle) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("shuffle", shuffle);
+ }
+
+ /**
+ * Shuffle/Unshuffle items in the player
+ * @param playerId Player id for which to shuffle
+ */
+ public SetShuffle(int playerId) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("shuffle", "toggle");
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Set/Unset Party Mode on the player
+ */
+ public static final class SetPartymode extends ApiMethod {
+ public final static String METHOD_NAME = "Player.SetPartymode";
+
+ /**
+ * Set/Unset Party Mode on the player
+ * @param playerId Player id for which to shuffle
+ * @param partymode True/false
+ */
+ public SetPartymode(int playerId, boolean partymode) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("partymode", partymode);
+ }
+
+ /**
+ * Set/Unset Party Mode on the player
+ * @param playerId Player id for which to shuffle
+ */
+ public SetPartymode(int playerId) {
+ super();
+ addParameterToRequest("playerid", playerId);
+ addParameterToRequest("partymode", "toggle");
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Start playback of either the playlist with the given ID, a slideshow with the pictures
+ * from the given directory or a single file or an item from the database.
+ */
+ public static final class Open extends ApiMethod {
+ public final static String METHOD_NAME = "Player.Open";
+
+ public final static String TYPE_PLAYLIST = "playlist",
+ TYPE_CHANNEL = "channel",
+ TYPE_RECORDING = "recording";
+
+ /**
+ * Start playback of either the playlist with the given ID, a slideshow with the pictures
+ * from the given directory or a single file or an item from the database.
+ * @param itemType This should always be TYPE_PLAYLIST
+ * @param playlistId Id
+ * @param position Position to start
+ */
+ public Open(String itemType, int playlistId, int position) {
+ super();
+ final ObjectNode item = objectMapper.createObjectNode();
+ item.put("playlistid", playlistId);
+ item.put("position", position);
+ addParameterToRequest("item", item);
+ }
+
+ /**
+ * Start playback of either the playlist with the given ID, a slideshow with the pictures
+ * from the given directory or a single file or an item from the database.
+ * @param playlistItem Item to play
+ */
+ public Open(PlaylistType.Item playlistItem) {
+ super();
+ addParameterToRequest("item", playlistItem.toJsonNode());
+ }
+
+ /**
+ * Starts playing a playlist or channel
+ * @param itemType TYPE_PLAYLIST or TYPE_CHANNEL
+ * @param itemId Corresponding ID to open
+ */
+ public Open(String itemType, int itemId) {
+ super();
+ final ObjectNode item = objectMapper.createObjectNode();
+ switch (itemType) {
+ case TYPE_PLAYLIST:
+ item.put("playlistid", itemId);
+ break;
+ case TYPE_CHANNEL:
+ item.put("channelid", itemId);
+ break;
+ case TYPE_RECORDING:
+ item.put("recordingid", itemId);
+ break;
+ }
+ addParameterToRequest("item", item);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Send notification message to XBMC/Kodi
+ */
+ public static final class Notification extends ApiMethod {
+ public final static String METHOD_NAME = "GUI.ShowNotification";
+
+ /**
+ * Sends a text notification message to XBMC/Kodi
+ * @param title The title of the notification
+ * @param message The text message of the notification
+ */
+ public Notification(String title, String message) {
+ super(false);
+ addParameterToRequest("title", title);
+ addParameterToRequest("message", message);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Playlist.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Playlist.java
new file mode 100644
index 0000000..66fdfaa
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Playlist.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.ListType;
+import org.xbmc.kore.jsonrpc.type.PlaylistType;
+import org.xbmc.kore.jsonrpc.type.PlaylistType.GetPlaylistsReturnType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * JSON RPC methods in Playlist.*
+ */
+public class Playlist {
+
+ /**
+ * Returns all existing playlists
+ */
+ public static final class GetPlaylists extends ApiMethod> {
+ public final static String METHOD_NAME = "Playlist.GetPlaylists";
+
+ /**
+ * Returns all existing playlists
+ */
+ public GetPlaylists() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public ArrayList resultFromJson(ObjectNode jsonObject) throws ApiException {
+ ArrayNode resultNode = (ArrayNode)jsonObject.get(RESULT_NODE);
+ ArrayList res = new ArrayList<>();
+ if (resultNode != null) {
+ for (JsonNode node : resultNode) {
+ res.add(new GetPlaylistsReturnType(node));
+ }
+ }
+ return res;
+ }
+ }
+
+ /**
+ * Get all items from playlist
+ */
+ public static final class GetItems extends ApiMethod> {
+ public final static String METHOD_NAME = "Playlist.GetItems";
+
+ /**
+ * Get all items from playlist
+ * @param playlistId Playlist id for which to get the items
+ * @param properties Properties to retrieve.
+ * See {@link ListType.FieldsAll} for a list of accepted values
+ */
+ public GetItems(int playlistId, String... properties) {
+ super();
+ addParameterToRequest("playlistid", playlistId);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject) throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ if (!resultNode.has("items") || (!resultNode.get("items").isArray()) ||
+ ((resultNode.get("items")).size() == 0)) {
+ return new ArrayList<>(0);
+ }
+ ArrayNode items = (ArrayNode)resultNode.get("items");
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new ListType.ItemsAll(item));
+ }
+
+ return result;
+ }
+ }
+
+ /**
+ * Clear playlist
+ */
+ public static final class Clear extends ApiMethod {
+ public final static String METHOD_NAME = "Playlist.Clear";
+
+ /**
+ * Clear playlist
+ */
+ public Clear(int playlistId) {
+ super();
+ addParameterToRequest("playlistid", playlistId);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Remove item from playlist. Does not work for picture playlists (aka slideshows).
+ */
+ public static final class Remove extends ApiMethod {
+ public final static String METHOD_NAME = "Playlist.Remove";
+
+ /**
+ * Remove item from playlist. Does not work for picture playlists (aka slideshows).
+ */
+ public Remove(int playlistId, int position) {
+ super();
+ addParameterToRequest("playlistid", playlistId);
+ addParameterToRequest("position", position);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Add item(s) to playlist
+ */
+ public static final class Add extends ApiMethod {
+ public final static String METHOD_NAME = "Playlist.Add";
+
+ /**
+ * Add item(s) to playlist
+ */
+ public Add(int playlistId, PlaylistType.Item item) {
+ super();
+ addParameterToRequest("playlistid", playlistId);
+ addParameterToRequest("item", item);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+
+ public static final class Insert extends ApiMethod {
+ public final static String METHOD_NAME = "Playlist.Insert";
+
+ /**
+ * Add item(s) to playlist
+ */
+ public Insert(int playlistId, int position, PlaylistType.Item item) {
+ super();
+ addParameterToRequest("playlistid", playlistId);
+ addParameterToRequest("position", position);
+ addParameterToRequest("item", item);
+ }
+
+ @Override
+ public String getMethodName() { return METHOD_NAME; }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/Settings.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Settings.java
new file mode 100644
index 0000000..beb742a
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/Settings.java
@@ -0,0 +1,381 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+
+/**
+ * All JSON RPC methods in Settings.*
+ */
+public class Settings {
+ // Get the settings from:
+ // https://github.com/xbmc/xbmc/blob/master/system/settings/settings.xml
+
+ // The settings are only defined here on as as-needed basis
+// lookandfeel.skin
+// lookandfeel.skinsettings
+// lookandfeel.skintheme
+// lookandfeel.skincolors
+// lookandfeel.font
+// lookandfeel.skinzoom
+// lookandfeel.startupwindow
+// lookandfeel.soundskin
+// lookandfeel.stereostrength
+// lookandfeel.enablerssfeeds
+// lookandfeel.rssedit
+// locale.language
+// locale.country
+// locale.charset
+// locale.keyboardlayouts
+// locale.timezonecountry
+// locale.timezone
+// locale.shortdateformat
+// locale.longdateformat
+// locale.timeformat
+// locale.use24hourclock
+// locale.temperatureunit
+// locale.speedunit
+// filelists.showparentdiritems
+// filelists.showextensions
+// filelists.ignorethewhensorting
+// filelists.allowfiledeletion
+// filelists.showaddsourcebuttons
+// filelists.showhidden
+// screensaver.mode
+// screensaver.settings
+// screensaver.preview
+// screensaver.time
+// screensaver.usemusicvisinstead
+// screensaver.usedimonpause
+// window.width
+// window.height
+// videolibrary.showunwatchedplots
+// videolibrary.actorthumbs
+// myvideos.flatten
+// videolibrary.flattentvshows
+// videolibrary.tvshowsselectfirstunwatcheditem
+// videolibrary.tvshowsincludeallseasonsandspecials
+// videolibrary.showallitems
+// videolibrary.groupmoviesets
+// videolibrary.groupsingleitemsets
+// videolibrary.showemptytvshows
+// videolibrary.updateonstartup
+// videolibrary.backgroundupdate
+// videolibrary.cleanup
+// videolibrary.export
+// videolibrary.import
+// locale.audiolanguage
+// videoplayer.preferdefaultflag
+// videoplayer.autoplaynextitem
+// videoplayer.seeksteps
+// videoplayer.seekdelay
+// videoplayer.adjustrefreshrate
+// videoplayer.usedisplayasclock
+// videoplayer.errorinaspect
+// videoplayer.stretch43
+// videoplayer.teletextenabled
+// videoplayer.teletextscale
+// videoplayer.stereoscopicplaybackmode
+// videoplayer.quitstereomodeonstop
+// videoplayer.rendermethod
+// videoplayer.hqscalers
+// videoplayer.useamcodec
+// videoplayer.usevdpau
+// videoplayer.usevdpaumixer
+// videoplayer.usevdpaumpeg2
+// videoplayer.usevdpaumpeg4
+// videoplayer.usevdpauvc1
+// videoplayer.usevaapi
+// videoplayer.usevaapimpeg2
+// videoplayer.usevaapimpeg4
+// videoplayer.usevaapivc1
+// videoplayer.prefervaapirender
+// videoplayer.usedxva2
+// videoplayer.useomxplayer
+// videoplayer.useomx
+// videoplayer.usevideotoolbox
+// videoplayer.usevda
+// myvideos.selectaction
+// myvideos.extractflags
+// myvideos.extractchapterthumbs
+// myvideos.replacelabels
+// myvideos.extractthumb
+// myvideos.stackvideos
+// locale.subtitlelanguage
+// subtitles.parsecaptions
+// subtitles.align
+// subtitles.stereoscopicdepth
+// subtitles.font
+// subtitles.height
+// subtitles.style
+// subtitles.color
+// subtitles.charset
+// subtitles.overrideassfonts
+// subtitles.languages
+// subtitles.storagemode
+// subtitles.custompath
+// subtitles.pauseonsearch
+// subtitles.downloadfirst
+// subtitles.tv
+// subtitles.movie
+// dvds.autorun
+// dvds.playerregion
+// dvds.automenu
+// bluray.playerregion
+// disc.playback
+// accessibility.audiovisual
+// accessibility.audiohearing
+// accessibility.subhearing
+// scrapers.moviesdefault
+// scrapers.tvshowsdefault
+// scrapers.musicvideosdefault
+// pvrmanager.enabled
+// pvrmanager.hideconnectionlostwarning
+// pvrmanager.syncchannelgroups
+// pvrmanager.backendchannelorder
+// pvrmanager.usebackendchannelnumbers
+// pvrmanager.channelmanager
+// pvrmanager.groupmanager
+// pvrmanager.channelscan
+// pvrmanager.resetdb
+// pvrmenu.displaychannelinfo
+// pvrmenu.closechannelosdonswitch
+// pvrmenu.iconpath
+// pvrmenu.searchicons
+// epg.daystodisplay
+// epg.selectaction
+// epg.hidenoinfoavailable
+// epg.epgupdate
+// epg.preventupdateswhileplayingtv
+// epg.ignoredbforclient
+// epg.resetepg
+// pvrplayback.playminimized
+// pvrplayback.startlast
+// pvrplayback.signalquality
+// pvrplayback.scantime
+// pvrplayback.confirmchannelswitch
+// pvrplayback.channelentrytimeout
+// pvrplayback.fps
+// pvrplayback.enableradiords
+// pvrplayback.trafficadvisory
+// pvrplayback.trafficadvisoryvolume
+// pvrplayback.sendrdstrafficmsg
+// pvrrecord.instantrecordtime
+// pvrrecord.defaultpriority
+// pvrrecord.defaultlifetime
+// pvrrecord.marginstart
+// pvrrecord.marginend
+// pvrrecord.preventduplicateepisodes
+// pvrrecord.timernotifications
+// pvrpowermanagement.enabled
+// pvrpowermanagement.backendidletime
+// pvrpowermanagement.setwakeupcmd
+// pvrpowermanagement.prewakeup
+// pvrpowermanagement.dailywakeup
+// pvrpowermanagement.dailywakeuptime
+// pvrparental.enabled
+// pvrparental.pin
+// pvrparental.duration
+// pvrclient.menuhook
+// pvrtimers.timertypefilter
+// pvrtimers.hidedisabledtimers
+// musiclibrary.showcompilationartists
+// musiclibrary.downloadinfo
+// musiclibrary.albumsscraper
+// musiclibrary.artistsscraper
+// musiclibrary.overridetags
+// musiclibrary.showallitems
+// musiclibrary.updateonstartup
+// musiclibrary.backgroundupdate
+// musiclibrary.cleanup
+// musiclibrary.export
+// musiclibrary.import
+// musicplayer.autoplaynextitem
+// musicplayer.queuebydefault
+// musicplayer.seeksteps
+// musicplayer.seekdelay
+// musicplayer.replaygaintype
+// musicplayer.replaygainpreamp
+// musicplayer.replaygainnogainpreamp
+// musicplayer.replaygainavoidclipping
+// musicplayer.crossfade
+// musicplayer.crossfadealbumtracks
+// musicplayer.visualisation
+// musicfiles.usetags
+// musicfiles.trackformat
+// musicfiles.nowplayingtrackformat
+// musicfiles.librarytrackformat
+// musicfiles.findremotethumbs
+// audiocds.autoaction
+// audiocds.usecddb
+// audiocds.recordingpath
+// audiocds.trackpathformat
+// audiocds.encoder
+// audiocds.settings
+// audiocds.ejectonrip
+// mymusic.startwindow
+// mymusic.songthumbinvis
+// mymusic.defaultlibview
+// pictures.generatethumbs
+// pictures.showvideos
+// pictures.displayresolution
+// slideshow.staytime
+// slideshow.displayeffects
+// slideshow.shuffle
+// weather.currentlocation
+// weather.addon
+// weather.addonsettings
+// services.devicename
+// services.upnpserver
+// services.upnpannounce
+// services.upnplookforexternalsubtitles
+// services.upnpcontroller
+// services.upnprenderer
+// services.webserver
+// services.webserverport
+// services.webserverusername
+// services.webserverpassword
+// services.webskin
+// services.esenabled
+// services.esport
+// services.esportrange
+// services.esmaxclients
+// services.esallinterfaces
+// services.esinitialdelay
+// services.escontinuousdelay
+// services.zeroconf
+// services.airplay
+// services.airplayvolumecontrol
+// services.useairplaypassword
+// services.airplaypassword
+// services.airplayvideosupport
+// smb.winsserver
+// smb.workgroup
+// videoscreen.monitor
+// videoscreen.screen
+// videoscreen.resolution
+// videoscreen.screenmode
+// videoscreen.fakefullscreen
+// videoscreen.blankdisplays
+// videoscreen.delayrefreshchange
+// videoscreen.stereoscopicmode
+// videoscreen.preferedstereoscopicmode
+// videoscreen.vsync
+// videoscreen.guicalibration
+// videoscreen.testpattern
+// videoscreen.limitedrange
+// videoscreen.dither
+// videoscreen.ditherdepth
+// audiooutput.audiodevice
+// audiooutput.channels
+// audiooutput.config
+// audiooutput.samplerate
+// audiooutput.stereoupmix
+// audiooutput.maintainoriginalvolume
+// audiooutput.processquality
+// audiooutput.streamsilence
+// audiooutput.supportdtshdcpudecoding
+// audiooutput.dspaddonsenabled
+// audiooutput.dspsettings
+// audiooutput.dspresetdb
+// audiooutput.guisoundmode
+// audiooutput.passthrough
+// audiooutput.passthroughdevice
+// audiooutput.ac3passthrough
+// audiooutput.ac3transcode
+// audiooutput.eac3passthrough
+// audiooutput.dtspassthrough
+// audiooutput.truehdpassthrough
+// audiooutput.dtshdpassthrough
+// input.peripherals
+// input.enablemouse
+// input.enablejoystick
+// network.usehttpproxy
+// network.httpproxytype
+// network.httpproxyserver
+// network.httpproxyport
+// network.httpproxyusername
+// network.httpproxypassword
+// network.bandwidth
+// powermanagement.displaysoff
+// powermanagement.shutdowntime
+// powermanagement.shutdownstate
+// powermanagement.wakeonaccess
+// eventlog.enabled
+// eventlog.enablednotifications
+// eventlog.show
+// debug.showloginfo
+// debug.extralogging
+// debug.setextraloglevel
+// debug.screenshotpath
+// masterlock.lockcode
+// masterlock.startuplock
+// masterlock.maxretries
+// cache.harddisk
+// cachevideo.dvdrom
+// cachevideo.lan
+// cachevideo.internet
+// cacheaudio.dvdrom
+// cacheaudio.lan
+// cacheaudio.internet
+// cachedvd.dvdrom
+// cachedvd.lan
+// cacheunknown.internet
+// system.playlistspath
+// general.addonupdates
+// general.addonnotifications
+// general.addonforeignfilter
+// general.addonbrokenfilter
+
+ public final static String PVRMANAGER_ENABLED = "pvrmanager.enabled";
+
+
+ /**
+ * Retrieves the value of a setting
+ * Note, this returns a raw JsonNode. It is the responsibility of the caller to
+ * retrieve and parse the value, taking into account the specific setting type
+ * that was requested
+ */
+ public static final class GetSettingValue extends ApiMethod {
+ public final static String METHOD_NAME = "Settings.GetSettingValue";
+
+ /**
+ * Retrieves the value of a setting
+ * Note, this returns a raw JsonNode. It is the responsibility of the caller to
+ * retrieve and parse the value, taking into account the specific setting type
+ * that was requested
+ */
+ public GetSettingValue(String setting) {
+ super();
+ addParameterToRequest("setting", setting);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public JsonNode resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).get("value");
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/System.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/System.java
new file mode 100644
index 0000000..8d8f7e2
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/System.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+
+/**
+ * All JSON RPC methods in System.*
+ */
+public class System {
+
+ /**
+ * Shuts the system running XBMC down
+ */
+ public static final class Shutdown extends ApiMethod {
+ public final static String METHOD_NAME = "System.Shutdown";
+
+ /**
+ * Shuts the system running XBMC down
+ */
+ public Shutdown() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Suspends the system running XBMC
+ */
+ public static final class Suspend extends ApiMethod {
+ public final static String METHOD_NAME = "System.Suspend";
+
+ /**
+ * Suspends the system running XBMC
+ */
+ public Suspend() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Reboots the system running XBMC
+ */
+ public static final class Reboot extends ApiMethod {
+ public final static String METHOD_NAME = "System.Reboot";
+
+ /**
+ * Reboots the system running XBMC
+ */
+ public Reboot() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/method/VideoLibrary.java b/app/src/main/java/org/xbmc/kore/jsonrpc/method/VideoLibrary.java
new file mode 100644
index 0000000..9478c96
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/method/VideoLibrary.java
@@ -0,0 +1,471 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.method;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiException;
+import org.xbmc.kore.jsonrpc.ApiList;
+import org.xbmc.kore.jsonrpc.ApiMethod;
+import org.xbmc.kore.jsonrpc.type.ListType;
+import org.xbmc.kore.jsonrpc.type.VideoType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * JSON RPC methods in VideoLibrary.*
+ */
+public class VideoLibrary {
+
+ /**
+ * Cleans the video library from non-existent items.
+ */
+ public static class Clean extends ApiMethod {
+ public final static String METHOD_NAME = "VideoLibrary.Clean";
+
+ /**
+ * Cleans the video library from non-existent items.
+ */
+ public Clean() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Scans the video sources for new library items.
+ */
+ public static class Scan extends ApiMethod {
+ public final static String METHOD_NAME = "VideoLibrary.Scan";
+
+ /**
+ * Scans the video sources for new library items.
+ */
+ public Scan() {
+ super();
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Retrieve all movies
+ */
+ public static class GetMovies extends ApiMethod> {
+ public final static String METHOD_NAME = "VideoLibrary.GetMovies";
+
+ private final static String LIST_NODE = "movies";
+
+ /**
+ * Retrieve all movies, without limits
+ * Caution, this can break in large libraries
+ *
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsMovie} for a list of
+ * accepted values
+ */
+ public GetMovies(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ /**
+ * Retrieve all movies, with limits
+ *
+ * @param limits Limits to retrieve. See {@link ListType.Limits}
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsMovie} for a list of
+ * accepted values
+ */
+ public GetMovies(ListType.Limits limits, String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ addParameterToRequest("limits", limits);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public ApiList resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ ListType.LimitsReturned limits = new ListType.LimitsReturned(jsonObject);
+
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ApiList<>(new ArrayList<>(0), limits);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new VideoType.DetailsMovie(item));
+ }
+
+ return new ApiList<>(result, limits);
+ }
+ }
+
+ /**
+ * Retrieve details about a specific movie
+ */
+ public static class GetMovieDetails extends ApiMethod {
+ public final static String METHOD_NAME = "VideoLibrary.GetMovieDetails";
+
+ /**
+ * Retrieve details about a specific movie
+ *
+ * @param movieId Movie id
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsMovie} for a list of
+ * accepted values
+ */
+ public GetMovieDetails(int movieId, String... properties) {
+ super();
+ addParameterToRequest("movieid", movieId);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public VideoType.DetailsMovie resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ return new VideoType.DetailsMovie(jsonObject.get(RESULT_NODE).get("moviedetails"));
+ }
+ }
+
+ /**
+ * Update the given movie with the given details
+ * Just the parameters we can change in the gui
+ */
+ public static class SetMovieDetails extends ApiMethod {
+ public final static String METHOD_NAME = "VideoLibrary.SetMovieDetails";
+
+ /**
+ * Update the given movie with the given details
+ *
+ * @param movieid Movie id
+ */
+ public SetMovieDetails(int movieid, Integer playcount, Double rating) {
+ super();
+ addParameterToRequest("movieid", movieid);
+ if (playcount != null) addParameterToRequest("playcount", playcount);
+ if (rating != null) addParameterToRequest("rating", rating);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Retrieve all TV Shows
+ */
+ public static class GetTVShows extends ApiMethod> {
+ public final static String METHOD_NAME = "VideoLibrary.GetTVShows";
+
+ private final static String LIST_NODE = "tvshows";
+
+ /**
+ * Retrieve all tv shows
+ *
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsTVShow} for a
+ * list of accepted values
+ */
+ public GetTVShows(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ /**
+ * Retrieve all tv shows, with limits
+ *
+ * @param limits Limits to retrieve. See {@link ListType.Limits}
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsMovie} for a list of
+ * accepted values
+ */
+ public GetTVShows(ListType.Limits limits, String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ addParameterToRequest("limits", limits);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public ApiList resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ ListType.LimitsReturned limits = new ListType.LimitsReturned(jsonObject);
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ApiList<>(new ArrayList<>(0), limits);
+ }
+ ArrayList result = new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new VideoType.DetailsTVShow(item));
+ }
+
+ return new ApiList<>(result, limits);
+ }
+ }
+
+ /**
+ * Retrieve details about a specific tv show
+ */
+ public static class GetTVShowDetails extends ApiMethod {
+ public final static String METHOD_NAME = "VideoLibrary.GetTVShowDetails";
+
+ /**
+ * Retrieve details about a specific tv show
+ *
+ * @param tvshowId Show id
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsTVShow} for a
+ * list of accepted values
+ */
+ public GetTVShowDetails(int tvshowId, String... properties) {
+ super();
+ addParameterToRequest("tvshowid", tvshowId);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public VideoType.DetailsTVShow resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ return new VideoType.DetailsTVShow(jsonObject.get(RESULT_NODE).get("tvshowdetails"));
+ }
+ }
+
+ /**
+ * Update the given episode with the given details
+ * Just the parameters we can change in the gui
+ */
+ public static class SetEpisodeDetails extends ApiMethod {
+ public final static String METHOD_NAME = "VideoLibrary.SetEpisodeDetails";
+
+ /**
+ * Update the given episode with the given details
+ *
+ * @param episodeid Episode id
+ */
+ public SetEpisodeDetails(int episodeid, Integer playcount, Double rating) {
+ super();
+ addParameterToRequest("episodeid", episodeid);
+ if (playcount != null) addParameterToRequest("playcount", playcount);
+ if (rating != null) addParameterToRequest("rating", rating);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public String resultFromJson(ObjectNode jsonObject) throws ApiException {
+ return jsonObject.get(RESULT_NODE).textValue();
+ }
+ }
+
+ /**
+ * Retrieve all tv seasons
+ */
+ public static class GetSeasons extends ApiMethod> {
+ public final static String METHOD_NAME = "VideoLibrary.GetSeasons";
+
+ private final static String LIST_NODE = "seasons";
+
+ /**
+ * Retrieve all tv seasons
+ *
+ * @param tvshowid TV Show id
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsSeason} for a
+ * list of accepted values
+ */
+ public GetSeasons(int tvshowid, String... properties) {
+ super();
+ addParameterToRequest("tvshowid", tvshowid);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items
+ .size());
+
+ for (JsonNode item : items) {
+ result.add(new VideoType.DetailsSeason(item));
+ }
+
+ return result;
+ }
+ }
+
+ /**
+ * Retrieve all tv show episodes
+ */
+ public static class GetEpisodes extends ApiMethod> {
+ public final static String METHOD_NAME = "VideoLibrary.GetEpisodes";
+
+ private final static String LIST_NODE = "episodes";
+
+ /**
+ * Retrieve all tv show episodes
+ *
+ * @param tvshowid TV Show id
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsEpisode} for a
+ * list of accepted values
+ */
+ public GetEpisodes(int tvshowid, String... properties) {
+ super();
+ addParameterToRequest("tvshowid", tvshowid);
+ addParameterToRequest("properties", properties);
+ }
+
+ /**
+ * Retrieve all tv show episodes
+ *
+ * @param tvshowid TV Show id
+ * @param season Season
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsEpisode} for a
+ * list of accepted values
+ */
+ public GetEpisodes(int tvshowid, int season, String... properties) {
+ super();
+ addParameterToRequest("tvshowid", tvshowid);
+ addParameterToRequest("season", season);
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result = new ArrayList<>(items
+ .size());
+
+ for (JsonNode item : items) {
+ result.add(new VideoType.DetailsEpisode(item));
+ }
+
+ return result;
+ }
+ }
+
+ /**
+ * Retrieve all music videos
+ */
+ public static class GetMusicVideos extends ApiMethod> {
+ public final static String METHOD_NAME = "VideoLibrary.GetMusicVideos";
+
+ private final static String LIST_NODE = "musicvideos";
+
+ /**
+ * Retrieve all music videos
+ *
+ * @param properties Properties to retrieve. See {@link VideoType.FieldsMusicVideo} for a
+ * list of accepted values
+ */
+ public GetMusicVideos(String... properties) {
+ super();
+ addParameterToRequest("properties", properties);
+ }
+
+ @Override
+ public String getMethodName() {
+ return METHOD_NAME;
+ }
+
+ @Override
+ public List resultFromJson(ObjectNode jsonObject)
+ throws ApiException {
+ JsonNode resultNode = jsonObject.get(RESULT_NODE);
+ ArrayNode items = resultNode.has(LIST_NODE) ?
+ (ArrayNode)resultNode.get(LIST_NODE) : null;
+ if (items == null) {
+ return new ArrayList<>(0);
+ }
+ ArrayList result =
+ new ArrayList<>(items.size());
+
+ for (JsonNode item : items) {
+ result.add(new VideoType.DetailsMusicVideo(item));
+ }
+
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Application.java b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Application.java
new file mode 100644
index 0000000..d907f9e
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Application.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.notification;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiNotification;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * All Player.* notifications
+ */
+public class Application {
+
+ /**
+ * Player.OnSpeedChanged notification
+ * Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.
+ * be provided.
+ */
+ public static class OnVolumeChanged extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Application.OnVolumeChanged";
+
+ public final int volume;
+ public final boolean muted;
+
+ public OnVolumeChanged(ObjectNode node) {
+ super(node);
+ ObjectNode dataNode = (ObjectNode)node.get("data");
+ volume = JsonUtils.intFromJsonNode(dataNode, "volume");
+ muted = JsonUtils.booleanFromJsonNode(dataNode, "muted");
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Input.java b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Input.java
new file mode 100644
index 0000000..11bcb55
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Input.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.notification;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiNotification;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Input.* notifications
+ */
+public class Input {
+
+ /**
+ * Input.OnInputRequested
+ * The user is requested to provide some information
+ */
+ public static class OnInputRequested extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Input.OnInputRequested";
+
+ public static final String DATA_NODE = "data";
+
+ public final String title;
+ public final String type;
+ public final String value;
+
+ public OnInputRequested(ObjectNode node) {
+ super(node);
+ ObjectNode dataNode = (ObjectNode)node.get(DATA_NODE);
+ title = JsonUtils.stringFromJsonNode(dataNode, "title");
+ type = JsonUtils.stringFromJsonNode(dataNode, "type");
+ value = JsonUtils.stringFromJsonNode(dataNode, "value");
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Player.java b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Player.java
new file mode 100644
index 0000000..d0ff6e3
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Player.java
@@ -0,0 +1,294 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.notification;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiNotification;
+import org.xbmc.kore.jsonrpc.type.GlobalType;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * All Player.* notifications
+ */
+public class Player {
+
+ /**
+ * Player.OnPropertyChanged notification
+ * Player properties have changed. Such as repeat type and shuffle mode
+ */
+ public static class OnPropertyChanged extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnPropertyChanged";
+
+ public final NotificationsData data;
+
+ public OnPropertyChanged(ObjectNode node) {
+ super(node);
+ data = new NotificationsData(node.get(NotificationsData.DATA_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnPause notification
+ * Playback of a media item has been paused. If there is no ID available extra information will be provided.
+ */
+ public static class OnPause extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnPause";
+
+ public final NotificationsData data;
+
+ public OnPause(ObjectNode node) {
+ super(node);
+ data = new NotificationsData(node.get(NotificationsData.DATA_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnPlay notification
+ * Playback of a media item has been started or the playback speed has changed. If there is no
+ * ID available extra information will be provided.
+ */
+ public static class OnPlay extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnPlay";
+
+ public final NotificationsData data;
+
+ public OnPlay(ObjectNode node) {
+ super(node);
+ data = new NotificationsData(node.get(NotificationsData.DATA_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnResume notification
+ * Playback of a media item has been resumed. If there is no ID available extra information will be provided.
+ */
+ public static class OnResume extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnResume";
+
+ public final NotificationsData data;
+
+ public OnResume(ObjectNode node) {
+ super(node);
+ data = new NotificationsData(node.get(NotificationsData.DATA_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnSeek notification
+ * The playback position has been changed. If there is no ID available extra information will
+ * be provided.
+ */
+ public static class OnSeek extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnSeek";
+
+ public final NotificationsItem item;
+ public final GlobalType.Time time;
+ public final GlobalType.Time seekoffset;
+
+ public OnSeek(ObjectNode node) {
+ super(node);
+ ObjectNode dataNode = (ObjectNode)node.get("data");
+ item = new NotificationsItem(dataNode.get(NotificationsItem.ITEM_NODE));
+ ObjectNode playerNode = (ObjectNode)dataNode.get("player");
+ time = new GlobalType.Time(playerNode.get("time"));
+ seekoffset = new GlobalType.Time(playerNode.get("seekoffset"));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnSpeedChanged notification
+ * Speed of the playback of a media item has been changed. If there is no ID available extra information will be provided.
+ * be provided.
+ */
+ public static class OnSpeedChanged extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnSpeedChanged";
+
+ public final NotificationsData data;
+
+ public OnSpeedChanged(ObjectNode node) {
+ super(node);
+ data = new NotificationsData(node.get(NotificationsData.DATA_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnStop notification
+ * Playback of a media item has been stopped. If there is no ID available extra information will be provided.
+ */
+ public static class OnStop extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnStop";
+
+ public final boolean end;
+ public final NotificationsItem item;
+
+ public OnStop(ObjectNode node) {
+ super(node);
+ ObjectNode dataNode = (ObjectNode)node.get("data");
+ end = JsonUtils.booleanFromJsonNode(dataNode, "end");
+ item = new NotificationsItem(dataNode.get(NotificationsItem.ITEM_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnAVStart notification
+ * Will be triggered on playback start if the first frame was drawn.
+ * If there is no ID available extra information will be provided
+ */
+ public static class OnAVStart extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnAVStart";
+
+ public final NotificationsData data;
+
+ public OnAVStart(ObjectNode node) {
+ super(node);
+ data = new NotificationsData(node.get(NotificationsData.DATA_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Player.OnAVChange notification
+ * Audio- or videostream has changed.
+ * If there is no ID available extra information will be provided
+ */
+ public static class OnAVChange extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Player.OnAVChange";
+
+ public final NotificationsData data;
+
+ public OnAVChange(ObjectNode node) {
+ super(node);
+ data = new NotificationsData(node.get(NotificationsData.DATA_NODE));
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * Notification data for Player
+ */
+ public static class NotificationsPlayer {
+ public static final String PLAYER_NODE = "player";
+
+ public final int playerId;
+ public final int speed;
+
+ public NotificationsPlayer(JsonNode node) {
+ playerId = JsonUtils.intFromJsonNode(node, "playerid");
+ speed = JsonUtils.intFromJsonNode(node, "speed", 0);
+ }
+ }
+
+ /**
+ * General notification data
+ */
+ public static class NotificationsItem {
+ public static final String ITEM_NODE = "item";
+ /**
+ * The item types
+ */
+ public static final String TYPE_UNKNOWN = "unknown",
+ TYPE_MOVIE = "movie",
+ TYPE_EPISODE = "episode",
+ TYPE_MUSIC_VIDEO = "musicvideo",
+ TYPE_SONG = "song",
+ TYPE_PICTURE = "picture",
+ TYPE_CHANNEL = "channel";
+
+ public final String type;
+ public final int id;
+ public final String title;
+ public final int year;
+ public final int episode;
+ public final int season;
+ public final String showtitle;
+ public final String album;
+ public final String artist;
+ public final int track;
+
+ public NotificationsItem(JsonNode node) {
+ type = JsonUtils.stringFromJsonNode(node, "type", TYPE_UNKNOWN);
+ id = JsonUtils.intFromJsonNode(node, "speed");
+ title = JsonUtils.stringFromJsonNode(node, "title");
+ year = JsonUtils.intFromJsonNode(node, "year", 0);
+ episode = JsonUtils.intFromJsonNode(node, "episode", 0);
+ season = JsonUtils.intFromJsonNode(node, "season", 0);
+ showtitle = JsonUtils.stringFromJsonNode(node, "showtitle");
+ album = JsonUtils.stringFromJsonNode(node, "album");
+ artist = JsonUtils.stringFromJsonNode(node, "artist");
+ track = JsonUtils.intFromJsonNode(node, "track", 0);
+ }
+ }
+
+ /**
+ * Notification data for player properties
+ */
+ public static class NotificationsProperty {
+ public static final String PROPERTY_NODE = "property";
+
+ public final Boolean shuffled;
+ public final String repeatMode;
+ public final Boolean partymode;
+
+ public NotificationsProperty(JsonNode node) {
+ JsonNode propertyNode = node.get("shuffled");
+ shuffled = (propertyNode == null) ? null : propertyNode.asBoolean();
+ propertyNode = node.get("partymode");
+ partymode = (propertyNode == null) ? null : propertyNode.asBoolean();
+
+ repeatMode = JsonUtils.stringFromJsonNode(node, "repeat");
+ }
+ }
+
+ public static class NotificationsData {
+ public static final String DATA_NODE = "data";
+
+ public final NotificationsPlayer player;
+ public final NotificationsItem item;
+ public final NotificationsProperty property;
+
+ public NotificationsData(JsonNode node) {
+ JsonNode jsonNode = node.get(NotificationsItem.ITEM_NODE);
+ item = (jsonNode != null) ? new NotificationsItem(jsonNode) : null;
+
+ jsonNode = node.get(NotificationsPlayer.PLAYER_NODE);
+ player = (jsonNode != null)
+ ? new NotificationsPlayer(jsonNode)
+ : null;
+
+ jsonNode = node.get(NotificationsProperty.PROPERTY_NODE);
+ property = (jsonNode != null) ? new NotificationsProperty(jsonNode) : null;
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Playlist.java b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Playlist.java
new file mode 100644
index 0000000..9a0dad1
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/Playlist.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.notification;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.jsonrpc.ApiNotification;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * All Playlist.* notifications
+ */
+public class Playlist {
+
+ /**
+ * Player.OnClear notification
+ * Playlist has been cleared
+ */
+ public static class OnClear extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Playlist.OnClear";
+
+ public final int playlistId;
+
+ public OnClear(ObjectNode node) {
+ super(node);
+ ObjectNode dataNode = (ObjectNode)node.get("data");
+ playlistId = JsonUtils.intFromJsonNode(dataNode, "playlistid");
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ public static class OnAdd extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Playlist.OnAdd";
+
+ public final int playlistId;
+
+ public OnAdd(ObjectNode node) {
+ super(node);
+ ObjectNode dataNode = (ObjectNode)node.get("data");
+ playlistId = JsonUtils.intFromJsonNode(dataNode, "playlistid");
+ }
+
+ @Override
+ public String getNotificationName() {
+ return NOTIFICATION_NAME;
+ }
+ }
+
+ public static class OnRemove extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "Playlist.OnRemove";
+
+ public final int playlistId;
+
+ public OnRemove(ObjectNode node) {
+ super(node);
+ ObjectNode dataNode = (ObjectNode)node.get("data");
+ playlistId = JsonUtils.intFromJsonNode(dataNode, "playlistid");
+ }
+
+ @Override
+ public String getNotificationName() {
+ return NOTIFICATION_NAME;
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/notification/System.java b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/System.java
new file mode 100644
index 0000000..2c87545
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/notification/System.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.notification;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.xbmc.kore.jsonrpc.ApiNotification;
+
+/**
+ * System.* notifications
+ */
+public class System {
+
+ /**
+ * System.OnQuit notification
+ * XBMC will be closed
+ */
+ public static class OnQuit extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "System.OnQuit";
+
+ public OnQuit(ObjectNode node) {
+ super(node);
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * System.OnRestart notification
+ * The system will be restarted.
+ */
+ public static class OnRestart extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "System.OnRestart";
+
+ public OnRestart(ObjectNode node) {
+ super(node);
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+
+ /**
+ * System.OnSleep notification
+ * The system will be suspended.
+ */
+ public static class OnSleep extends ApiNotification {
+ public static final String NOTIFICATION_NAME = "System.OnSleep";
+
+ public OnSleep(ObjectNode node) {
+ super(node);
+ }
+
+ public String getNotificationName() { return NOTIFICATION_NAME; }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/AddonType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/AddonType.java
new file mode 100644
index 0000000..a9c9270
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/AddonType.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Types in Addon.*
+ */
+public class AddonType {
+ /**
+ * Enums for Addon.Fields
+ */
+ public interface Fields {
+ String NAME = "name";
+ String VERSION = "version";
+ String SUMMARY = "summary";
+ String DESCRIPTION = "description";
+ String PATH = "path";
+ String AUTHOR = "author";
+ String THUMBNAIL = "thumbnail";
+ String DISCLAIMER = "disclaimer";
+ String FANART = "fanart";
+ String DEPENDENCIES = "dependencies";
+ String BROKEN = "broken";
+ String EXTRAINFO = "extrainfo";
+ String RATING = "rating";
+ String ENABLED = "enabled";
+
+ String[] allValues = new String[] {
+ NAME, VERSION, SUMMARY, DESCRIPTION, PATH, AUTHOR, THUMBNAIL, DISCLAIMER,
+ FANART, DEPENDENCIES, BROKEN, EXTRAINFO, RATING, ENABLED
+ };
+ }
+
+ /**
+ * Enums for Addon.Types
+ */
+ public interface Types {
+ String UNKNOWN = "unknown";
+ String XBMC_METADATA_SCRAPER_ALBUMS = "xbmc.metadata.scraper.albums";
+ String XBMC_METADATA_SCRAPER_ARTISTS = "xbmc.metadata.scraper.artists";
+ String XBMC_METADATA_SCRAPER_MOVIES = "xbmc.metadata.scraper.movies";
+ String XBMC_METADATA_SCRAPER_MUSICVIDEOS = "xbmc.metadata.scraper.musicvideos";
+ String XBMC_METADATA_SCRAPER_TVSHOWS = "xbmc.metadata.scraper.tvshows";
+ String XBMC_UI_SCREENSAVER = "xbmc.ui.screensaver";
+ String XBMC_PLAYER_MUSICVIZ = "xbmc.player.musicviz";
+ String XBMC_PYTHON_PLUGINSOURCE = "xbmc.python.pluginsource";
+ String XBMC_PYTHON_SCRIPT = "xbmc.python.script";
+ String XBMC_PYTHON_WEATHER = "xbmc.python.weather";
+ String XBMC_PYTHON_SUBTITLES = "xbmc.python.subtitles";
+ String XBMC_PYTHON_LYRICS = "xbmc.python.lyrics";
+ String XBMC_GUI_SKIN = "xbmc.gui.skin";
+ String XBMC_GUI_WEBINTERFACE = "xbmc.gui.webinterface";
+ String XBMC_PVRCLIENT = "xbmc.pvrclient";
+ String XBMC_ADDON_VIDEO = "xbmc.addon.video";
+ String XBMC_ADDON_AUDIO = "xbmc.addon.audio";
+ String XBMC_ADDON_IMAGE = "xbmc.addon.image";
+ String XBMC_ADDON_EXECUTABLE = "xbmc.addon.executable";
+ String XBMC_SERVICE = "xbmc.service";
+
+ String[] allValues = new String[]{
+ UNKNOWN, XBMC_METADATA_SCRAPER_ALBUMS, XBMC_METADATA_SCRAPER_ARTISTS,
+ XBMC_METADATA_SCRAPER_MOVIES, XBMC_METADATA_SCRAPER_MUSICVIDEOS,
+ XBMC_METADATA_SCRAPER_TVSHOWS, XBMC_UI_SCREENSAVER, XBMC_PLAYER_MUSICVIZ,
+ XBMC_PYTHON_PLUGINSOURCE, XBMC_PYTHON_SCRIPT, XBMC_PYTHON_WEATHER,
+ XBMC_PYTHON_SUBTITLES, XBMC_PYTHON_LYRICS, XBMC_GUI_SKIN, XBMC_GUI_WEBINTERFACE,
+ XBMC_PVRCLIENT, XBMC_ADDON_VIDEO, XBMC_ADDON_AUDIO, XBMC_ADDON_IMAGE,
+ XBMC_ADDON_EXECUTABLE, XBMC_SERVICE
+ };
+ }
+
+ public static class Details extends ItemType.DetailsBase {
+ public static final String ADDONID = "addonid";
+ public static final String AUTHOR = "author";
+ public static final String BROKEN = "broken";
+// public static final String DEPENDENCIES = "dependencies";
+ public static final String DESCRIPTION = "description";
+ public static final String DISCLAIMER = "disclaimer";
+ public static final String ENABLED = "enabled";
+// public static final String EXTRAINFO = "extrainfo";
+ public static final String FANART = "fanart";
+ public static final String NAME = "name";
+ public static final String PATH = "path";
+ public static final String RATING = "rating";
+ public static final String SUMMARY = "summary";
+ public static final String THUMBNAIL = "thumbnail";
+ public static final String TYPE = "type";
+ public static final String VERSION = "version";
+
+ public final String addonid;
+ public String author;
+ public final boolean broken;
+ public String description;
+ public final String disclaimer;
+ public final Boolean enabled;
+ public final String fanart;
+ public String name;
+ public final String path;
+ public final int rating;
+ public String summary;
+ public final String thumbnail;
+ public final String type;
+ public final String version;
+
+ /**
+ * Constructor
+ * @param node JSON object representing a Detail object
+ */
+ public Details(JsonNode node) {
+ super(node);
+ addonid = JsonUtils.stringFromJsonNode(node, ADDONID);
+ author = JsonUtils.stringFromJsonNode(node, AUTHOR);
+ broken = JsonUtils.booleanFromJsonNode(node, BROKEN, false);
+ description = JsonUtils.stringFromJsonNode(node, DESCRIPTION);
+ disclaimer = JsonUtils.stringFromJsonNode(node, DISCLAIMER);
+ enabled = JsonUtils.booleanFromJsonNode(node, ENABLED, false);
+ fanart = JsonUtils.stringFromJsonNode(node, FANART);
+ name = JsonUtils.stringFromJsonNode(node, NAME);
+ path = JsonUtils.stringFromJsonNode(node, PATH);
+ rating = JsonUtils.intFromJsonNode(node, RATING, 0);
+ summary = JsonUtils.stringFromJsonNode(node, SUMMARY);
+ thumbnail = JsonUtils.stringFromJsonNode(node, THUMBNAIL);
+ type = JsonUtils.stringFromJsonNode(node, TYPE);
+ version = JsonUtils.stringFromJsonNode(node, VERSION);
+ }
+
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/ApiParameter.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ApiParameter.java
new file mode 100644
index 0000000..8d3bd20
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ApiParameter.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+/**
+ * Interface that should be implemented by all API types that can be parameters to methods
+ */
+public interface ApiParameter {
+ JsonNode toJsonNode();
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/ApplicationType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ApplicationType.java
new file mode 100644
index 0000000..b6f0725
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ApplicationType.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Types defined in Application.*
+ */
+public class ApplicationType {
+
+ /**
+ * Application.Property.Value
+ */
+ public static class PropertyValue {
+ public static final String MUTED = "muted";
+ public static final String NAME = "name";
+ public static final String VERSION = "version";
+ public static final String VOLUME = "volume";
+
+ // class members
+ public final Boolean muted;
+ public final String name;
+ public final Version version;
+ public final Integer volume;
+
+ /**
+ * Contructor
+ * @param node JSON object representing a PropertyValue
+ */
+ public PropertyValue(JsonNode node) {
+ muted = JsonUtils.booleanFromJsonNode(node, MUTED, false);
+ name = JsonUtils.stringFromJsonNode(node, NAME);
+ version = new Version(node.get(VERSION));
+ volume = JsonUtils.intFromJsonNode(node, VOLUME, 0);
+ }
+
+ /**
+ * Version
+ */
+ public static class Version {
+ public static final String MAJOR = "major";
+ public static final String MINOR = "minor";
+ public static final String REVISION = "revision";
+ public static final String TAG = "tag";
+
+ public final Integer major;
+ public final Integer minor;
+ public final String revision;
+ public final String tag;
+
+ /**
+ * Constructor
+ * @param node JSON object representing a Version
+ */
+ public Version(JsonNode node) {
+ major = JsonUtils.intFromJsonNode(node, MAJOR, 0);
+ minor = JsonUtils.intFromJsonNode(node, MINOR, 0);
+ revision = JsonUtils.stringFromJsonNode(node, REVISION);
+ tag = JsonUtils.stringFromJsonNode(node, TAG);
+ }
+
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/AudioType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/AudioType.java
new file mode 100644
index 0000000..10fdf25
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/AudioType.java
@@ -0,0 +1,333 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import org.xbmc.kore.utils.JsonUtils;
+
+import java.util.List;
+
+/**
+ * Types from Audio.*
+ */
+public class AudioType {
+
+ /**
+ * Enums for Video.Fields.Artists
+ */
+ public interface FieldsArtists {
+ String INSTRUMENT = "instrument";
+ String STYLE = "style";
+ String MOOD = "mood";
+ String BORN = "born";
+ String FORMED = "formed";
+ String DESCRIPTION = "description";
+ String GENRE = "genre";
+ String DIED = "died";
+ String DISBANDED = "disbanded";
+ String YEARSACTIVE = "yearsactive";
+ String MUSICBRAINZARTISTID = "musicbrainzartistid";
+ String FANART = "fanart";
+ String THUMBNAIL = "thumbnail";
+ String COMPILATIONARTIST = "compilationartist";
+
+ String[] allValues = new String[]{
+ INSTRUMENT, STYLE, MOOD, BORN, FORMED, DESCRIPTION, GENRE, DIED, DISBANDED,
+ YEARSACTIVE, MUSICBRAINZARTISTID, FANART, THUMBNAIL, COMPILATIONARTIST
+ };
+ }
+
+ /**
+ * Audio.Details.Base
+ */
+ public static class DetailsBase extends MediaType.DetailsBase {
+ public static final String GENRE = "genre";
+
+ public final List genre;
+
+ /**
+ * Constructor
+ * @param node Json node
+ */
+ public DetailsBase(JsonNode node) {
+ super(node);
+ genre = JsonUtils.stringListFromJsonNode(node, GENRE);
+ }
+ }
+
+ /**
+ * Audio.Details.Media
+ */
+ public static class DetailsMedia extends DetailsBase {
+ public static final String ARTIST = "artist";
+ public static final String ARTISTID = "artistid";
+ public static final String DISPLAYARTIST = "displayartist";
+ public static final String GENREID = "genreid";
+ public static final String MUSICBRAINZALBUMARTISTID = "musicbrainzalbumartistid";
+ public static final String MUSICBRAINZALBUMID = "musicbrainzalbumid";
+ public static final String RATING = "rating";
+ public static final String TITLE = "title";
+ public static final String YEAR = "year";
+
+ // class members
+ public final List artist;
+ public final List artistid;
+ public final String displayartist;
+ public final List genreid;
+ public final String musicbrainzalbumartistid;
+ public final String musicbrainzalbumid;
+ public final int rating;
+ public final String title;
+ public final int year;
+
+ public DetailsMedia(JsonNode node) {
+ super(node);
+ artist = JsonUtils.stringListFromJsonNode(node, ARTIST);
+ artistid = JsonUtils.integerListFromJsonNode(node, ARTISTID);
+ displayartist = JsonUtils.stringFromJsonNode(node, DISPLAYARTIST);
+ genreid = JsonUtils.integerListFromJsonNode(node, GENREID);
+ musicbrainzalbumartistid = JsonUtils.stringFromJsonNode(node, MUSICBRAINZALBUMARTISTID);
+ musicbrainzalbumid = JsonUtils.stringFromJsonNode(node, MUSICBRAINZALBUMID);
+ rating = JsonUtils.intFromJsonNode(node, RATING);
+ title = JsonUtils.stringFromJsonNode(node, TITLE);
+ year = JsonUtils.intFromJsonNode(node, YEAR);
+ }
+ }
+
+ /**
+ * Audio.Details.Artist
+ */
+ public static class DetailsArtist extends DetailsBase {
+ public static final String ARTIST = "artist";
+ public static final String ARTISTID = "artistid";
+ public static final String BORN = "born";
+ public static final String COMPILATIONARTIST = "compilationartist";
+ public static final String DESCRIPTION = "description";
+ public static final String DIED = "died";
+ public static final String DISBANDED = "disbanded";
+ public static final String FORMED = "formed";
+ public static final String INSTRUMENT = "instrument";
+ public static final String MOOD = "mood";
+ public static final String MUSICBRAINZARTISTID = "musicbrainzartistid";
+ public static final String STYLE = "style";
+ public static final String YEARSACTIVE = "yearsactive";
+
+ public final String artist;
+ public final int artistid;
+ public final String born;
+ public final boolean compilationartist;
+ public final String description;
+ public final String died;
+ public final String disbanded;
+ public final String formed;
+ public final List instrument;
+ public final List mood;
+ public final String musicbrainzartistid;
+ public final List style;
+ public final List yearsactive;
+
+
+ /**
+ * Constructor
+ * @param node Json node
+ */
+ public DetailsArtist(JsonNode node) {
+ super(node);
+ artist = JsonUtils.stringFromJsonNode(node, ARTIST);
+ artistid = JsonUtils.intFromJsonNode(node, ARTISTID);
+ born = JsonUtils.stringFromJsonNode(node, BORN);
+ compilationartist = JsonUtils.booleanFromJsonNode(node, COMPILATIONARTIST, false);
+ description = JsonUtils.stringFromJsonNode(node, DESCRIPTION);
+ died = JsonUtils.stringFromJsonNode(node, DIED);
+ disbanded = JsonUtils.stringFromJsonNode(node, DISBANDED);
+ formed = JsonUtils.stringFromJsonNode(node, FORMED);
+ instrument = JsonUtils.stringListFromJsonNode(node, INSTRUMENT);
+ mood = JsonUtils.stringListFromJsonNode(node, MOOD);
+ musicbrainzartistid = JsonUtils.stringFromJsonNode(node, MUSICBRAINZARTISTID);
+ style = JsonUtils.stringListFromJsonNode(node, STYLE);
+ yearsactive = JsonUtils.stringListFromJsonNode(node, YEARSACTIVE);
+ }
+ }
+
+ /**
+ * Enums for Audio.Fields.Album
+ */
+ public interface FieldsAlbum {
+ String TITLE = "title";
+ String DESCRIPTION = "description";
+ String ARTIST = "artist";
+ String GENRE = "genre";
+ String THEME = "theme";
+ String MOOD = "mood";
+ String STYLE = "style";
+ String TYPE = "type";
+ String ALBUMLABEL = "albumlabel";
+ String RATING = "rating";
+ String YEAR = "year";
+ String MUSICBRAINZALBUMID = "musicbrainzalbumid";
+ String MUSICBRAINZALBUMARTISTID = "musicbrainzalbumartistid";
+ String FANART = "fanart";
+ String THUMBNAIL = "thumbnail";
+ String PLAYCOUNT = "playcount";
+ String GENREID = "genreid";
+ String ARTISTID = "artistid";
+ String DISPLAYARTIST = "displayartist";
+
+ String[] allValues = new String[]{
+ TITLE, DESCRIPTION, ARTIST, GENRE, THEME, MOOD, STYLE, TYPE, ALBUMLABEL, RATING,
+ YEAR, MUSICBRAINZALBUMID, MUSICBRAINZALBUMARTISTID, FANART, THUMBNAIL,
+ PLAYCOUNT, GENREID, ARTISTID, DISPLAYARTIST
+ };
+ }
+
+ /**
+ * Audio.Details.Album
+ */
+ public static class DetailsAlbum extends DetailsMedia {
+ public static final String ALBUMID = "albumid";
+ public static final String ALBUMLABEL = "albumlabel";
+ public static final String DESCRIPTION = "description";
+ public static final String MOOD = "mood";
+ public static final String PLAYCOUNT = "playcount";
+ public static final String STYLE = "style";
+ public static final String THEME = "theme";
+ public static final String TYPE = "type";
+
+ public final int albumid;
+ public final String albumlabel;
+ public final String description;
+ public final List mood;
+ public final int playcount;
+ public final List style;
+ public final List theme;
+ public final String type;
+
+ /**
+ * Constructor
+ * @param node Json node
+ */
+ public DetailsAlbum(JsonNode node) {
+ super(node);
+ albumid = JsonUtils.intFromJsonNode(node, ALBUMID);
+ albumlabel = JsonUtils.stringFromJsonNode(node, ALBUMLABEL);
+ description = JsonUtils.stringFromJsonNode(node, DESCRIPTION);
+ mood = JsonUtils.stringListFromJsonNode(node, MOOD);
+ playcount = JsonUtils.intFromJsonNode(node, PLAYCOUNT);
+ style = JsonUtils.stringListFromJsonNode(node, STYLE);
+ theme = JsonUtils.stringListFromJsonNode(node, THEME);
+ type = JsonUtils.stringFromJsonNode(node, TYPE);
+ }
+ }
+
+ /**
+ * Enums for Audio.Fields.Song
+ */
+ public interface FieldsSong {
+ String TITLE = "title";
+ String ARTIST = "artist";
+ String ALBUMARTIST = "albumartist";
+ String GENRE = "genre";
+ String YEAR = "year";
+ String RATING = "rating";
+ String ALBUM = "album";
+ String TRACK = "track";
+ String DURATION = "duration";
+ String COMMENT = "comment";
+ String LYRICS = "lyrics";
+ String MUSICBRAINZTRACKID = "musicbrainztrackid";
+ String MUSICBRAINZARTISTID = "musicbrainzartistid";
+ String MUSICBRAINZALBUMID = "musicbrainzalbumid";
+ String MUSICBRAINZALBUMARTISTID = "musicbrainzalbumartistid";
+ String PLAYCOUNT = "playcount";
+ String FANART = "fanart";
+ String THUMBNAIL = "thumbnail";
+ String FILE = "file";
+ String ALBUMID = "albumid";
+ String LASTPLAYED = "lastplayed";
+ String DISC = "disc";
+ String GENREID = "genreid";
+ String ARTISTID = "artistid";
+ String DISPLAYARTIST = "displayartist";
+ String ALBUMARTISTID = "albumartistid";
+
+ String[] allValues = new String[]{
+ TITLE, ARTIST, ALBUMARTIST, GENRE, YEAR, RATING, ALBUM, TRACK, DURATION,
+ COMMENT, LYRICS, MUSICBRAINZTRACKID, MUSICBRAINZARTISTID, MUSICBRAINZALBUMID,
+ MUSICBRAINZALBUMARTISTID, PLAYCOUNT, FANART, THUMBNAIL, FILE, ALBUMID,
+ LASTPLAYED, DISC, GENREID, ARTISTID, DISPLAYARTIST, ALBUMARTISTID
+ };
+ }
+
+ /**
+ * Audio.Details.Song
+ */
+ public static class DetailsSong extends DetailsMedia {
+ public static final String ALBUM = "album";
+ public static final String ALBUMARTIST = "albumartist";
+ public static final String ALBUMARTISTID = "albumartistid";
+ public static final String ALBUMID = "albumid";
+ public static final String COMMENT = "comment";
+ public static final String DISC = "disc";
+ public static final String DURATION = "duration";
+ public static final String FILE = "file";
+ public static final String LASTPLAYED = "lastplayed";
+ public static final String LYRICS = "lyrics";
+ public static final String MUSICBRAINZARTISTID = "musicbrainzartistid";
+ public static final String MUSICBRAINZTRACKID = "musicbrainztrackid";
+ public static final String PLAYCOUNT = "playcount";
+ public static final String SONGID = "songid";
+ public static final String TRACK = "track";
+
+ public final String album;
+ public final List albumartist;
+ public final List albumartistid;
+ public final int albumid;
+ public final String comment;
+ public final int disc;
+ public final int duration;
+ public final String file;
+ public final String lastplayed;
+ public final String lyrics;
+ public final String musicbrainzartistid;
+ public final String musicbrainztrackid;
+ public final int playcount;
+ public final int songid;
+ public final int track;
+
+ /**
+ * Constructor
+ * @param node Json node
+ */
+ public DetailsSong(JsonNode node) {
+ super(node);
+ album = JsonUtils.stringFromJsonNode(node, ALBUM);
+ albumid = JsonUtils.intFromJsonNode(node, ALBUMID);
+ albumartist = JsonUtils.stringListFromJsonNode(node, ALBUMARTIST);
+ albumartistid = JsonUtils.integerListFromJsonNode(node, ALBUMARTISTID);
+ comment = JsonUtils.stringFromJsonNode(node, COMMENT);
+ disc = JsonUtils.intFromJsonNode(node, DISC);
+ duration = JsonUtils.intFromJsonNode(node, DURATION);
+ file = JsonUtils.stringFromJsonNode(node, FILE);
+ lastplayed = JsonUtils.stringFromJsonNode(node, LASTPLAYED);
+ lyrics= JsonUtils.stringFromJsonNode(node, LYRICS);
+ musicbrainzartistid = JsonUtils.stringFromJsonNode(node, MUSICBRAINZARTISTID);
+ musicbrainztrackid = JsonUtils.stringFromJsonNode(node, MUSICBRAINZTRACKID);
+ playcount = JsonUtils.intFromJsonNode(node, PLAYCOUNT);
+ songid = JsonUtils.intFromJsonNode(node, SONGID);
+ track = JsonUtils.intFromJsonNode(node, TRACK);
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/FavouriteType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/FavouriteType.java
new file mode 100644
index 0000000..1714b1d
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/FavouriteType.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2017 XBMC Foundation. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Types from Favourite.*
+ */
+public class FavouriteType {
+
+ /**
+ * Favourite.Type
+ */
+ public interface FavouriteTypeEnum {
+ String MEDIA = "media";
+ String WINDOW = "window";
+ String SCRIPT = "script";
+ String UNKNOWN = "unknown";
+ }
+
+ /**
+ * Favourite.Details.Favourite
+ */
+ public static class DetailsFavourite {
+ public static final String PATH = "path";
+ public static final String THUMBNAIL = "thumbnail";
+ public static final String TITLE = "title";
+ public static final String TYPE = "type";
+ public static final String WINDOW = "window";
+ public static final String WINDOW_PARAMETER = "windowparameter";
+
+ public final String thumbnail;
+ public final String path;
+ public final String title;
+ public final String type;
+ public final String window;
+ public final String windowParameter;
+
+ public DetailsFavourite(JsonNode node) {
+ thumbnail = JsonUtils.stringFromJsonNode(node, THUMBNAIL);
+ path = JsonUtils.stringFromJsonNode(node, PATH);
+ title = JsonUtils.stringFromJsonNode(node, TITLE);
+ type = JsonUtils.stringFromJsonNode(node, TYPE, FavouriteTypeEnum.MEDIA);
+ window = JsonUtils.stringFromJsonNode(node, WINDOW);
+ windowParameter = JsonUtils.stringFromJsonNode(node, WINDOW_PARAMETER);
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/FilesType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/FilesType.java
new file mode 100644
index 0000000..8d18ed8
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/FilesType.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Return types for methods in Files.*
+ */
+public class FilesType {
+ /**
+ * GetActivePlayers return type
+ */
+ public static final class PrepareDownloadReturnType {
+ public final static String DETAILS = "details";
+ public final static String MODE = "mode";
+ public final static String PROTOCOL = "protocol";
+ public final static String PATH = "path";
+
+ // Returned info
+// public final String details;
+ public final String mode;
+ public final String protocol;
+ public final String path;
+
+ public PrepareDownloadReturnType(JsonNode node) {
+ mode = JsonUtils.stringFromJsonNode(node, MODE);
+ protocol = JsonUtils.stringFromJsonNode(node, PROTOCOL);
+
+ JsonNode details = node.get(DETAILS);
+ path = JsonUtils.stringFromJsonNode(details, PATH);
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/GlobalType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/GlobalType.java
new file mode 100644
index 0000000..0be9743
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/GlobalType.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Types from Global.*
+ */
+public class GlobalType {
+
+ /**
+ * Global.Time
+ */
+ public static class Time {
+ public static final String HOURS = "hours";
+ public static final String MILLISECONDS = "milliseconds";
+ public static final String MINUTES = "minutes";
+ public static final String SECONDS = "seconds";
+
+ public final int hours;
+ public final int milliseconds;
+ public final int minutes;
+ public final int seconds;
+
+ public Time(JsonNode node) {
+ hours = JsonUtils.intFromJsonNode(node, HOURS, 0);
+ milliseconds = JsonUtils.intFromJsonNode(node, MILLISECONDS, 0);
+ minutes = JsonUtils.intFromJsonNode(node, MINUTES, 0);
+ seconds = JsonUtils.intFromJsonNode(node, SECONDS, 0);
+ }
+
+ /**
+ * Returns the seconds from midnight that this time object represents
+ * @return Seconds from midnight
+ */
+ public int toSeconds() {
+ return hours * 3600 + minutes * 60 + seconds;
+ }
+
+ /**
+ * Returns miliseconds from midnight that this time object represents
+ * @return Miliseconds from midnight
+ */
+ public long toMiliseconds() {
+ return toSeconds() * 1000L;
+ }
+ }
+
+ /**
+ * Global.IncrementDecrement
+ */
+ public interface IncrementDecrement {
+ String INCREMENT = "increment";
+ String DECREMENT = "decrement";
+ }
+
+}
+
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/ItemType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ItemType.java
new file mode 100644
index 0000000..016c73e
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ItemType.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+/**
+ * Types from Item.*
+ */
+public class ItemType {
+ /**
+ * Item.Details.Base
+ */
+ public static class DetailsBase {
+ public static final String LABEL = "label";
+
+ public final String label;
+
+ public DetailsBase(JsonNode node) {
+ JsonNode labelNode = node.get(LABEL);
+ if (labelNode != null)
+ label = labelNode.asText();
+ else
+ label = null;
+ }
+ }
+
+ /**
+ * Item.Details.Source
+ */
+ public static class Source extends DetailsBase {
+ public static final String FILE = "file";
+
+ public final String file;
+
+ public Source(JsonNode node) {
+ super(node);
+ JsonNode fileNode = node.get(FILE);
+ if (fileNode != null)
+ file = fileNode.asText();
+ else
+ file = null;
+ }
+ }
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/LibraryType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/LibraryType.java
new file mode 100644
index 0000000..5d9ac48
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/LibraryType.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import org.xbmc.kore.utils.JsonUtils;
+
+/**
+ * Types from Library.*
+ */
+public class LibraryType {
+ /**
+ * Enums for Library.Fields.Genre
+ */
+ public interface FieldsGenre {
+ String TITLE = "title";
+ String THUMBNAIL = "thumbnail";
+
+ String[] allValues = new String[]{
+ TITLE, THUMBNAIL
+ };
+ }
+
+ /**
+ * Library.Details.Genre
+ */
+ public static class DetailsGenre extends ItemType.DetailsBase {
+ public static final String GENREID = "genreid";
+ public static final String THUMBNAIL = "thumbnail";
+ public static final String TITLE = "title";
+
+ // class members
+ public final Integer genreid;
+ public final String thumbnail;
+ public final String title;
+
+ /**
+ * Constructor
+ * @param node Json node
+ */
+ public DetailsGenre(JsonNode node) {
+ super(node);
+ genreid = JsonUtils.intFromJsonNode(node, GENREID);
+ thumbnail = JsonUtils.stringFromJsonNode(node, THUMBNAIL);
+ title = JsonUtils.stringFromJsonNode(node, TITLE);
+ }
+ }
+
+}
diff --git a/app/src/main/java/org/xbmc/kore/jsonrpc/type/ListType.java b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ListType.java
new file mode 100644
index 0000000..cdeb822
--- /dev/null
+++ b/app/src/main/java/org/xbmc/kore/jsonrpc/type/ListType.java
@@ -0,0 +1,686 @@
+/*
+ * Copyright 2015 Synced Synapse. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.xbmc.kore.jsonrpc.type;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.xbmc.kore.utils.JsonUtils;
+
+import java.util.List;
+
+/**
+ * Types defined in List.*
+ */
+public class ListType {
+
+ /**
+ * List.Item.Base type
+ */
+ public static class ItemBase {
+ public static final String TYPE_MOVIE = "movie";
+ public static final String TYPE_EPISODE = "episode";
+ public static final String TYPE_SONG = "song";
+ public static final String TYPE_MUSIC_VIDEO = "musicvideo";
+ public static final String TYPE_UNKNOWN = "unknown";
+ public static final String TYPE_PICTURE = "picture";
+ public static final String TYPE_CHANNEL = "channel";
+ public static final String TYPE_ALBUM = "album";
+
+ // From List.Item.Base
+ public static final String ALBUM = "album";
+ public static final String ALBUMARTIST = "albumartist";
+ public static final String ALBUMARTISTID = "albumartistid";
+ public static final String ALBUMID = "albumid";
+ public static final String ALBUMLABEL = "albumlabel";
+ public static final String CAST = "cast";
+ public static final String COMMENT = "comment";
+ public static final String COUNTRY = "country";
+ public static final String DESCRIPTION = "description";
+ public static final String DISC = "disc";
+ public static final String DURATION = "duration";
+ public static final String EPISODE = "episode";
+ public static final String EPISODEGUIDE = "episodeguide";
+ public static final String FIRSTAIRED = "firstaired";
+ public static final String ID = "id";
+ public static final String IMDBNUMBER = "imdbnumber";
+ public static final String LYRICS = "lyrics";
+ public static final String MOOD = "mood";
+ public static final String MPAA = "mpaa";
+ public static final String MUSICBRAINZARTISTID = "musicbrainzartistid";
+ public static final String MUSICBRAINZTRACKID = "musicbrainztrackid";
+ public static final String ORIGINALTITLE = "originaltitle";
+ public static final String PLOTOUTLINE = "plotoutline";
+ public static final String PREMIERED = "premiered";
+ public static final String PRODUCTIONCODE = "productioncode";
+ public static final String SEASON = "season";
+ public static final String SET = "set";
+ public static final String SETID = "setid";
+ public static final String SHOWLINK = "showlink";
+ public static final String SHOWTITLE = "showtitle";
+ public static final String SORTTITLE = "sorttitle";
+ public static final String STUDIO = "studio";
+ public static final String STYLE = "style";
+ public static final String TAG = "tag";
+ public static final String TAGLINE = "tagline";
+ public static final String THEME = "theme";
+ public static final String TOP250 = "top250";
+ public static final String TRACK = "track";
+ public static final String TRAILER = "trailer";
+ public static final String TVSHOWID = "tvshowid";
+ public static final String TYPE = "type";
+ public static final String UNIQUEID = "uniqueid";
+ public static final String VOTES = "votes";
+ public static final String WATCHEDEPISODES = "watchedepisodes";
+ public static final String WRITER = "writer";
+
+ public final String album;
+ public final List albumartist;
+ public final List albumartistid;
+ public final int albumid;
+ public final String albumlabel;
+ public final List cast;
+ public final String comment;
+ public final List country;
+ public final String description;
+ public final int disc;
+ public final int duration;
+ public final int episode;
+ public final String episodeguide;
+ public final String firstaired;
+ public final int id;
+ public final String imdbnumber;
+ public final String lyrics;
+ public final List mood;
+ public final String mpaa;
+ public final String musicbrainzartistid;
+ public final String musicbrainztrackid;
+ public final String originaltitle;
+ public final String plotoutline;
+ public final String premiered;
+ public final String productioncode;
+ public final int season;
+ public final String set;
+ public final int setid;
+ public final List showlink;
+ public final String showtitle;
+ public final String sorttitle;
+ public final List studio;
+ public final List style;
+ public final List tag;
+ public final String tagline;
+ public final List theme;
+ public final int top250;
+ public final int track;
+ public final String trailer;
+ public final int tvshowid;
+ public final String type;
+ // public final HashMap uniqueid;
+ public final String votes;
+ public final int watchedepisodes;
+ public final List writer;
+
+
+ // From Video.Details.Base
+ public static final String ART = "art";
+ public static final String PLAYCOUNT = "playcount";
+
+ public MediaType.Artwork art;
+ public int playcount;
+
+
+ // From Audio.Details.Media
+ public static final String ARTIST = "artist";
+ public static final String ARTISTID = "artistid";
+ public static final String DISPLAYARTIST = "displayartist";
+ public static final String GENREID = "genreid";
+ public static final String MUSICBRAINZALBUMARTISTID = "musicbrainzalbumartistid";
+ public static final String MUSICBRAINZALBUMID = "musicbrainzalbumid";
+ public static final String RATING = "rating";
+ public static final String TITLE = "title";
+ public static final String YEAR = "year";
+
+ public final List