From 7e34493d740e1491f629f0e7d13d049b09e8ffbb Mon Sep 17 00:00:00 2001 From: codestation Date: Sat, 31 Aug 2013 01:36:49 -0430 Subject: [PATCH] Enable the rest of the music categories but filter out any files from them (for now). --- cmarootobject.cpp | 14 +++++++------- database.cpp | 11 ++++++++++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/cmarootobject.cpp b/cmarootobject.cpp index 872d1b5..eb9c6a1 100644 --- a/cmarootobject.cpp +++ b/cmarootobject.cpp @@ -37,13 +37,13 @@ void CMARootObject::initObject(const QString &path) case VITA_OHFI_MUSIC: metadata.dataType = Music; this->path = path; - num_filters = 2; - filters = new metadata_t[2]; - //createFilter(&filters[0], "Artists", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_ARTISTS); - createFilter(&filters[0], "Albums", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_ALBUMS); - createFilter(&filters[1], "All", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_SONGS); - //createFilter(&filters[3], "Genres", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_GENRES); - //createFilter(&filters[4], "Playlists", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_PLAYLISTS); + num_filters = 5; + filters = new metadata_t[5]; + createFilter(&filters[0], "Artists", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_ARTISTS); + createFilter(&filters[1], "Albums", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_ALBUMS); + createFilter(&filters[2], "Songs", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_SONGS); + createFilter(&filters[3], "Genres", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_GENRES); + createFilter(&filters[4], "Playlists", VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_PLAYLISTS); break; case VITA_OHFI_PHOTO: diff --git a/database.cpp b/database.cpp index 02c3b09..2700621 100644 --- a/database.cpp +++ b/database.cpp @@ -388,7 +388,16 @@ int Database::acceptFilteredObject(const CMAObject *parent, const CMAObject *cur result = (current->metadata.dataType & Music); } - if(type & (VITA_DIR_TYPE_MASK_ALL | VITA_DIR_TYPE_MASK_SONGS)) { + if(type == (VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_ARTISTS)) { + // unimplemented + return 0; + } else if(type == (VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_GENRES)) { + // unimplemented + return 0; + } else if(type == (VITA_DIR_TYPE_MASK_MUSIC | VITA_DIR_TYPE_MASK_ROOT | VITA_DIR_TYPE_MASK_PLAYLISTS)) { + // unimplemented + return 0; + } else if(type & (VITA_DIR_TYPE_MASK_ALL | VITA_DIR_TYPE_MASK_SONGS)) { result = result && (current->metadata.dataType & File); } else if(type & (VITA_DIR_TYPE_MASK_REGULAR)) { result = (parent->metadata.ohfi == current->metadata.ohfiParent);