データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える、リスト生成装置。データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断され、かつ、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、又は、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える、リスト生成装置。前記許容時間を設定し、前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記リストを生成する際に要する時間を測定し、測定した時間と設定された前記許容時間とを比較することによって、前記限界コンテンツ数を決定する手段をさらに備える、請求項1または2に記載のリスト生成装置。データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える、リスト生成装置。前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記コンテンツツリーから前記リストを生成する際に要する時間と、前記データベースから直接前記リストを生成する際に要する時間とを測定し、これらの時間を比較することによって、前記限界コンテンツ情報数を決定する手段をさらに備える、請求項2または4に記載のリスト生成装置。請求項1~5のいずれかに記載のリスト生成装置の各手段をコンピュータに実行させる、リスト生成プログラム。本発明は上記従来の課題を解決するためになされたものであり、その目的は、コンテンツ記憶部に記録されているコンテンツ数によらず、リスト生成処理をより迅速に実行できるリスト生成装置を提供することである。本発明の好ましい実施形態によるリスト生成装置は、データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える。コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下である場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間以下であり、コンテンツツリーは比較的迅速に生成することができる。従って、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成することで、全体の処理を迅速化できる。一方、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えている場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間を超え、待ち時間が長くなる。従って、コンテンツツリーを生成せず、データベースから直接コンテンツリストを生成することで、全体の処理を迅速化できる。本発明の別の好ましい実施形態によるリスト生成装置は、データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断され、かつ、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、又は、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える。コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下である場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間以下であり、コンテンツツリーは比較的迅速に生成することができる。また、コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下である場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間以下である。従って、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成することで、全体の処理を迅速化できる。一方、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えている場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間を超え、待ち時間が長くなる。また、コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えている場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間を超えている。従って、コンテンツツリーを生成せず、データベースから直接コンテンツリストを生成することで、全体の処理を迅速化できる。好ましい実施形態においては、前記許容時間を設定し、前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記リストを生成する際に要する時間を測定し、測定した時間と設定された前記許容時間とを比較することによって、前記限界コンテンツ数を決定する手段をさらに備える。この場合、許容時間を変更することによって、限界コンテンツ数を変更することができるので、ユーザが所望の許容時間に適宜変更することができる。本発明の別の好ましい実施形態によるリスト生成装置は、データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える。コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下である場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間以下である。従って、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成することで、全体の処理を迅速化できる。一方、コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えている場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間を超えている。従って、コンテンツツリーを生成せず、データベースから直接コンテンツリストを生成することで、全体の処理を迅速化できる。好ましい実施形態においては、前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記コンテンツツリーから前記リストを生成する際に要する時間と、前記データベースから直接前記リストを生成する際に要する時間とを測定し、これらの時間を比較することによって、前記限界コンテンツ情報数を決定する手段をさらに備える。本発明は上記構成を有することによって、コンテンツ記憶部に記録されているコンテンツ数によらず、リスト生成処理をより迅速に実行できるリスト生成装置を提供することができる。以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態によるコンテンツ再生装置以下、再生装置という。100を示す概略ブロック図である。再生装置100は、CPU1、RAM2、ROM3、HDDやフラッシュメモリ等のコンテンツ記憶部4、再生部5、表示部6、及び、操作部7を備える。これらは、バスを介して互いに接続されている。また、再生部5には、図示しないスピーカーが接続されている。コンテンツは、映像画像データ、及び/又は、音声音楽、曲データの総称であるが、本例では、曲ファイル以下、トラックともいう。である。HDD4には複数の曲ファイルが記録されている。HDD4に記録されている曲ファイルは、CPU1の指示によって読み出され、再生部5によって再生処理例えば、デコード処理、D/A変換、増幅処理等が実行される。再生部5によって再生された音声信号はスピーカーに供給され、音声が出力される。HDD4には、コンテンツ情報データベースが格納されている。コンテンツ情報DBには、HDD4に記録されている全曲ファイルに関して、複数カテゴリのコンテンツ情報が格納されている。複数カテゴリのコンテンツ情報には、アーティスト名、アルバム名、トラック名曲名等のメタデータ、及び、dBID等が含まれる。dBIDは、曲ファイルを示す識別情報であり、曲ファイルがHDD4に記録される際に付与される。コンテンツ情報データベースとしては、本例では、リレーショナルデータベース以下、RDBという。が採用される。RDBは、1件のデータを複数の項目の集合として表現し、データの集合をテーブルと呼ばれる表で表す方式で、ID番号や名前などのキーとなるデータを利用して、データの結合や抽出を容易に行うことができる。RDBを管理するソフトウェアをRDBMSRelationalDataBaseManagementSystemという。表示部6は、曲ファイルのコンテンツ情報アーティスト名、アルバム名、トラック名等の一覧であるコンテンツリストアーティストリスト、アルバムリスト、トラックリストを表示するものであり、LCD液晶ディスプレイやFL管等である。操作部7は、ユーザ操作を受け付けるものであり、操作ボタンやリモコン送受信機等である。ユーザが操作部7を操作して表示部6に表示された曲リストを参照し再生すべき曲ファイルを選択することにより、再生部5は選択された曲ファイルを再生する。また、再生部5は、選択された曲ファイルを再生し終えると、曲リストにおける次の曲ファイルを選択して再生する。CPU1は、再生装置100全体を制御するものであり、ROM3またはHDD4に格納されたプログラム例えば、リスト生成プログラム等をRAM2内に読み出して実行することにより、後述する各処理を実行する。再生装置100には、複数の再生モードが設けられている。再生モードは、曲ファイルを選択する際に、複数カテゴリのコンテンツ情報の内、最初にどのカテゴリのコンテンツ情報を使って曲ファイルを選択するかを示すものである。例えば、再生モードには、アーティストモード、アルバムモード、トラックモード等が含まれる。アーティストモードは、最初にアーティストリスト五十音順及び/又はアルファベット順のアーティスト名の一覧が表示され、アーティストリストの中から1つのアーティスト名を選択し、次に、選択されたアーティスト名で特定されるアルバムリストの中から1つのアルバム名を選択し、次に、選択されたアルバム名で特定されるトラックリストの中から1つのトラック名を選択する再生モードである。アルバムモードは、最初にアルバムリスト五十音順及び/又はアルファベット順のアルバム名の一覧が表示され、アルバムリストからアルバム名を選択し、次に、選択されたアルバム名で特定されるトラックリストからトラック名を選択する再生モードである。トラックモードは、最初にトラックリスト五十音順及び/又はアルファベット順のトラック名の一覧が表示され、トラックリストから1つのトラック名を選択する再生モードである。図2は、コンテンツツリーの一例としてアーティストツリーを示す模式図である。アーティストツリーは、4階層で構成される。最上位の階層はルートノードであり、コンテンツツリーがどのタイプのツリーであるかを決定するものである。例えば、このルートノードのrootKindId3の場合、アーティストツリーであることを示す。また、RDBを検索してアーティストツリーを生成するので、ルートノードには、HDD4内に記録されているコンテンツの全アーティスト数、全再生時間等の情報を格納することができる。次の階層は、アーティスト階層である。アーティスト階層の各ノードには、アーティストを特定するartistId、アーティスト名、アーティストノードが保持するアルバムの総数、アーティストの全コンテンツを再生したときの総再生時間等が格納される。これらの情報も、RDBの検索時に取得され、各ノードに格納される。次の階層は、アルバム階層である。アルバム階層の各ノードには、アルバムを特定するalbumId、アルバム名、アルバムノードが保持するトラック総数、アルバムの全コンテンツを再生したときの総再生時間等が格納されている。最下段の階層は、トラック階層である。トラック階層の各ノードは、トラックを特定するtrackId、トラック名、トラックの再生時間等が格納されている。コンテンツツリーを生成しRAM2に記憶しておくことによって、あるアルバム内のトラックの情報を取得するといった検索処理は、IDを上位階層のノードから順に指定し、そのノードに格納されている情報トラック名等を返すだけの処理でよい。図3は、再生装置100におけるソフトウェア階層図を示す。上からアプリケーション層、中間層、デバイス制御部ドライバ、ツリーオブジェクト、オーディオデバイス、RDBMSが存在する。アプリケーション層は、表示部6へのリストやコンテンツ情報の表示、ユーザ操作によるキーの受付、ステータスの表示等を実行する。中間層は、上位レイヤーと下位レイヤーとを仲介するための層である。デバイス制御部は、主にハードウェアオーディオデバイスを制御するための層である。ツリーオブジェクトは、アーティストツリー、アルバムツリー、トラックツリー等を生成する。オーディオデバイスは、DSP等の再生デバイスである。再生装置100は、リストアーティストリスト、アルバムリスト、トラックリストを生成する際のモードとして、データベースRDBからコンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成する第1モードと、コンテンツツリーを生成せずにRDBから直接コンテンツリストを生成する第2モードとを有する。CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が、コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する。また、CPU1は、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報例えばアーティストの総数が、コンテンツツリーからコンテンツリストを生成する際に要する時間がRDBから直接コンテンツリストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する。CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下であると判断し、かつ、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下であると判断した場合に、第1モードを使用してリストを生成する。一方、CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えていると判断した場合、又は、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えていると判断された場合に、第2モードを使用してリストを生成する。あるいは、CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下であると判断した場合に、第1モードを使用してリストを生成し、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えていると判断した場合に、第2モードを使用してリストを生成するようにしてもよい。あるいは、CPU1は、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下であると判断した場合に、第1モードを使用してリストを生成し、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えていると判断した場合に、第2モードを使用してリストを生成するようにしてもよい。CPU1は、上記処理において、許容時間を設定し、HDD4に仮想的なコンテンツを記録した上で、リストを生成する際に要する時間を測定し、測定した時間と設定された許容時間とを比較することによって、限界コンテンツ数を決定する。また、CPU1は、上記処理において、HDD4に仮想的なコンテンツを記録した上で、コンテンツツリーからリストを生成する際に要する時間と、RDBから直接リストを生成する際に要する時間とを測定し、これらの時間を比較することによって、限界コンテンツ情報数を決定する。コンテンツツリーが生成されRAM2に記憶されると、アプリケーション層からの情報取得はコンテンツツリーを利用することで高速に実行することができる。しかし、コンテンツツリーの生成処理に要する時間がHDD4に記録されているコンテンツ数の増加に伴い長くなる。従って、上記の通り、HDD4に記録されているコンテンツ数に応じて、第1モードと第2モードとを切換えることで、迅速な方のモードでコンテンツリストを生成することができる。さらに、コンテンツツリーの上位層から下位層に向かってノードを辿りコンテンツ情報を取得する際に要する時間は、コンテンツ数が少ない場合は、ノードを辿る時間が少なくて済むので、RDBへ直接アクセスするよりも高速であるが、ノード数が増えるつまりコンテンツ数が増えると、このノードを探索する時間が増えるので、RDBにアクセスする方が高速になる。従って、所定カテゴリのコンテンツ情報の総数つまりノードの数に応じて、第1モードと第2モードとを切換えることで、迅速な方のモードでリストを生成することができる。以下、本例の動作を説明する。図4は、限界コンテンツ数を決定するCPU1の処理を示すフローチャートである。まず、CPU1は、コンテンツツリーを生成する際にユーザが待つことが可能な時間である許容時間をtmaxとして設定するS401。許容時間は、ユーザ操作によって設定されてもよく、再生装置100の製造者によって予め設定されてもよい。許容時間tmaxは、例えば30秒に設定される。CPU1は、HDD4に記録されているコンテンツ数を0に初期化するS402。つまり、HDD4内に記録されているコンテンツがあれば一旦全て削除する。次に、CPU1は、現在、HDD4またはRAM2にツリーオブジェクトが記憶されていれば、それを削除するS403。次に、CPU1は、ループ処理を開始するS404~S412。ループ処理によって、許容時間tmaxに収まるコンテンツ数が判断される。まず、CPU1は、同一アーティスト名のアルバムを3つ生成し、各アルバムにはトラックを10曲含めた状態にて、曲ファイルをHDD4に記録するS405。すなわち、CPU1は、HDD4の内部に、仮想的に30曲分の曲ファイルを生成し、記録する。なお、同一アーティスト名のアルバム3つ、各アルバム内のトラックが10曲ずつという状況は、一般的なユーザの利用形態を模擬するためのものである。そして、アーティスト名をループのたびにつまり、S412でNOと判断された結果、S404に戻った際に、変更することによって、アーティストツリー、アルバムツリーが偏らない状態にできる。なお、ループのたびにアルバム名、トラック名の頭文字も、ランダムに設定される必要がある。毎回同一であると、ツリーオブジェクトが偏った態様になっていまい、適切にツリー生成時間の測定を実行できなくなるからである。CPU1は、HDD4内の総トラック数RAM2上で管理している変数を30加算するS406。これは、S405において、トラックをHDDに30曲記録したからである。続いて、CPU1は、アーティストツリーを生成開始し、その開始時刻t0に設定し、タイマーカウントを開始するS407。CPU1は、アーティストツリーの生成を終了するとS408、続いてアルバムツリーおよびトラックツリーを生成するS409、S410。CPU1は、全てのツリーを生成し終えると、タイマーカウントを終了し、カウント時間tの値を確定するS411。CPU1は、S411で確定したカウント時間tが、ttmaxであるか否かを判断するS412。すなわち、現在HDD4に仮想的に記録したコンテンツ数において、全コンテンツツリーを生成するために要した時間が、許容時間をtmaxを超えているか否かが判断される。未だtがtmax以下である場合S412でNO、CPU1は、処理をS404に戻し、さらに30曲の曲ファイルをHDD4に仮想的に記録し、コンテンツツリーを生成するのに要する時間を再度計測する。S412において、ttmaxであると判断された場合S412でYES、ループ処理を終了する。CPU1は、コンテンツツリーを生成するか否かの判断材料となる限界コンテンツ数として、現在RAM2で管理しているHDDに仮想的に記録した総トラック数を、変数maxcontentsNumに保持するS413。図5は、限界コンテンツ数を説明するイメージ図である。図5においては、横軸にHDD4内に記録されている総トラック数を示し、縦軸に全てのコンテンツツリーを生成するために要する時間を示している。許容時間tmaxに対応するコンテンツ数が、限界コンテンツ数maxContentsNumとして決定されている。CPU1は、後述する処理によって、HDD4に記録されているコンテンツ数が限界コンテンツ数MaxContentsNum以下である場合は、第1モードにてコンテンツツリーを生成しコンテンツリストを生成し、HDD4に記録されているコンテンツ数が限界コンテンツ数MaxContentsNumより大である場合は、第2モードにてコンテンツツリーを生成せずに、RDBに直接アクセスしてコンテンツリストを生成する。図6は、コンテンツリスト生成に要する時間を測定し、限界コンテンツ情報数を決定する処理を示すフローチャートである。CPU1は、HDD4内に記録されているコンテンツを全て消去するS601。CPU1は、RAM2に記憶されているツリーオブジェクトをすべて破棄するS602。CPU1は、各カテゴリのコンテンツ情報の変数を初期化するS603。この変数は、HDD4内に記録されているコンテンツのアーティスト総数artNum、アルバム総数albNum、および、トラック総数trkNumである。CPU1は、S604から、ループ処理S604~S618を開始する。このループ処理は、各カテゴリのコンテンツ情報毎に、限界コンテンツ情報数を決定する処理である。まず、CPU1は、同一アーティスト名のアルバムを3つ生成し、各アルバムにはトラックを10曲ずつ含めた状態で、曲ファイルを生成し、HDD4に記録するS605。すなわち、CPU1は、HDD4の内部に仮想的に30曲分の曲ファイルを生成し、記録する。CPU1は、RAM2上で管理しているアーティスト総数artNumに1を加算し、アルバム総数albNumに3を加算し、トラック総数trkNumに30を加算するS606。続いて、CPU1は、RDBにアクセスして、アーティストツリーを生成するS607。そして、CPU1は、アーティストツリーのツリーオブジェクトに対して、アーティストリスト生成指示を与える。CPU1は、アーティストツリーを使ってアーティストリストを生成するために要した時間を計測する。CPU1は、計測した時間を、変数treeGetType1timeとしてRAM2に保存するS608。続いて、CPU1は、RDBMSに対して、アーティストリスト取得指示を与える。CPU1は、コンテンツツリーの代わりにRDBを使用してアーティストリストを生成するために要した時間を計測する。CPU1は、計測した時間を、dbGetType1timeとしてRAM2に保存するS609。次に、CPU1は、ツリーオブジェクトに対して、アーティストリストのカーソルダウン処理の指示を与える。CPU1は、アーティストツリーを使って、アーティストリストを1行分カーソルダウンするすなわち、1行分のコンテンツ情報を新たに生成するために要した時間を計測する。CPU1は、計測した時間を、変数treeGetType2timeとしてRAMに保存するS610。続いて、CPU1は、RDBMSに対して、アーティストリストのカーソルダウン処理の指示を与える。CPU1は、アーティストツリーの代わりにRDBを使って、アーティストリストを1行分カーソルダウンするすなわち、1行分のコンテンツ情報を新たに生成するために要した時間を計測する。CPU1は、計測した時間を、変数dbGetType2timeとしてRAM2に保存するS610。次に、CPU1は、ツリーオブジェクトに対して、アーティスト階層からアルバム階層へ移行する指示を与える。CPU1は、コンテンツツリーを使用して、アーティストリストが表示されている状態からアーティストが選択されアルバムリストが表示される際のアルバムリスト生成に要する時間を測定する。CPU1は、測定した時間を、treeGetType3timeとしてRAM2に保存するS611。続いて、CPU1は、RDBMSに対して、アーティスト階層からアルバム階層へ移行する指示を与える。CPU1は、RDBを使用して、アーティストリストが表示されている状態からアーティストが選択されアルバムリストが表示される際のアルバムリスト生成に要する時間を測定する。CPU1は、測定した時間を、dbGetType3timeとしてRAM2に保存するS611。次に、CPU1は、ツリーオブジェクトに対して、アルバム階層からトラック階層へ移行する指示を与える。CPU1は、コンテンツツリーを使用して、アルバムリストが表示されている状態からアルバムが選択されトラックリストが表示される際のトラックリスト生成に要する時間を測定する。CPU1は、測定した時間を、treeGetType4timeとしてRAM2に保存するS612。続いて、CPU1は、RDBMSに対して、アルバム階層からトラック階層へ移行する指示を与える。CPU1は、RDBを使用して、アルバムリストが表示されている状態からアルバムが選択されトラックリストが表示される際のトラックリスト生成に要する時間を測定する。CPU1は、測定した時間を、dbGetType4timeとしてRAM2に保存するS612。次に、CPU1は、N=1、2、3、4の少なくとも1つについて、treeGetTypeNtimedbGetTypeNtimeの関係を満足するか否かを判断するS613。すなわち、コンテンツツリーを使用してコンテンツリストを生成する処理の方が、RDBに直接アクセスしてコンテンツリストを生成する処理よりも時間がかかる処理が存在するか否かが判断される。全てのNについて、treeGetTypeNtimeがdbGetTypeNtime以下である場合S613でNO、S604に戻り、HDD4に仮想的に曲ファイルをさらに30曲記録して、S605~S612の処理を繰り返す。いずれかのNについて、treeGetTypeNtimedbGetTypeNtimeの関係を満足する場合S613でYES、CPU1は、どのNについて、treeGetTypeNtimedbGetTypeNtimeの関係を満足するかを特定するS614。ここで、N=1又は2について上記関係を満足する場合にはS615を実行し、N=3について上記関係を満足する場合にはS616を実行し、N=4について上記関係を満足する場合にはS617を実行する。S615では、現在のアーティスト総数artNumをアーティストの限界コンテンツ情報数としてRAM2に保存する。S616では、現在のアルバム総数albNumをアルバムの限界コンテンツ情報数としてRAM2に保存する。S617では、現在のトラック総数trkNumをトラックの限界コンテンツ情報数としてRAM2に保存する。CPU1は、全てのNについて、treeGetTypeNtimedbGetTypeNtimeの関係を満足しているか否かを判断するS618。未だ、全てのNについて、treeGetTypeNtimedbGetTypeNtimeの関係を満足していない場合S618でNO、CPU1は、S604に戻り、HDD4に仮想的に曲ファイルをさらに30曲記録して、S605~S617の処理を繰り返す。但し、アーティスト総数artNum、アルバム総数albNum、トラック総数trkNumのうち、既にS615~S617において限界コンテンツ情報数を決定し、RAM2に保存しているコンテンツ情報については、再度更新しない。全てのNについて、treeGetTypeNtimedbGetTypeNtimeの関係を満足した場合S618でYES、本処理を終了する。図7は、第1モードと第2モードとのどちらを使用するかを切換えるCPU1の処理を示すフローチャートである。CPU1は、再生装置100を電源オン状態にする際初回起動時、又は、HDD4に新たなコンテンツを記録、分割、結合又は削除等してRDBの内容が更新される又はRDBに登録されているコンテンツ情報がユーザ操作によって書き換えられる際にS701、現在HDD4に記録されている曲ファイルの総数を取得し、コンテンツ総数が限界コンテンツ数maxContentsNumを超えているか否かを判断するS702。この判断処理は、以下の各判断処理より先に実行される。コンテンツ総数が限界コンテンツ数maxContentsNumを超えている場合S702でYES、コンテンツツリーを生成するのに要する時間が許容時間を超えているので、CPU1は、第2モード、つまり、コンテンツツリーを生成せずにRDBに直接アクセスしてコンテンツリストを生成する方法に決定するS706。一方、コンテンツ総数が限界コンテンツ数maxContentsNum以下である場合S702でNO、コンテンツツリーを生成するのに要する時間は許容時間以下である。従って、CPU1は、HDD4に記録されているコンテンツの全アーティスト数がアーティストの限界コンテンツ情報数artNumを超えているか否かを判断するS703。全アーティスト数がアーティストの限界コンテンツ情報数artNumを超えている場合S703でYES、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間よりも長いので、CPU1は、第2モードに決定するS706。全アーティスト数がアーティストの限界コンテンツ情報数artNum以下である場合S703でNO、CPU1は、次に、HDD4に記録されているコンテンツの全アルバム数がアルバムの限界コンテンツ情報数albNumを超えているか否かを判断するS704。全アルバム数がアルバムの限界コンテンツ情報数albNumを超えている場合S704でYES、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間よりも長いので、CPU1は、第2モードに決定するS706。全アルバム数がアルバムの限界コンテンツ情報数albNum以下である場合S704でNO、CPU1は、次に、HDD4に記録されているコンテンツの全トラック数がトラックの限界コンテンツ情報数trkNumを超えているか否かを判断するS705。全トラック数がトラックの限界コンテンツ情報数trkNumを超えている場合S705でYES、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間よりも長いので、CPU1は、第2モードに決定するS706。一方、全トラック数がトラックの限界コンテンツ情報数trkNum以下である場合S705でNO、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間以下であるので、CPU1は、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成する第1モードに決定するS707。以上の処理によって、初回起動時およびRDB更新時の待ち時間を短くすることができ、かつ、コンテンツリスト生成やリストスクロール処理も待ち時間を短く実行することができる。なお、図7の処理に代えて図8の処理が実行されてもよい。図8では、S703~S705が省略されている。また、図7の処理に代えて図9の処理が実行されてもよい。図9ではS702が省略されている。以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。アーティスト、アルバム、トラック以外のカテゴリのコンテンツ情報についてのリスト例えばジャンルリストを生成する場合も同様である。本発明のリスト生成装置を動作させるためのコンピュータプログラムまたはそのコンピュータプログラムを記録した記録媒体という形態で提供されてもよい。