diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj index 35e06f39d..c8dcc388a 100755 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -126,6 +126,7 @@ + diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters index 8900a9be6..c0b49bea5 100755 --- a/src/core/core.vcxproj.filters +++ b/src/core/core.vcxproj.filters @@ -264,5 +264,8 @@ src\library + + src\library + \ No newline at end of file diff --git a/src/core/library/LocalLibraryConstants.h b/src/core/library/LocalLibraryConstants.h new file mode 100755 index 000000000..e7f2a844b --- /dev/null +++ b/src/core/library/LocalLibraryConstants.h @@ -0,0 +1,156 @@ +////////////////////////////////////////////////////////////////////////////// +// +// License Agreement: +// +// The following are Copyright © 2008, Daniel Önnerby +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +////////////////////////////////////////////////////////////////////////////// + +#pragma once + +namespace musik { namespace core { namespace library { namespace constants { + + namespace Track { + static const char* TABLE_NAME = "tracks"; + static const char* ID = "id"; + static const char* TRACK_NUM = "track"; + static const char* BPM = "bpm"; + static const char* DURATION = "duration"; + static const char* FILESIZE = "filesize"; + static const char* YEAR = "year"; + static const char* DISPLAY_GENRE_ID = "visual_genre_id"; + static const char* DISPLAY_ARTIST_ID = "visual_artist_id"; + static const char* ALBUM_ID = "album_id"; + static const char* RELATIVE_PATH_ID = "folder_id"; + static const char* TITLE = "title"; + static const char* FILENAME = "filename"; + static const char* FILETIME = "filetime"; + static const char* THUMBNAIL_ID = "thumbnail_id"; + static const char* SORT_ORDER = "sort_order1"; + static const char* PATH = "path"; /* not in DB; synthesized */ + } + + namespace Genres { + static const char* TABLE_NAME = "genres"; + static const char* ID = "id"; + static const char* NAME = "name"; + static const char* AGGREGATED = "aggregated"; + static const char* SORT_ORDER = "sort_order"; + } + + namespace TrackGenres { + static const char* TABLE_NAME = "track_genres"; + static const char* ID = "id"; + static const char* TRACK_ID = "track_id"; + static const char* GENRE_ID = "genre_id"; + } + + namespace Artists { + static const char* TABLE_NAME = "artists"; + static const char* ID = "id"; + static const char* NAME = "name"; + static const char* AGGREGATED = "aggregated"; + static const char* SORT_ORDER = "sort_order"; + } + + namespace ArtistGenres { + static const char* TABLE_NAME = "artist_genres"; + static const char* ID = "id"; + static const char* TRACK_ID = "track_id"; + static const char* GENRE_ID = "artist_id"; + } + + namespace Albums { + static const char* TABLE_NAME = "albums"; + static const char* ID = "id"; + static const char* NAME = "name"; + static const char* THUMBNAIL_ID = "thumbnail_id"; + static const char* SORT_ORDER = "sort_order"; + } + + namespace NormalizedKeys { + static const char* TABLE_NAME = "meta_keys"; + static const char* ID = "id"; + static const char* NAME = "name"; + } + + namespace NormalizedValues { + static const char* TABLE_NAME = "meta_values"; + static const char* ID = "id"; + static const char* KEY_ID = "meta_key_id"; + static const char* SORT_ORDER = "sort_order"; + static const char* CONTENT = "content"; + } + + namespace ExtendedTrackMetadata { + static const char* TABLE_NAME = "track_meta"; + static const char* ID = "id"; + static const char* TRACK_ID = "track_id"; + static const char* VALUE_ID = "meta_value_id"; + } + + namespace Paths { + static const char* TABLE_NAME = "paths"; + static const char* ID = "id"; + static const char* PATH = "path"; + } + + namespace RelativePaths { + static const char* TABLE_NAME = "folders"; + static const char* ID = "id"; + static const char* NAME = "name"; + static const char* RELATIVE_PATH = "relative_path"; + static const char* PARENT_ID = "parent_id"; + static const char* PATH_ID = "path_id"; + } + + namespace Thumbnails { + static const char* TABLE_NAME = "thumbnails"; + static const char* ID = "id"; + static const char* FILENAME = "filename"; + static const char* FILESIZE = "filesize"; + static const char* CHECKSUM = "checksum"; + } + + namespace Playlists { + static const char* TABLE_NAME = "playlists"; + static const char* ID = "id"; + static const char* NAME = "name"; + } + + namespace PlaylistTracks { + static const char* TABLE_NAME = "playlist_tracks"; + static const char* TRACK_ID = "track_id"; + static const char* PLAYLIST_ID = "playlist_id"; + static const char* SORT_ORDER = "sort_order"; + } + +} } } } diff --git a/src/musikbox/musikbox.vcxproj.filters b/src/musikbox/musikbox.vcxproj.filters index be7bd2c2a..2a2575eee 100755 --- a/src/musikbox/musikbox.vcxproj.filters +++ b/src/musikbox/musikbox.vcxproj.filters @@ -3,71 +3,41 @@ - - curses - curses - view + window - view + window - view + window - view - - - curses - - - curses + window - view + window - view + window curses - - curses - - view + window - view + window - view - - - curses - - - curses - - - curses - - - curses + window - view - - - curses - - - curses + window curses @@ -81,38 +51,59 @@ query + + curses\util + + + curses\util + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + - - curses - curses - view + window - view + window - view + window - view - - - curses - - - curses + window - view + window - view + window curses @@ -120,41 +111,20 @@ curses - - curses - - view + window curses - view + window - view - - - curses - - - curses - - - curses - - - curses + window - view - - - curses - - - curses + window curses @@ -177,6 +147,36 @@ query + + curses\util + + + curses\util + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + + + curses\window + @@ -185,8 +185,14 @@ {8de1fc82-96fd-4871-a6b0-fed0d6b21aa1} - + + {c7d44e46-7435-49a2-a8fb-f304ad069a96} + + {c1ada983-8f4e-4ac4-86be-fa6fdffec375} + + {e225eaf8-808a-4550-96b6-d86e748bedab} + \ No newline at end of file