2 Copyright 2004-2005 Chris Tallon
4 This file is part of VOMP.
6 VOMP is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 VOMP is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with VOMP; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #include "directory.h"
23 Directory::Directory(const char* newName)
27 name = new char[strlen(newName) + 1];
28 strcpy(name, newName);
33 Directory::~Directory()
35 if (name) delete[] name;
37 index = -1; // just in case
40 for (i = 0; i < dirList.size(); i++)
46 for (i = 0; i < recList.size(); i++)
53 Directory* Directory::getDirByName(char* dirName)
55 for(UINT i = 0; i < dirList.size(); i++)
57 if (!strcmp(dirName, dirList[i]->name)) return dirList[i];
62 ULONG Directory::getNumRecordings()
64 ULONG total = recList.size();
65 for(UINT i = 0; i < dirList.size(); i++)
67 total += dirList[i]->getNumRecordings();
72 void Directory::sort(bool chronoSortOrder)
74 // Sort the directory order
75 ::sort(dirList.begin(), dirList.end(), DirectorySorter());
77 // Sort the recordings order
79 ::sort(recList.begin(), recList.end(), RecordingSorterChrono());
81 ::sort(recList.begin(), recList.end(), RecordingSorterAlpha());
83 // Now get the dirs to sort themselves! oh I love recursion.
84 for(UINT i = 0; i < dirList.size(); i++) dirList[i]->sort(chronoSortOrder);