コンテンツ再生装置及びコンテンツ再生プログラム
【課題】大量のコンテンツファイルから高速に又は安価に検索できるようにすること。
【解決手段】携帯型音楽プレーヤ10は、複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部13と、該記憶部13に保存されたデータベースに格納された各コンテンツ情報を格納するメモリ14と、上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部11と、を備え、上記制御部11は、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含むタイトル等の曲情報について検索時に上記表示部兼入力部15に表示するデータ量よりも大きいデータ量を持つ少なくとも一部のコンテンツ情報に関しては、当該コンテンツ情報が含む上記曲情報の内の一部分だけを上記メモリ14に格納して、上記表示部兼入力部15に表示する。
【解決手段】携帯型音楽プレーヤ10は、複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部13と、該記憶部13に保存されたデータベースに格納された各コンテンツ情報を格納するメモリ14と、上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部11と、を備え、上記制御部11は、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含むタイトル等の曲情報について検索時に上記表示部兼入力部15に表示するデータ量よりも大きいデータ量を持つ少なくとも一部のコンテンツ情報に関しては、当該コンテンツ情報が含む上記曲情報の内の一部分だけを上記メモリ14に格納して、上記表示部兼入力部15に表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音楽ファイル等のコンテンツファイルを再生するコンテンツ再生装置、及び、コンピュータをそのようなコンテンツ再生装置として機能させるためのコンテンツ再生プログラムに関する。
【背景技術】
【0002】
従来より、音楽ファイル等のコンテンツファイルを再生するコンテンツ再生装置が広く利用されている。
【0003】
例えば、特許文献1に開示のコンテンツ再生装置としての音楽データ再生装置では、パーソナルコンピュータ(PC)である音楽データ受信装置から当該音楽データ再生装置に対して、音楽ファイル等のコンテンツファイルとそれらコンテンツファイルを管理するためのキーワード等のデータベースとを送付して、不揮発性の記憶部に保存しておく。
【0004】
そのようなコンテンツ再生装置においては、不揮発性の記憶部に保存されているコンテンツファイルの中から任意のコンテンツファイルを再生する際には、該音楽データ再生装置内のメモリに上記データベースを読み込み、そのデータベースの情報を利用して上記任意のコンテンツファイルを検索して、その検索されたコンテンツファイルを上記メモリに読み込んで再生する。
【特許文献1】特開2005−233986号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
近年、ハードディスクドライブ(HDD)を内蔵した携帯型音楽プレーヤが普及し、数千曲から数万曲の音楽ファイルを保存できるようになっている。それに伴い、音楽ファイルのタイトルやアーティスト名等のコンテンツ情報を保存するデータベースの容量が非常に大きくなる。このように、コンテンツ情報のデータ量が大きくなると、携帯音楽プレーヤ内のメモリに全てのコンテンツ情報を一度に読み込めなくなる。このため、音楽ファイルの検索時にデータベースの再読み込みが発生して検索が遅くなったり、または、データベース全てをメモリに読み込めるようにするためにメモリ容量を大きくするためコストアップするという不具合が生じる。
【0006】
本発明は、上記の点に鑑みてなされたもので、コンテンツファイルの検索時に検索が遅くなったり、または、メモリ容量を大きくするためコストアップしたりすることのないコンテンツ再生装置及びコンテンツ再生プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のコンテンツ再生装置の一態様は、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記制御部は、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報(例えば、曲情報)の内の一部分を上記メモリに格納して、上記表示部に表示することを特徴とする。
【0008】
また、本発明のコンテンツ再生装置の別の態様は、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記記憶部に保存されたコンテンツファイルは、上記表示部に表示するコンテンツ情報の所定の情報(例えば、曲情報)を含んでおり、
上記制御部は、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む上記所定の情報の内の一部分を上記メモリに格納し、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルから読み込んで上記表示部に表示する、
ことを特徴とする。
【0009】
また、本発明のコンテンツ再生プログラムの一態様は、
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報(例えば、曲情報)の内の一部分を上記メモリに格納させて、上記表示部に表示させる、
ことを特徴とする。
【0010】
また、本発明のコンテンツ再生プログラムの別の態様は、
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報(例えば、曲情報)の内の一部分を上記メモリに格納させ、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルが含む上記所定の情報から読み込んで上記表示部に表示させる、
ことを特徴とする。
【発明の効果】
【0011】
本発明によれば、コンテンツファイルの検索時に検索が遅くなったり、または、メモリ容量を大きくするためコストアップしたりすることのないコンテンツ再生装置及びコンテンツ再生プログラムを提供することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0013】
[第1実施形態]
図1は、本発明のコンテンツ再生装置の第1実施形態としての携帯型音楽プレーヤ10の構成を示す図である。なお、本実施形態においては、コンテンツファイルとして音楽ファイルを再生する場合を例に説明を行うものとする。
【0014】
即ち、この携帯型音楽プレーヤ10は、制御部11、プログラム記憶部12、記憶部13、メモリ14、表示部兼入力部15、再生部16、スピーカ17、PC接続端子18、リモコン接続端子19、オーディオ出力端子20、及び電源スイッチ(SW)21を有している。ここで、上記制御部11は、例えばマイクロコンピュータで構成され、上記記憶部13は、例えば半導体メモリやハードディスク等の、データを不揮発性に保存する記憶装置で構成される。また、上記表示部兼入力部15は、例えばタッチパネル付液晶表示部で構成される。
【0015】
上記制御部11は、プログラム記憶部12に記憶されたコンテンツ再生プログラムに従った動作を行う。即ち、制御部11は、上記PC接続端子18を介して図示しないPCと接続して、そのPCからコンテンツファイルとしての音楽ファイルと、各音楽ファイルを特定するためのコンテンツ情報、例えば音楽のタイトル等の情報を含む音楽ファイル情報とを受信(ダウンロード)して、それらを上記記憶部13に保存する。即ち、PCは、この制御部11と通信を行うことで、記憶部13に音楽ファイルを保存すると共に、その記憶部13に保存されたデータベースに、その音楽ファイルの音楽ファイル情報を追加する。なお、音楽ファイルとデータベースの音楽ファイル情報の削除及び修正も同様に、PC側から行うことができる。
【0016】
また、上記制御部11は、上記記憶部13に保存されているデータベースの一部をメモリ14に読み込み、音楽ファイル情報の一部を表示部兼入力部15に表示し、該表示部兼入力部15からのユーザの選択入力と上記メモリ14に読み込んだデータベースの一部とに従って音楽の検索を行い、上記記憶部13に保存された音楽ファイルを読み込んで再生部16に送付する。再生部16は、その送付された音楽ファイルをデコードして、オーディオ出力端子20にイヤフォンが接続されていない場合はスピーカ17から、イヤフォンが接続されている場合はイヤフォンからデコードした音楽を再生出力する。
【0017】
また、上記リモコン接続端子19には、外付けのリモートコントローラ(リモコン)30が接続可能であり、該携帯型音楽プレーヤ10は上記リモコン30に設けられた各種操作部(再生/停止ボタン31A,次ボタン31B,前ボタン31C,ボリュームアップ(+)ボタン31D,ボリュームダウン(−)ボタン31E)が操作されると、その操作情報がCPU32を介してリモコン30から制御部11に送付され、その操作情報に応じた各種情報が上記メモリ14に保存されるようになっている。即ち、操作情報がCPU32に送られ、更に該CPU32より、リモコン30の制御端子33及び携帯型音楽プレーヤ10のリモコン接続端子19を介して、制御部11に送られる。これにより、リモコン30からの入力に従って音楽再生の再生/停止・楽曲選択及びボリュームの調整が可能になっている。なお、上記表示部兼入力部15から入力された各種情報も、制御部11によりメモリ14に保存される。
【0018】
さらに、上記リモコン30にも表示部34が設けられており、上記制御部11から該表示部34に表示する情報をリモコン接続端子19を介して送信することで、リモコン30では、それを制御端子33で受信し、CPU32がその受信した情報、例えば再生中の音楽ファイルの音楽ファイル情報等を表示部34に表示することが可能となっている。
【0019】
また、リモコン30は、上記リモコン接続端子19に接続するためのケーブルと一体化されたオーディオケーブルを持ち、特に図示はしていないが、そのような一体化されたケーブルを上記携帯型音楽プレーヤ10に接続するための上記携帯型音楽プレーヤ10側の接続プラグの形状は、上記リモコン接続端子19とオーディオ出力端子20とに同時に接続可能な形態となっている。つまり、該リモコン30を上記リモコン接続端子19に接続すれば、オーディオ出力端子20にも接続されるものである。そして、このリモコン30は、そのオーディオケーブルに接続されたオーディオ入力端子35で受けた上記オーディオ出力端子20からの出力をそのまま、イヤフォン40を接続するためのイヤフォン端子36に出力するように構成されている。従って、リモコン30を使用しない場合は、オーディオ出力端子20にイヤフォン40を挿してイヤフォン40で音楽を聴くことができ、また、リモコン30を使用する場合には、オーディオ出力端子20とリモコン30のオーディオ入力端子35とを接続し、イヤフォン端子36にイヤフォン40を挿してイヤフォン40で音楽を聴くことができる。
【0020】
なお、電源SW21は、本携帯型音楽プレーヤ10の電源のオン・オフを行うためのものである。
【0021】
また、本実施形態においては、上記音楽ファイルとしては、WAV、MP3、WMA等の形式のファイルを使用する。
【0022】
図2は、上記記憶部13のデータベースに登録されているコンテンツ情報としての音楽ファイル情報を示す図である。即ち、各音楽ファイルには、識別Noが付され、当該音楽ファイルのファイルパス、アーティスト名、アルバム名やタイトル等の音楽ファイルの検索に必要な情報がある。これ以外にも必要に応じてキーワードや歌詞やジャケット写真情報やコメント等の情報が登録される。
【0023】
上記記憶部13において、音楽ファイルは、例えば、ルートディレクトリの下に音楽保存用のMusicフォルダを作成、その下にアルバム毎にM0000001からM9999999のサブフォルダを作成し、各アルバム用フォルダの下にM0000001からM9999999の音楽ファイルを保存する。
【0024】
また、データベースファイルは、例えば、ルートディレクトリの下にシステム用のSystemフォルダを作成して、ファイル名Database.datで保存する。
【0025】
図3(A)は、上記記憶部13に保存されているデータベースの内容(音楽ファイル情報)を上記メモリ14に読み込んだ場合の内容を示す図である。なお、各音楽ファイル情報の内容は図3(B)に示す構造体で定義して、図2の音楽ファイル情報における識別Noで音楽ファイルを特定し、構造体の各メンバで音楽ファイル情報の各情報にアクセスする。
【0026】
ここで、ファイルパスpathは、記憶部13の音楽ファイル情報におけるファイルパスから固定の7バイトの文字列“/Music/”を省略したパス名21バイトと文字列終了文字NULLが1バイトとの、合計22バイトを使用する。
【0027】
アーティスト名Artist、アルバム名Album、タイトルTitle、ジャンル名Genreは、検索時は16バイトまで表示するようにして、文字列終了文字NULLが1バイトと、文字列が16バイト以上か否かを示すフラグ(NULL又は~)が1バイトとの、合計18バイトをそれぞれ使用する。
【0028】
トラック番号は、アルバム内の総曲数Track_2とアルバム内の順番Track_1の各1バイトを使用する。
【0029】
音楽の総時間Timeは3バイトを使用する。
【0030】
再生回数Countは2バイトを使用する。
【0031】
最後に再生した日時は、年が2バイト、月日時分秒が各1バイトの合計7バイトを使用する。
【0032】
従って、一つの音楽ファイルにつき合計110バイトの情報をメモリ14に保存することになる。
【0033】
なお、上記のアーティスト名Artist、アルバム名Album、タイトルTitle、ジャンル名Genreは、一般的に文字数の制限が無い。少なくとも16バイトよりも多いものは多数見受けられる。よって、全ての文字を保存しようとすると、それぞれ18バイト以上のメモリエリアを確保する必要がある。文字数の制限が無いので、必要なサイズは数十バイトから数千バイトと任意に決めるしかないが、例えば最大文字数を100バイト(文字列終了文字NULLを入れて101バイト)とすると、1曲につき更に(101−18)*4=332バイトの追加メモリサイズが必要になる。また、ファイルパスも省略しないと更に7バイトが必要になる。本実施形態では、(100+332+7)=439バイトに対して110バイトと必要なメモリサイズを抑えているので、同じメモリサイズに対して439/110と約4倍の音楽ファイル情報を保存することができる。
【0034】
図4(A)は音楽ファイル50の構造を示していて、音楽ファイル50は再生に使用する音楽データ部51と当該音楽ファイルの情報を保存するヘッダ部52とに分かれている。ヘッダ部52には、図4(B)に示すように、上記記憶部13のデータベースに保存されている音楽ファイル情報の少なくとも一部を含む音楽情報が保存されている。
【0035】
図5(A)は、サイズの違う4つのタイトルについて、記憶部13に保存されているデータベースとメモリ14に読み込んだデータベースとの内容の違いを示す図である。
【0036】
ここで、記憶部13のデータベースでは、上から26バイト、30バイト、31バイト、10バイトとなっている。これに対し、メモリ14のデータベースでは、上から16バイト、16バイト、15バイト、10バイトが有効データとなっている。なお、上から3番目は、“0”の次が2バイトの“ク”であるので16バイトをオーバーしてしまうため、“ク”の代わりに16バイト目はNULLとなっている。上から4番目は6バイト余ってしまうので、11バイト目から16バイト目はNULLとする。4つとも17バイト目は文字列終了文字NULLで、18バイト目は、元が16バイト以上の上から1番目から3番目は16バイトよりも長いことを示すフラグ~で、4番目は16バイト以下であることを示すNULLとなる。
【0037】
なお、本実施形態では~を使用しているが、この~は通常文字として使用可能なので、他の非表示文字を使用するほうが好ましい。しかしながら、非表示文字を使用すると説明が不便なので、本実施形態では~としている。
【0038】
図5(B)は、後述する検索画面等の限られたスペースに文字列を表示した場合を示す図である。この場合、メモリ14に読み込まれたデータベースから文字列を読み出して表示する。なお、上から1番目から3番目には残りの文字列が有ることを示す~を文字列の後ろに付加しても良い。この場合も、上記フラグと同様に、非表示文字を使用すると説明が不便なので、本実施形態では通常文字である~を使用しているが、フラグとは別の通常文字或いは他の非表示文字を使用しても良いことは勿論である。
【0039】
図6は、音楽ファイル再生時に、タイトル、アーティスト名及びアルバム名を、後述する再生曲情報エリアに表示する場合の文字列を示しており、各情報を“/”で区切って連結している。この文字列が再生曲情報エリアよりも長い場合には、スクロールしながら全ての文字列を表示する。
【0040】
またこの場合、タイトル、アーティスト名及びアルバム名が、メモリ14に読み込んだデータベースに保存されているものよりも長い場合は、記憶部13に保存されたデータベースまたは音楽ファイル50のヘッダ部52から読み出して表示する。
【0041】
図7(A)乃至(G)はそれぞれ、表示部兼入力部15に表示される音楽の検索画面を示す図である。これらの図において、上部左は選択状況を表示するエリア、上部右は選択肢を表示するエリア、下部は電源オフ,前の画面に戻る,検索トップに戻る,再生開始,等を制御するメニューを表示するエリアである。右上部は、選択肢が表示可能行数よりも多い場合は、右上部の隣に上下キーを表示してスクロール可能なようにする。上部右の選択肢に表示するジャンル名、アーティスト名、アルバム名及びタイトルは16バイトまでとする。
【0042】
ここで、図7(A)は検索トップ選択画面を示す図である。この画面では、全ての曲を表示する、ジャンル、アーティストやアルバムで絞り込んで表示する、最近聴いた曲や再生回数の多い曲を表示するから、ユーザがタッチ入力により選択する。
【0043】
図7(B)は、図7(A)の検索トップ選択画面においてジャンルを選択した場合に表示されるジャンル選択画面を示す図である。この画面では、データベースに登録されている全てのジャンルを表示する。
【0044】
図7(C)は、図7(B)のジャンル選択画面でクラシックを選択した場合に表示されるジャンル選択サブ画面を示す図である。この画面では、クラシックの全ての曲、クラッシクを含むアーティストかアルバムを絞り込んで表示することができる。
【0045】
図7(D)は、図7(C)のジャンル選択サブ画面でアーティストを選択した場合に表示されるアーティスト選択画面を示す図である。この画面ではジャンルがクラッシクを含むアーティストを表示する。
【0046】
図7(E)は、図7(D)のアーティスト選択画面でアーティスト1を選択した場合に表示されるアーティスト選択サブ画面を示す図である。この画面では、アーティスト1のクラッシク曲全てか、アーティスト1のクラッシクを含む全てのアルバムを絞り込んで表示することができる。
【0047】
図7(F)は、図7(E)のアーティスト選択サブ画面でアルバムを選択した場合に表示されるアルバム選択画面を示す図である。この画面では、アーティスト1でクラッシクを含む全てのアルバムを表示する。
【0048】
図7(G)は、図7(F)のアルバム選択画面でアルバム1を選択した場合に表示される曲選択画面を示す図である。この画面では、アーティスト1のアルバム1の中からクラッシクの曲を表示する。ここで、どの曲も選択しないで再生を押した場合は先頭の曲から、また、任意の曲を選択してから再生を押した場合は選択した曲から、再生を開始する。
【0049】
なお、何れの選択画面でも、「終了」を押した場合は検索を終了して電源をオフする。また、図7(B)乃至(G)の何れの選択画面でも、「トップ」を押した場合は図7(A)の検索トップ選択画面に戻り、「戻る」を押すと一つ前の選択画面に戻る。図7(A)の検索トップ選択画面で「戻る」を押した場合には、図8に示すような再生画面に戻る。なお、図7(A)乃至(G)の各画面において、上部右は選択肢を表示するエリアに表示可能なリスト数よりもリストが多い場合には、図8の再生画面における中間部右の上下スクロールキーと同様のスクロールキーを表示して上下スクロール可能とする。
【0050】
即ち、図8は、再生時の再生画面を示す図である。この再生画面において、上部左は上記再生曲情報エリアであり、図6に示す文字列をスクロールしながら表示する。ここに表示するタイトル、アーティスト名及びアルバム名の長さ制限は無い。上部右は再生時間であり、曲時間長と現在の再生時間を表示する。中間部左は図7(G)の曲選択画面で絞り込んだ音楽リストを表示するエリアで、現在再生中の音楽にはマーク(下線)を付ける。ここに表示するタイトルとアーティスト名は16バイトまでとする。中間部右は上下スクロールキーで、左のリストが表示可能数よりも多い場合に有効になる。そして、下部は、電源を切る「終了」、検索画面トップに移動する「検索」、音楽の再生・停止と前曲や次曲への移動、及びボリュームの増減を行うボタン等を表示する。
【0051】
次に、本実施形態における携帯型音楽プレーヤ10の動作を詳細に説明する。
【0052】
図9(A)は、電源SW21のオン操作に応じて、制御部11が実行するコンテンツ再生プログラムのメインフローチャートを示している。
【0053】
即ち、電源がオンされると、制御部11は、まず、内部に設けたもしくは上記メモリ14に設けたキー操作情報ret_codeをクリアする(ステップS11)。これは、後述するサブルーチン間でキー操作情報を知らせるための変数である。
【0054】
その後、音楽ファイルの検索に必要なデータである音楽ファイル情報を記憶部13のデータベースからメモリ14にコピーする(ステップS12)。なおこの場合、タイトル,アーティスト,アルバム等の曲情報は、図5(A)に示したように、16バイトのデータとしてコピーする。
【0055】
次に、記憶部13のデータベースに記述されている、最後に再生していたときの検索情報を読み出すと共に、再生画面下部の「再生」ボタンを有効、「停止」ボタンを無効にした上で(ステップS13)、詳細は後述するようなPlayサブルーチンを実行することで、図8の再生画面に移行して音声ファイルの再生を行えるようにする(ステップS14)。
【0056】
再生画面で「終了」または「検索」が押されると、このメインフローチャートに戻り、その押されたキーが「終了」であるのか「検索」であるかを確認する(ステップS15)。
【0057】
ここで、再生画面で押されたキーが「終了」ではない、つまり「検索」であると判別した場合には(ステップS15)、詳細は後述するSearchサブルーチンを実行することで、図7(A)の検索トップ選択画面に移動して検索を行う(ステップS16)。
【0058】
そして、その検索トップ選択画面で「戻る」が押される、図7(G)の曲選択画面で「再生」が押される、或いは、各選択画面で「終了」が押されると、このメインフローチャートに戻り、その押されたキーが「戻る」か「再生」か「終了」かを確認する(ステップS17)。
【0059】
ここで、押されたキーが「戻る」か「再生」の場合は、上記ステップS14のPlayサブルーチンに戻ることで、図8の再生画面に戻る。
【0060】
これに対して、上記ステップS15またはステップS17において、押されたキーが「終了」であると判別したならば、記憶部13のデータベースにおける最後に再生していたときの検索情報を更新して電源をオフする(ステップS18)。
【0061】
次に、上記ステップS16で実行されるSearchサブルーチンの詳細について、図9(B)及び図10に示す一連のフローチャートを参照して説明する。
【0062】
即ち、まず、上記キー操作情報ret_codeと、内部に設けたもしくは上記メモリ14に設けたジャンル、アーティスト、アルバム、及び曲の各検索情報とをクリアした後(ステップS21)、図7(A)の検索トップ選択画面を表示する(ステップS22)。
【0063】
そして、上記検索トップ選択画面中の「全て」が押されたか否かを確認し(ステップS23)、それが押されていれば、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われる(ステップS24)。なおこの場合、曲選択画面では、当該携帯型音楽プレーヤ10に登録されている即ちメモリ14にコピーしたデータベースに登録されている全ての曲を表示することになる。
【0064】
このMusicサブルーチンからリターンしたとき、或いは、上記ステップS23において検索トップ選択画面中の「全て」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「ジャンル」が押されたか否かを確認し(ステップS25)、それが押されていれば、詳細は後述するGenreサブルーチンを実行することで、図7(B)のジャンル選択画面に移行して、ジャンルの選択が行われる(ステップS26)。なおこの場合、ジャンル選択画面では、当該携帯型音楽プレーヤ10に登録されている全てのジャンルを表示する。
【0065】
このGenreサブルーチンからリターンしたとき、或いは、上記ステップS25において検索トップ選択画面中の「ジャンル」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「アーティスト」が押されたか否かを確認し(ステップS27)、それが押されていれば、詳細は後述するArtistサブルーチンを実行することで、図7(D)のアーティスト選択画面に移行して、アーティストの選択が行われる(ステップS28)。なおこの場合、アーティスト選択画面では、当該携帯型音楽プレーヤ10に登録されている全てのアーティストを表示する。
【0066】
このArtistサブルーチンからリターンしたとき、或いは、上記ステップS27において検索トップ選択画面中の「アーティスト」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「アルバム」が押されたか否かを確認し(ステップS29)、それが押されていれば、詳細は後述するAlbumサブルーチンを実行することで、図7(F)のアルバム選択画面に移行して、アルバムの選択が行われる(ステップS30)。なおこの場合、アルバム選択画面では、当該携帯型音楽プレーヤ10に登録されている全てのアルバムを表示する。
【0067】
このAlbumサブルーチンからリターンしたとき、或いは、上記ステップS29において検索トップ選択画面中の「アルバム」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「最近聞いた曲」が押されたか否かを確認し(ステップS31)、それが押されていれば、Recentryサブルーチンを実行して、当該携帯型音楽プレーヤ10に登録されている全ての曲の中から最近聴いた曲を絞り込み(ステップS32)、その後、上記ステップS24と同様のMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われることになる(ステップS33)。
【0068】
そして、このMusicサブルーチンからリターンしたとき、或いは、上記ステップS31において検索トップ選択画面中の「最近聞いた曲」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「再生回数の多い曲」が押されたか否かを確認し(ステップS34)、それが押されていれば、My_Topサブルーチンを実行して、当該携帯型音楽プレーヤ10に登録されている全ての曲の中から再生回数の多い曲を絞り込み(ステップS35)、その後、上記ステップS24と同様のMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われることになる(ステップS36)。
【0069】
その後このMusicサブルーチンからリターンしたとき、或いは、上記ステップS34において検索トップ選択画面中の「再生回数の多い曲」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「終了」が押されたか否かを確認し(ステップS37)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS38)、上位のルーチン、即ち、上記ステップS17に戻る。この場合、上記キー操作情報ret_codeに終了が設定されているので、上記ステップS17の判断処理でYesとなり、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0070】
これに対して、上記ステップS37において上記検索トップ選択画面中の「終了」が押されていないと判別した場合には、更に、その検索トップ選択画面中の「戻る」が押されたか否かを確認し(ステップS39)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定して(ステップS40)、上位のルーチン、即ち、上記ステップS17に戻る。この場合は、上記キー操作情報ret_codeに戻るが設定されているので、上記ステップS17の判断処理でNoとなり、上記ステップS14に戻って、図8の再生画面に戻ることとなる。
【0071】
また、上記ステップS39において上記検索トップ選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了又は再生が設定されているか否か、つまり、下位のサブルーチン(Music、Genre、Artist、Album)での選択画面において「終了」または「再生」が押されたか否かを確認し(ステップS41)、どちらかが押されていれば、上位のルーチン、即ち、上記ステップS17に戻る。この場合は、上記キー操作情報ret_codeに終了が設定されていれば、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、上記キー操作情報ret_codeに再生が設定されていれば、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。
【0072】
これに対し、上記ステップS41において「終了」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻る又はトップが設定されているか否か、つまり、下位のサブルーチン(Music、Genre、Artist、Album)での選択画面において「戻る」または「トップ」が押されたか否かを確認し(ステップS42)、どちらかが押されていれば上記ステップS21に戻り、どちらも押されていなければ上記ステップS23に戻る。
【0073】
次に、上記ステップS26で実行されるGenreサブルーチンの詳細について、図11に示すフローチャートを参照して説明する。
【0074】
即ち、まず、ジャンル検索情報とキー操作情報ret_codeとをクリアする(ステップS51)。その後、アーティスト検索情報及びアルバム検索情報で示される検索条件で絞り込んだジャンルをメモリ14のデータベースから検索し(ステップS52)、図7(B)のジャンル選択画面を表示する(ステップS53)。
【0075】
なお、図7(A)の検索トップ選択画面からこの図7(B)のジャンル選択画面に移行した場合は、アーティスト及びアルバム検索条件が設定されていないので、データベースに登録されている全てのジャンルを表示する。
【0076】
またこの場合、表示するジャンル名の文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0077】
そしてその後、上記ジャンル選択画面において何れかのジャンルが選択されたか否かを確認し(ステップS54)、何れかのジャンルが選択された場合には、ジャンル検索情報に、その選択されたジャンルを検索条件として設定し(ステップS55)、詳細は後述するGenre_Subサブルーチンを実行することで、図7(C)のジャンル選択サブ画面に移行して、更に絞り込みを行っていく。
【0078】
その後このGenre_Subサブルーチンからリターンしたとき、或いは、上記ステップS54において何れのジャンルも選択されていないと判別した場合には、次に、上記ジャンル選択画面中の「終了」が押されたか否かを確認し(ステップS57)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS58)、上位のルーチンに戻る。この場合、上記ステップS27に戻り、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0079】
これに対して、上記ステップS57において「終了」が押されていないと判別した場合には、更に、上記ジャンル選択画面中の「トップ」が押されたか否かを確認し(ステップS59)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS60)、上位のルーチンに戻る。この場合、上記ステップS27に戻り、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0080】
また、上記ステップS59において「トップ」が押されていないと判別した場合には、更に、上記ジャンル選択画面中の「戻る」が押されたか否かを確認し(ステップS61)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、ジャンル検索情報をクリアして(ステップS62)、上位のルーチンに戻る。この場合、上記ステップS27に戻り、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0081】
一方、上記ステップS61において上記ジャンル選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Genre_Sub)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS63)。何れかが押されていれば、上位のルーチン、即ち、上記ステップS27に戻り、そのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0082】
これに対し、上記ステップS63において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Genre_Sub)での選択画面中の「戻る」が押されたか否かを確認し(ステップS64)、それが押されていれば上記ステップS51に戻り、それが押されていなければ上記ステップS54に戻る。
【0083】
次に、図12に示すフローチャートを参照して、上記ステップS56で実行されるGenre_Subサブルーチンの詳細について説明する。
【0084】
即ち、まず、キー操作情報ret_codeをクリアした後(ステップS71)、上記ステップS55で設定されたジャンルに従って、図7(C)に示すようなジャンル選択サブ画面を表示する(ステップS72)。
【0085】
その後、該ジャンル選択サブ画面中の「全て」が押されたか否かを確認し(ステップS73)、それが押されていれば、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われる(ステップS74)。なおこの場合の曲選択画面では、当該携帯型音楽プレーヤ10に登録されている曲の内、図7(B)のジャンル選択画面で選択したジャンルに該当する曲のみを表示する。
【0086】
このMusicサブルーチンからリターンしたとき、或いは、上記ステップS73においてジャンル選択サブ画面中の「全て」が押されていないと判別した場合には、次に、上記ジャンル選択サブ画面中の「アーティスト」が押されたか否かを確認し(ステップS75)、それが押されていれば、詳細は後述するArtistサブルーチンを実行することで、図7(D)のアーティスト選択画面に移行して、アーティストの選択が行われる(ステップS76)。なおこの場合、アーティスト選択画面では、当該携帯型音楽プレーヤ10に登録されているアーティストの内、図7(B)のジャンル選択画面で選択したジャンルに該当するアーティストのみを表示する。
【0087】
このArtistサブルーチンからリターンしたとき、或いは、上記ステップS75においてジャンル選択サブ画面中の「アーティスト」が押されていないと判別した場合には、次に、上記ジャンル選択サブ画面中の「アルバム」が押されたか否かを確認し(ステップS77)、それが押されていれば、詳細は後述するAlbumサブルーチンを実行することで、図7(F)のアルバム選択画面に移行して、アルバムの選択が行われる(ステップS78)。なおこの場合、アルバム選択画面では、当該携帯型音楽プレーヤ10に登録されているアルバムの内、図7(B)のジャンル選択画面で選択したジャンルに該当するアルバムのみを表示する。
【0088】
このAlubumサブルーチンからリターンしたとき、或いは、上記ステップS77においてジャンル選択サブ画面中の「アルバム」が押されていないと判別した場合には、次に、上記ジャンル選択サブ画面中の「終了」が押されたか否かを確認し(ステップS79)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS80)、上位のルーチンに戻る。この場合、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。そして、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻って、そのステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0089】
これに対して、上記ステップS79において「終了」が押されていないと判別した場合には、更に、上記ジャンル選択サブ画面中の「トップ」が押されたか否かを確認し(ステップS81)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS82)、上位のルーチンに戻る。この場合、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。そして、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0090】
また、上記ステップS81において「トップ」が押されていないと判別した場合には、更に、上記ジャンル選択サブ画面中の「戻る」が押されたか否かを確認し(ステップS83)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定して(ステップS84)、上位のルーチンに戻る。この場合、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63,S64とNoを順に辿っていき、そのステップS64でYesとなって、上記ステップS51に戻り、ジャンル検索情報とキー操作情報ret_codeとをクリアした後に、ステップS52でアーティスト検索情報及びアルバム検索情報で示される検索条件で絞り込んだジャンルをメモリ14のデータベースから検索して、ステップS53で図7(B)のジャンル選択画面を表示することとなる。
【0091】
一方、上記ステップS83において上記ジャンル選択サブ画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Music、Artist、Album)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS85)。何れかが押されていれば、上位のルーチン、即ち、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。そして、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0092】
これに対し、上記ステップS85において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Music、Artist、Album)での選択画面中の「戻る」が押されたか否かを確認し(ステップS86)、それが押されていれば上記ステップS71に戻り、それが押されていなければ上記ステップS73に戻る。
【0093】
次に、上記ステップS28またはステップS76で実行されるArtistサブルーチンの詳細について、図13に示すフローチャートを参照して説明する。
【0094】
即ち、まず、アーティスト検索情報とキー操作情報ret_codeとをクリアする(ステップS91)。その後、ジャンル検索情報及びアルバム検索情報で示される検索条件で絞り込んだアーティストをメモリ14のデータベースから検索し(ステップS92)、図7(D)のアーティスト選択画面を表示する(ステップS93)。
【0095】
なお、図7(C)のジャンル選択サブ画面からこの図7(D)のアーティスト選択画面に移行した場合は、ジャンル検索条件が設定されてアルバム検索条件が設定されていないので、データベースに登録されているアーティストの内、図7(B)のジャンル選択画面で選択したジャンルに該当するアーティストのみを表示する。
【0096】
またこの場合、表示するアーティスト名の文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0097】
そしてその後、上記アーティスト選択画面において何れかのアーティストが選択されたか否かを確認し(ステップS94)、何れかのアーティストが選択された場合には、アーティスト検索情報に、その選択されたアーティストを検索条件として設定し(ステップS95)、詳細は後述するArtist_Subサブルーチンを実行することで、図7(E)のアーティスト選択サブ画面に移行して、更に絞り込みを行っていく(ステップS96)。
【0098】
その後このArtist_Subサブルーチンからリターンしたとき、或いは、上記ステップS94において何れのアーティストも選択されていないと判別した場合には、次に、上記アーティスト選択画面中の「終了」が押されたか否かを確認し(ステップS97)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS98)、上位のルーチンに戻る。
【0099】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0100】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0101】
これに対して、上記ステップS97において「終了」が押されていないと判別した場合には、更に、上記アーティスト選択画面中の「トップ」が押されたか否かを確認し(ステップS99)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS100)、上位のルーチンに戻る。
【0102】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0103】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0104】
また、上記ステップS99において「トップ」が押されていないと判別した場合には、更に、上記アーティスト選択画面中の「戻る」が押されたか否かを確認し(ステップS101)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、アーティスト検索情報をクリアして(ステップS102)、上位のルーチンに戻る。
【0105】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0106】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85,S86とNoを順に辿っていき、そのステップS86でYesとなって上記ステップS71に戻り、キー操作情報ret_codeをクリアした後に、ステップS72で、図7(C)に示すようなジャンル選択サブ画面を表示することになる。
【0107】
一方、上記ステップS101において上記ジャンル選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Artist_Sub)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS103)。何れかが押されていれば、上位のルーチンに戻る。
【0108】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0109】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0110】
これに対し、上記ステップS103において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Artist_Sub)での選択画面中の「戻る」が押されたか否かを確認し(ステップS104)、それが押されていれば上記ステップS91に戻り、それが押されていなければ上記ステップS94に戻る。
【0111】
次に、図14に示すフローチャートを参照して、上記ステップS96で実行されるArtist_Subサブルーチンの詳細について説明する。
【0112】
即ち、まず、キー操作情報ret_codeをクリアした後(ステップS111)、上記ステップS95で設定されたアーティストに従って、図7(E)に示すようなアーティスト選択サブ画面を表示する(ステップS112)。
【0113】
その後、該アーティスト選択サブ画面中の「全て」が押されたか否かを確認し(ステップS113)、それが押されていれば、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われる(ステップS114)。なおこの場合の曲選択画面では、当該携帯型音楽プレーヤ10に登録されている曲の内、図7(B)のジャンル選択画面と図7(D)のアーティスト選択画面で選択したジャンルとアーティストに該当する曲のみを表示する。
【0114】
このMusicサブルーチンからリターンしたとき、或いは、上記ステップS113においてアーティスト選択サブ画面中の「全て」が押されていないと判別した場合には、次に、上記アーティスト選択サブ画面中の「アルバム」が押されたか否かを確認し(ステップS115)、それが押されていれば、詳細は後述するAlbumサブルーチンを実行することで、図7(F)のアルバム選択画面に移行して、アルバムの選択が行われる(ステップS116)。なおこの場合、アルバム選択画面では、当該携帯型音楽プレーヤ10に登録されているアルバムの内、図7(B)のジャンル選択画面と図7(D)のアーティスト選択画面で選択したジャンルとアーティストに該当するアルバムのみを表示する。
【0115】
このAlubumサブルーチンからリターンしたとき、或いは、上記ステップS115においてアーティスト選択サブ画面中の「アルバム」が押されていないと判別した場合には、次に、上記アーティスト選択サブ画面中の「終了」が押されたか否かを確認し(ステップS117)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS118)、上位のルーチンに戻る。この場合、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように上記ステップS17に戻って、そのステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0116】
これに対して、上記ステップS117において「終了」が押されていないと判別した場合には、更に、上記アーティスト選択サブ画面中の「トップ」が押されたか否かを確認し(ステップS119)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS120)、上位のルーチンに戻る。この場合、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0117】
また、上記ステップS119において「トップ」が押されていないと判別した場合には、更に、上記アーティスト選択サブ画面中の「戻る」が押されたか否かを確認し(ステップS121)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定して(ステップS122)、上位のルーチンに戻る。この場合、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103,S104とNoを順に辿っていき、そのステップS104でYesとなって、上記ステップS91に戻り、アーティスト検索情報とキー操作情報ret_codeとをクリアした後に、ステップS92でジャンル検索情報及びアルバム検索情報で示される検索条件で絞り込んだアーティストをメモリ14のデータベースから検索して、ステップS93で図7(D)のアーティスト選択画面を表示することとなる。
【0118】
一方、上記ステップS121において上記アーティスト選択サブ画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Music、Album)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS123)。何れかが押されていれば、上位のルーチン、即ち、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように電源オフ、または、図8の再生画面あるいは図7(A)の検索トップ選択画面に表示を戻すこととなる。
【0119】
これに対し、上記ステップS123において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Music、Album)での選択画面中の「戻る」が押されたか否かを確認し(ステップS124)、それが押されていれば上記ステップS111に戻り、それが押されていなければ上記ステップS113に戻る。
【0120】
次に、上記ステップS30,S78,またはS116で実行されるAlbumサブルーチンの詳細について、図15に示すフローチャートを参照して説明する。
【0121】
即ち、まず、アルバム検索情報とキー操作情報ret_codeとをクリアする(ステップS131)。その後、ジャンル検索情報及びアーティスト検索情報で示される検索条件で絞り込んだアルバムをメモリ14のデータベースから検索し(ステップS132)、図7(F)のアルバム選択画面を表示する(ステップS133)。
【0122】
なお、図7(E)のアーティスト選択サブ画面からこの図7(F)のアルバム選択画面に移行した場合は、ジャンル検索条件とアーティスト検索条件とが設定されているので、データベースに登録されているアルバムの内、図7(B)のジャンル選択画面で選択したジャンルと図7(D)のアーティスト選択画面で選択したアーティストとに該当するアルバムのみを表示する。
【0123】
またこの場合、表示するアルバム名の文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0124】
そしてその後、上記アルバム選択画面において何れかのアルバムが選択されたか否かを確認し(ステップS134)、何れかのアルバムが選択された場合には、アルバム検索情報に、その選択されたアルバムを検索条件として設定し(ステップS135)、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、更に絞り込みを行っていく(ステップS136)。
【0125】
その後このMusicサブルーチンからリターンしたとき、或いは、上記ステップS134において何れのアルバムも選択されていないと判別した場合には、次に、上記アルバム選択画面中の「終了」が押されたか否かを確認し(ステップS137)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS138)、上位のルーチンに戻る。
【0126】
ここで、該Albumサブルーチンが上記ステップS30として実行されている場合には、上記ステップS31に戻り、さらにそのステップS31からステップS34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0127】
また、該Albumサブルーチンが上記ステップS78として実行されている場合には、上記ステップS79に戻り、さらにそのステップS79からステップS81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0128】
更に、該Albumサブルーチンが上記ステップS116として実行されている場合には、上記ステップS117に戻り、さらにそのステップS117からステップS119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように電源オフすることとなる。
【0129】
これに対して、上記ステップS137において「終了」が押されていないと判別した場合には、更に、上記アルバム選択画面中の「トップ」が押されたか否かを確認し(ステップS139)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS140)、上位のルーチンに戻る。
【0130】
そして、その戻った上位のルーチンから上述したように次々と上位のルーチンに戻っていくことで、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0131】
また、上記ステップS139において「トップ」が押されていないと判別した場合には、更に、上記アルバム選択画面中の「戻る」が押されたか否かを確認し(ステップS141)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、アルバム検索情報をクリアして(ステップS142)、上位のルーチンに戻る。
【0132】
ここで、該Albumサブルーチンが上記ステップS30として実行されている場合には、上記ステップS31に戻り、さらにそのステップS31からステップS34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0133】
また、該Albumサブルーチンが上記ステップS78として実行されている場合には、上記ステップS79に戻り、さらにそのステップS79からステップS81,S83,S85,S86とNoを順に辿っていき、そのステップS86でYesとなって上記ステップS71に戻り、キー操作情報ret_codeをクリアした後に、ステップS72で、図7(C)に示すようなジャンル選択サブ画面を表示することになる。
【0134】
更に、該Albumサブルーチンが上記ステップS116として実行されている場合には、上記ステップS117に戻り、さらにそのステップS117からステップS119,S121,S123,S124とNoを順に辿っていき、そのステップS124でYesとなって上記ステップS111に戻ることになる。
【0135】
一方、上記ステップS141において上記アルバム選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Music)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS143)。何れかが押されていれば、上位のルーチンに戻る。
【0136】
ここで、該Albumサブルーチンが上記ステップS30として実行されている場合には、上記ステップS31に戻り、さらにそのステップS31からステップS34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0137】
また、該Albumサブルーチンが上記ステップS78として実行されている場合には、上記ステップS79に戻り、さらにそのステップS79からステップS81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0138】
また、該Albumサブルーチンが上記ステップS116として実行されている場合には、上記ステップS117に戻り、さらにそのステップS117からステップS119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンの上記ステップS29またはステップS77に戻る。
【0139】
そして、上記ステップS29に戻った場合には、上述したように、「終了」が押されていた場合には、上記ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS14で図8の再生画面に戻ることとなり、「トップ」が押されていた場合には、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0140】
また、上記ステップS77に戻った場合には、そのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、更に上述したように次々と戻っていくことで、「終了」が押されていた場合には、上記ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS14で図8の再生画面に戻ることとなり、「トップ」が押されていた場合には、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0141】
これに対し、上記ステップS143において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Music)での選択画面中の「戻る」が押されたか否かを確認し(ステップS144)、それが押されていれば上記ステップS131に戻り、それが押されていなければ上記ステップS134に戻る。
【0142】
次に、上記ステップS24,S33,S36,S74,S114,S136で実行されるMusicサブルーチンの詳細について、図16に示すフローチャートを参照して説明する。
【0143】
即ち、まず、ジャンル検索情報、アーティスト検索情報及びアルバム検索情報で示される検索条件で絞り込んだ曲をメモリ14のデータベースから検索する(ステップS151)。そして、曲検索情報を、その検索した曲の内の先頭曲に設定し、キー操作情報ret_codeをクリアする(ステップS152)。その後、図7(G)の曲選択画面を表示する(ステップS153)。
【0144】
なお、図7(F)のアルバム選択画面からこの図7(G)の曲選択画面に移行した場合は、ジャンル検索条件とアーティスト検索条件及びアルバム検索条件が設定されているので、データベースに登録されている曲の内、図7(B)のジャンル選択画面で選択したジャンルと図7(D)のアーティスト選択画面で選択したアーティストと図7(F)のアルバム選択画面で選択したアルバムとに該当する曲のみを表示する。
【0145】
またこの場合、表示する曲のタイトルの文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0146】
そしてその後、上記曲選択画面において何れかの曲が選択されたか否かを確認し(ステップS154)、何れかの曲が選択された場合には、曲検索情報に、その選択された曲を検索条件として設定する(ステップS155)。
【0147】
その後、或いは、上記ステップS154において何れの曲も選択されていないと判別した場合には、次に、上記曲選択画面中の「再生」が押されたか否かを確認し(ステップS156)、それが押されていれば、上記キー操作情報ret_codeに再生を設定すると共に(ステップS157)、上記ステップS151で検索した曲を再生曲リストとして該制御部11内もしくは上記メモリ14に保存して(ステップS158)、上位のルーチンに戻る。
【0148】
ここで、該Musicサブルーチンが上記ステップS24として実行されている場合には、上記ステップS25に戻り、さらにそのステップS25からステップS27,S29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。
【0149】
また、該Musicサブルーチンが上記ステップS33として実行されている場合には上記ステップS34に戻り、該Musicサブルーチンが上記ステップS36として実行されている場合には上記ステップS37に戻って、上述したように順に辿っていって、上記ステップS14で図8の再生画面に戻ることとなる。
【0150】
更に、該Musicサブルーチンが上記ステップS74として実行されている場合には、上記ステップS75に戻り、さらにそのステップS75からステップS77,S79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンのステップS27へと戻った後、上述したように順に辿っていって、上記ステップS14で図8の再生画面に戻ることとなる。
【0151】
また、該Musicサブルーチンが上記ステップS114として実行されている場合には、上記ステップS115に戻り、さらにそのステップS115からステップS117,S119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンのステップS29またはステップS77に戻っていき、それぞれ上述したように更に順に辿っていくことで、上記ステップS14で図8の再生画面に戻ることとなる。
【0152】
更に、該Musicサブルーチンが上記ステップS136として実行されている場合には、上記ステップS137に戻り、さらにそのステップS137からステップS139,S141,S143とNoを順に辿っていき、そのステップS143から更に上位のルーチンのステップS31またはステップS79またはステップS117に戻っていき、それぞれ上述したように更に順に辿っていくことで、上記ステップS14で図8の再生画面に戻ることとなる。
【0153】
これに対して、上記ステップS156において「再生」が押されていないと判別した場合には、更に、上記曲選択画面中の「終了」が押されたか否かを確認し(ステップS159)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS160)、上位のルーチンに戻る。
【0154】
ここで、該Musicサブルーチンが上記ステップS24として実行されている場合には、上記ステップS25に戻り、さらにそのステップS25からステップS27,S29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0155】
また、該Musicサブルーチンが上記ステップS33として実行されている場合には上記ステップS34に戻り、該Musicサブルーチンが上記ステップS36として実行されている場合には上記ステップS37に戻って、上述したように順に辿っていって、電源オフすることとなる。
【0156】
更に、該Musicサブルーチンが上記ステップS74として実行されている場合には、上記ステップS75に戻り、さらにそのステップS75からステップS77,S79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンのステップS27へと戻った後、上述したように順に辿っていって、電源オフすることとなる。
【0157】
また、該Musicサブルーチンが上記ステップS114として実行されている場合には、上記ステップS115に戻り、さらにそのステップS115からステップS117,S119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンのステップS29またはステップS77に戻っていき、それぞれ上述したように更に順に辿っていくことで、電源オフすることとなる。
【0158】
更に、該Musicサブルーチンが上記ステップS136として実行されている場合には、上記ステップS137に戻り、さらにそのステップS137からステップS139,S141,S143とNoを順に辿っていき、そのステップS143から更に上位のルーチンのステップS31またはステップS79またはステップS117に戻っていき、それぞれ上述したように更に順に辿っていくことで、電源オフすることとなる。
【0159】
これに対して、上記ステップS159において「終了」が押されていないと判別した場合には、更に、上記曲選択画面中の「トップ」が押されたか否かを確認し(ステップS161)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS162)、上位のルーチンに戻る。
【0160】
そして、その戻った上位のルーチンから上述したように次々と上位のルーチンに戻っていくことで、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0161】
また、上記ステップS161において「トップ」が押されていないと判別した場合には、更に、上記曲選択画面中の「戻る」が押されたか否かを確認し(ステップS163)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、曲検索情報をクリアして(ステップS164)、上位のルーチンに戻る。
【0162】
ここで、該Musicサブルーチンが上記ステップS24として実行されている場合には、上記ステップS25に戻り、さらにそのステップS25からステップS27,S29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0163】
また、該Musicサブルーチンが上記ステップS33として実行されている場合には上記ステップS34に戻り、該Musicサブルーチンが上記ステップS36として実行されている場合には上記ステップS37に戻り、同様に順に辿っていくことで、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0164】
これに対して、該Musicサブルーチンが上記ステップS74として実行されている場合には、上記ステップS75に戻り、さらにそのステップS75からステップS77,S79,S81,S83,S85,S86とNoを順に辿っていき、そのステップS86でYesとなって上記ステップS71に戻り、キー操作情報ret_codeをクリアした後に、ステップS72で、図7(C)に示すようなジャンル選択サブ画面を表示することになる。
【0165】
更に、該Musicサブルーチンが上記ステップS114として実行されている場合には、上記ステップS115に戻り、さらにそのステップS115からステップS117,S119,S121,S123,S124とNoを順に辿っていき、そのステップS124でYesとなって上記ステップS111に戻ることになる。
【0166】
また、該Musicサブルーチンが上記ステップS136として実行されている場合には、上記ステップS167に戻り、さらにそのステップS137からステップS139,S141,S143,S144とNoを順に辿っていき、そのステップS144でYesとなって上記ステップS131に戻り、上記ステップS131乃至ステップS133の処理を実行することで、図7(F)に示すようなアルバム選択画面を表示することになる。
【0167】
また、上記ステップS163において上記曲選択画面中の「戻る」が押されていないと判別した場合には、上記ステップS154に戻る。
【0168】
次に、上記ステップS14で実行されるPlayサブルーチンの詳細について、図17に示すフローチャートを参照して説明する。
【0169】
即ち、まず、上記ステップS158で当該制御部11内または上記メモリ14に保存した再生曲リストを読み込み(ステップS171)、図8に示すような再生画面を表示する(ステップS172)。なお、この再生画面では、上記ステップS156において図7(G)の曲選択画面で「再生」が押された時に保存された再生曲リストを表示するものであるが、この「再生」を押す前に「トップ」や「戻る」が押されてこの再生画面に戻ってきた場合には、以前の再生曲リストが有効なままであるので、前回の再生画面を表示していた時と同じ曲リストが画面に表示されることになる。
【0170】
そして次に、キー操作情報ret_codeに再生が設定されているか否か、つまり、図7(G)の曲選択画面で「再生」が押されてこの再生画面に移行してきたのか否かを確認し(ステップS173)、「再生」が押されてきた場合には、上記キー操作情報ret_codeをクリアして(ステップS174)、選択された曲の音楽ファイルを記憶部13からメモリ14に読み出す(ステップS175)。そして、図8の再生画面における上部左の再生曲情報エリアに表示する曲情報を読み込む(ステップS176)。これは、まず、メモリ14にコピーしてあるデータベースから、タイトル,アーティスト,アルバムを読み込み、メモリ14上のデータが不完全(16バイト以上のデータ)の場合には、記憶部13のデータベースから読み出すものである。
【0171】
その後、再生画面下部の「再生」ボタンを無効に、「停止」ボタンを有効にして(ステップS177)、メモリ14から再生部16に音楽ファイルを送信して再生を開始する(ステップS178)。
【0172】
そして、「再生」ボタンが無効(=再生中)か否かを確認し(ステップS179)、無効(=再生中)ならば、再生画面上部左の再生曲情報エリアの再生曲情報を更新する(ステップS180)。この場合、再生曲情報は図6に示すようにタイトル、アーティスト名及びアルバム名が文字数の制限を受けることなく全文字列を表示する。なお、上記ステップS179で「再生」ボタンが無効(=再生中)でないと判別した場合には、後述するステップS185に進む。
【0173】
その後、その再生中の音楽ファイルの再生が終了したか、再生画面下部の「次曲」ボタンが押されたか、或いは「前曲」ボタンが押されたかを確認し(ステップS181)、再生が終了した場合または「次曲」或いは「前曲」ボタンが押された場合には、再生曲リストの先頭(「前曲」ボタンが押されたとき)または最後(再生終了または「次曲」ボタンが押されたとき)まで行っているかを確認する(ステップS182)。そして、まだ再生曲リストの先頭または最後まで行っていなければ、再生中の音楽ファイルの再生が終了した場合または「次曲」ボタンが押された場合には再生する曲を次の音楽ファイルに更新し、また「前曲」ボタンが押された場合には再生する曲を前の音楽ファイルに更新して(ステップS183)、上記ステップS175に戻る。なお、ステップS182で、再生曲リストの先頭または最後まで行っていると判別した場合には、後述するステップS187に進み、再生を停止する。また、上記ステップS181で再生が終了していない、または「次曲」あるいは「前曲」ボタンが押されていないと判別した場合には、後述するステップS185に進む。
【0174】
一方、上記ステップS173において、キー操作情報ret_codeに再生が設定されていないと判別した場合、つまり、図9(A)のメインフローチャートの開始から最初の該Play処理の実行時や、図7(A)の検索トップ選択画面で「戻る」が押されてこのPlay処理に移行してきた場合には、上記キー操作情報ret_codeをクリアする(ステップS184)。
【0175】
そしてその後、音楽停止中に「再生」ボタンが押されたか否かを確認し(ステップS185)、押された場合には、上記ステップS175に移行して、再生を開始する。即ち、上記ステップS173からステップS184を経てきた場合には、まだ再生を開始していない、つまり音楽停止中であり、「再生」ボタンが有効となっている。従って、「再生」ボタンが押されれば、上記ステップS175に移行して再生を行う。また、上記ステップS179からこのステップS185に進んだ場合には、「再生」ボタンは有効で、音楽の停止中であるので、後述するステップS187〜S191を実行後、ステップS179からこのステップS185に進んだ場合と判別される。そして、上記ステップS181からこのステップS185に進んだ場合には、音楽の再生中であり且つ「再生」ボタンが無効であるので、このステップS185ではNoと判別される。
【0176】
上記ステップS185でNoと判別した場合には、更に、音楽再生中に「停止」ボタンが押されたか否かを確認する(ステップS186)。そして、音楽再生中に「停止」ボタンが押された場合には、音楽ファイルの再生を停止して(ステップS187)、「再生」ボタンを有効、「停止」ボタンを無効にする(ステップS188)。
【0177】
その後、或いは上記ステップS186で音楽再生中に「停止」ボタンが押されていないと判別した場合には、再生画面下部右のボリューム調整用の「+」または「−」ボタンが押されたか否かを確認し(ステップS189)、どちらかが押された場合は、ボリュームをその押されたボタンに応じて変更する(ステップS190)。
【0178】
そしてその後、或いは上記ステップS189でボリューム調整用のボタンが押されていないと判別した場合には、再生画面下部の「検索」ボタンが押されたか否かを確認し(ステップS191)、それが押されていければ、上記ステップS179に戻る。これに対して、その「検索」ボタンが押されたと判別した場合には、上記キー操作情報ret_codeに検索を設定して(ステップS192)、上位のルーチンに戻る。即ち、上記ステップS15に戻り、そこでキー操作情報ret_codeに検索が設定されているので、ステップS16のSearchサブルーチンが実行されて、図7(A)の検索画面トップに移行することとなる。
【0179】
なお、音楽ファイルを低速・消費電力大のHDDに保存しているような場合には、再生する音楽ファイルのメモリへの読み出し時に、次曲以降の音楽ファイルも複数読み出しておく所謂先読みを行うことで、次曲へのアクセスを早くし、HDDへのアクセス回数を減らして消費電力を抑えるようなことが、一般的に行われている。本実施形態においては、上記ステップS175で記憶部13から音楽ファイルを1曲づつ読み出し、ステップS176でその音楽ファイルの曲情報を読み込むようにしているが、そのような先読みを行うようにしても良いことは勿論である。そのような先読みを行う場合には、上記ステップS176の曲情報読み込みも、音楽ファイルの先読みと同時に行うようにする。
【0180】
次に、図5(A)に示すように検索時に表示可能な文字数が1バイト文字の場合で16文字、2バイト文字の場合は8文字と制限がある場合に、上記ステップS12において、記憶部13に保存されたデータベースからメモリ14のデータベースにデータをコピーする際の動作を、図18(A)のフローチャートを参照して説明する。
【0181】
まず、制御部11内部または上記メモリ14内に設けたコピーバイト数カウンタbyteをクリアした後(ステップS201)、記憶部13に保存されたデータベースから1文字読み込んで(ステップS202)、それがNULLか否かを確認する(ステップS203)。その読み込んだ文字がNULLならば、読み込みを終了して、後述するステップS210に移行する。これに対して、その読み込んだ文字がNULLでない場合には、その読み込んだ文字が1バイト文字であるか否かを確認し(ステップS204)、1バイト文字の場合には、上記コピーバイト数カウンタbyteを+1して(ステップS205)、上記読み込んだ文字(1バイト)をメモリ14にコピーする(ステップS206)。
【0182】
一方、上記ステップS204で読み込んだ文字が2バイト文字であると判別した場合には、メモリ14へのコピー済みバイト数が15バイトか否かを確認し(ステップS207)、15バイトの場合には16バイトを超えてしまうので終了して、後述するステップS210に移行する。これに対して、15バイト未満であると判別した場合には、上記コピーバイト数カウンタbyteを+2した後(ステップS208)、上記ステップS206に進んで、上記読み込んだ文字(2バイト)をメモリ14にコピーする。
【0183】
上記ステップS206でのコピーを行った後には、上記コピーバイト数カウンタbyteの値により、コピー済みバイト数が16バイトか否かを確認し(ステップS209)、16バイトとなっていればコピーを終了して後述するステップS210に移行し、また、まだ16バイト未満の場合には上記ステップS202に移行してコピーを続ける。
【0184】
これにより、文字列長さが16バイト未満の場合は全文字列、16バイト以上で16バイト目が1バイト文字の場合は16バイト、2バイト文字の場合は15バイトをメモリ14にコピーする。
【0185】
而して、ステップS210では、メモリ14にNULLをコピーする。そして、上記コピーバイト数カウンタbyteを+1する(ステップS211)。その後、その+1したコピーバイト数カウンタbyteの値で示されるコピー済みバイト数が17バイトか否かを確認し(ステップS212)、17バイトになるまで上記ステップS210からステップS212を繰り返す。
【0186】
これにより、文字列終了から17バイトまでを文字列終了文字のNULLで埋める。
【0187】
その後、記憶部13に保存されたデータベースからメモリ14に全てをコピーしたか否かを確認し(ステップS213)、全てコピーした場合には、メモリ14のデータベースのデータが完全であることを示すためのフラグとしてNULLを18バイト目にコピーする(ステップS214)。これに対して、全てをコピー出来なかったと判別した場合には、メモリ14のデータベースのデータが不完全であることを示すためのフラグとして~を18バイト目にコピーする(ステップS215)。
【0188】
これにより、検索時はNULL迄の文字列をそのまま表示すれば良く、再生画面における再生曲情報で完全な文字列を表示する場合は、18バイト目がNULLならばメモリ14のデータベースの文字列をそのまま表示し、~の場合は記憶部13に保存されたデータベースから読み出して表示するようにすれば良い。
【0189】
このようにしてメモリ14のデータベースにコピーした文字列を、検索時の各選択画面で表示する場合の動作を、図19(A)に示すフローチャートを参照して説明する。
【0190】
即ち、まず、メモリ14のデータベースから1文字読み出して(ステップS221)、それがNULLか否かを確認する(ステップS222)。そして、その読み出した文字がNULLでなければ1バイト文字ならば読み出した文字をそのまま、2バイト文字ならば続く1バイトと合わせて表示部兼入力部15に表示した後(ステップS223)、上記ステップS221に戻る。而して、読み出した文字がNULLとなったならば、終了する。
【0191】
次に、図6のような再生曲情報を、図8の再生画面上部左の再生曲情報エリアに表示する動作を、図20に示すフローチャートを参照して説明する。
【0192】
即ち、まず、上記メモリ14のデータベースにおけるタイトルの最終バイトが~か否かを確認し(ステップS231)、~でなければ、そのメモリ14のデータベースにおけるタイトルを表示用ワークメモリ(図示せず)にコピーする(ステップS232)。これに対して、上記メモリ14のデータベースにおけるタイトルの最終バイトが~の場合には、記憶部13に保存されたデータベースからタイトルを読み出して、表示用ワークメモリ上記にコピーする(ステップS233)。
【0193】
そしてその後、区切りを示す“/”を表示用ワークメモリにコピーする(ステップS234)。
【0194】
次に、上記メモリ14のデータベースにおけるアーティスト名の最終バイトが~か否かを確認し(ステップS235)、~でなければ、そのメモリ14のデータベースにおけるアーティスト名を表示用ワークメモリにコピーする(ステップS236)。これに対して、上記メモリ14のデータベースにおけるアーティスト名の最終バイトが~の場合には、上記記憶部13に保存されたデータベースからアーティスト名を読み出して、表示用ワークメモリにコピーする(ステップS237)。
【0195】
そしてその後、区切りを示す“/”をコピーする(ステップS238)。
【0196】
次に、上記メモリ14のデータベースにおけるアルバム名の最終バイトが~か否かを確認し(ステップS239)、~でなければ、そのメモリ14のデータベースにおけるアルバム名を表示用ワークメモリにコピーする(ステップS240)。これに対して、上記メモリ14のデータベースにおけるアルバム名の最終バイトが~の場合には、上記記憶部13に保存されたデータベースからアルバム名を読み出して、表示用ワークメモリにコピーする(ステップS241)。
【0197】
そしてその後、文字列終了を示すNULLをコピーする(ステップS242)。
【0198】
ここまでが、図17のステップS176の処理に相当する。
【0199】
次に、上記表示用ワークメモリの文字列を再生曲情報エリアに表示する(ステップS243)。この場合、文字列長さが再生曲情報エリアの長さよりも長い場合には、文字列をスクロールさせながら表示する。ここが、図17のステップS180に相当する。
【0200】
以上説明した本発明の第1実施形態によれば、以下のような効果を奏することができる。
即ち、記憶部13に保存されたデータベースをそのままメモリ14に読み込もうとすると、非常に大きなメモリ容量が必要となる。少ないメモリ容量では記憶部13のデータベースの一部しか読み込めなくなるので、検索時にデータベース情報にアクセスする場合に、記憶部13からメモリ14に一部読み込み→メモリ14の検索→記憶部13からメモリ14に残りの一部読み込み→メモリ14の検索、といった読み込み動作が頻発してしまい、検索が遅くなってしまう。本実施形態でいえば、上記ステップS52、ステップS92、ステップS132、ステップS151の検索時に、記憶部13→メモリ14間の読み込み動作が多く発生して検索が遅くなる。
【0201】
これに対して、本実施形態では、表示部兼入力部15に表示できる文字列長を基に、記憶部13からメモリ14に読み込む情報量を制限するので、同じメモリ容量の場合ならば、従来と比べてより多い曲数の情報を一度にメモリ14に読み込めるようになるので、記憶部13→メモリ14間の読み込み動作を無くす、または減らすことができて、検索を高速に行えるようになる。
【0202】
このように、記憶部13に保存されたデータベースに記憶されている情報のうち検索に必要なデータで、検索時に表示可能なデータ量よりもサイズが大きいデータに関しては、その一部分だけをメモリ14に読み込んで使用することで、1曲当たりの情報量が減り、その分メモリ14に保存できる曲数が多くなる。そうすると、記憶部13のデータベースのデータのうち検索に必要なデータ全てをメモリ14に格納できるようになり、或いは全て格納できるようにならなくても記憶部13のデータベースからメモリ14に読み直す回数が減るので、検索を高速にすることができる。
【0203】
また、メモリ14の必要容量を減らすことができるので、コストダウンを行うことができる。
【0204】
メモリ14に一部しか格納しなかった情報に関しては、音楽再生時に記憶部13のデータベースから読み出して表示するので、従来と同様に必要な情報は全て表示することができる。
【0205】
また、上記ステップS175(即ち、ステップS233,S237,S241)で曲情報を記憶部13のデータベースから読み込むのではなく、既にメモリ14に読み込み済みの音楽ファイルのヘッダから読み込めば、データベースを読み込む必要がなくなる分、高速になるし、記憶部13のデータベースを読み込むためのメモリ14が不要になる。
【0206】
図7(A)乃至(G)の検索時の画面と図8の再生画面の音楽リストで表示可能文字数が違う場合や、再生画面の再生曲情報エリアでスクロールを行わずに表示可能な文字数が上記よりも多い場合は、メモリに保存する文字数は一番多い文字数に合わせる。なお、表示される文字数は、メモリに保存した文字の更に一部のみ表示するようにしても構わない。この場合、表示スペースに対して大きな文字で表示することもできる。
【0207】
[第2実施形態]
検索時に表示可能な文字数を、1バイト文字で16文字(=16バイト)、2バイト文字で12文字(=24バイト)とした場合の例を、図5(C)及び(D)、図18(B)及び図19(B)を参照して説明する。
【0208】
本実施形態では、文字列が1バイト文字と2バイト文字の両方を含み、24バイトが2バイト文字だった場合を想定して25バイト分を記憶部13に保存されたデータベースからメモリ14にコピーして、26バイト目を文字列終了文字NULL、27バイト目をメモリ14のデータベースのデータが完全であるか否かを示すためのフラグとしている。なお、文字列が25バイトに満たない場合はNULLで埋める。
【0209】
図18(B)は、この場合のフローチャートを示す図であり、上記第1実施形態における図18(A)の処理と同様の処理については、同一の参照番号を付してある。
【0210】
即ち、まず、制御部11内部または上記メモリ14内に設けたコピーバイト数カウンタbyteをクリアした後(ステップS201)、記憶部13に保存されたデータベースから1バイト読み込んで(ステップS216)、それがNULLか否かを確認する(ステップS203)。その読み込んだ1バイトがNULLならば、読み込みを終了して、後述するステップS210に移行する。これに対して、その読み込んだ1バイトがNULLLでない場合には、それをメモリ14にコピーする(ステップS206)。そして、上記コピーバイト数カウンタbyteを+1した後(ステップS205)、そのコピーバイト数カウンタbyteの値により、25バイトコピーしたか否かを確認し(ステップS217)、25バイトでなければ上記ステップS216に戻る。
【0211】
上記ステップS217で25バイトコピーしたと判別した場合、或いは、上記ステップS203で読み込んだ1バイトがNULLであると判別した場合には、次に、メモリ14にNULLをコピーした後(ステップS210)、上記コピーバイト数カウンタbyteを+1する(ステップS211)。その後、その+1したコピーバイト数カウンタbyteの値で示されるコピー済みバイト数が27バイトか否かを確認し(ステップS218)、27バイトになるまで、それらステップS210,S211,S218を繰り返す。
【0212】
而して、コピー済みバイト数が27バイトになったと判別したならば、記憶部13に保存されたデータベースから全ての文字列をコピーしたか否かを確認し(ステップS213)、全てコピーした場合には処理を終了する。これに対して、全てをコピー出来なかったと判別した場合には、メモリ14のデータベースのデータが不完全であることを示すため、27バイト目のフラグを~に書き換える(ステップS219)。
【0213】
これにより、表示可能文字列のバイト数が最も多い時に合わせてメモリ14のデータベースに文字列を取り込むことができる。
【0214】
このようにしてメモリ14にコピーした文字列を表示する場合の動作を、図19(B)に示すフローチャートを参照して説明する。なお、上記第1実施形態における図19(A)の処理と同様の処理については、同一の参照番号を付してある。
【0215】
即ち、まず、制御部11内部または上記メモリ14内に設けた表示幅カウンタwidthをクリアした後(ステップS224)、メモリ14のデータベースから1文字読み込んで(ステップS221)、それがNULLか否かを確認する(ステップS222)。そして、NULLならば、処理を終了する。
【0216】
これに対して、読み込んだ文字がNULLでないと判別した場合には、その読み込んだ文字が1バイト文字であるか否かを確認し(ステップS225)、1バイト文字の場合には、上記表示幅カウンタwidthを+1して(ステップS226)、その読み込んだ文字(1バイト)を表示部兼入力部15に表示する(ステップS223)。
【0217】
一方、上記ステップS225で読み込んだ文字が2バイト文字であると判別した場合には、上記表示幅カウンタwidthの値により、表示済み幅が14.7よりも大きいか否かを確認する(ステップS227)。そして、表示済み幅が14.7よりも大きくない場合には、上記表示幅カウンタwidthを+1.3した後(ステップS228)、上記ステップS223に進んで、上記読み込んだ文字(2バイト)を表示部兼入力部15に表示する(ステップS223)。これに対して、表示済み幅が14.7よりも大きいと判別した場合には、表示可能幅を越えてしまうので、処理を終了する。
【0218】
上記ステップS223での表示を行った後には、上記表示幅カウンタwidthの値により、表示済み幅が15を超えたか否かを確認し(ステップS229)、超えていなければ上記ステップS221に戻り、超えていれば処理を終了する。
【0219】
なお、上記表示幅カウンタwidthを+1.3するのは、次の理由による。即ち、1バイト文字の幅を「1」として、16文字表示可能なので、表示可能幅を「16」とする。この幅で2バイト文字を12文字表示可能とすると、1文字の幅は1.3となる。
【0220】
このような動作により、記憶部13に保存されたデータベースとメモリ14のデータベースは、図5(C)に示すようになり、また、表示は図5(D)に示すようになる。
【0221】
即ち、全て1バイト文字で25文字以上の文字長である1番目の文字列は、26文字=26バイト中25バイトをコピーして、16文字=16バイトを表示する。
【0222】
全て2バイト文字で25バイト以上の文字長である2番目の文字列は、15文字=30バイト中25バイトをコピーして、25バイト目=13文宇目は不当なデータとなる。しかし、本実施形態では、25バイト目は表示しないので問題は無く、12文字=24バイトを正常に表示する。
【0223】
1バイト文字と2バイト文字とが混在して25バイト以上の文字長である3番目の文字列は、16文字=31バイト中25バイトをコピーして、24〜25バイト目=13文宇目も正常なデータとなり、12文字=23バイトを正常に表示する。
【0224】
そして、全て1バイト文字で25バイト以下の文字長である4番目の文字列は、10文字=10バイト中10バイトをコピーして、10文字=10バイトを表示する。
【0225】
これにより、1バイト文字か2バイト文字かによって表示可能なバイト数が異なる場合でも、バイト数が最大になる文字に合わせてメモリ14のデータベースのデータ量を設定すれば良く、記憶部13に保存されたデータベースのデータ全てをメモリ14にコピーする場合よりもメモリ容量を抑えることができる。
【0226】
また、本実施形態では、1バイト文字と2バイト文字とで文字幅が違ったが、1バイト文字や2バイト文字に関わらず文字によって幅が違うプロポーショナルフォントの場合でも有効である。その場合は、幅が一番小さい場合に表示可能なバイト数分だけメモリ14のデータベースに読み込んでおくようにする。
【0227】
なお、上記第1実施形態は、1バイト文字と2バイト文字では文字幅が違ったとしても、全ての1バイト文字及び全ての2バイト文字は幅が等しい等幅フォントの場合に有効なものである。
【0228】
図5(E)は、PCが作成する記憶部13に保存すべきデータベースを、図5(C)に示したメモリ14のデータベースと同様に25バイトまでとした場合を示している。この場合は、26バイト目がフラグで、27バイト目がNULLとなり、フラグが~の場合は、記憶部13に保存したデータベースからではなく、音楽ファイルのヘッダ部52(コンテンツヘッダ)から読み出すこと以外は、図5(C)及び図5(D)の場合と動作は同じである。
【0229】
また、図5(F)は、PCが作成する記憶部13に保存すべきデータベースを、検索時に表示するバイト数までとした場合を示している。この場合は、NULLの前の文字がフラグとなり、フラグが~の場合は、記憶部13に保存したデータベースからではなく音楽ファイル50のヘッダ部52から読み出すこと以外は、図5(C)及び図5(D)の場合と動作は同じである。(記憶部13に保存したデータベースからメモリ14のデータベースにコピーする時に、NULL前の文字が~の場合は、NULLに置き換えて、27バイト目に~を設定するようにすれば、図19(B)の動作は変更無しで使用できる。)
何れの場合も、記憶部13に保存したデータベースまたは音楽ファイル50のヘッダ部52に登録可能な最大文字数に合わせてメモリ14のデータベースにコピーするデータ量を決定する場合よりも、1曲当たりのメモリ14のデータベースのメモリ容量を抑えることができる。これにより、検索を高速にすることができ、またはメモリ14のメモリ容量を抑えてコストアップを防ぐことができる。
【0230】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【0231】
例えば、上記実施形態では、音楽ファイルで説明したが、静止画ファイル、動画ファイル、ドキュメントファイル等、他のコンテンツファイルであっても良い。
【0232】
また、上記実施形態では、携帯型音楽プレーヤ10の表示部兼入力部15を使用して説明したが、リモコン30の表示部34と各種操作部(再生/停止ボタン31A,次ボタン31B,前ボタン31C,ボリュームアップ(+)ボタン31D,ボリュームダウン(−)ボタン31E)とを使用しても良い。
【0233】
更に、上記第1実施形態では、表示可能バイト数16バイトに対して16バイトをメモリ14に読み込むようにしたが、例えば静止画や動画撮影時にデフォルトで20バイトの日時(2005.11.11 12:24 Fri)がタイトルとして付く場合に、表示可能バイト数16バイトに対して20バイト読み込むようにしても、タイトルの最大バイト数(上記第1実施形態の説明では100バイトとして説明)に対して十分に少なければ良い。
【図面の簡単な説明】
【0234】
【図1】図1は本発明のコンテンツ再生装置の第1実施形態としての携帯型音楽プレーヤの構成を示す図である。
【図2】図2は記憶部のデータベースに登録されているコンテンツ情報としての音楽ファイル情報を示す図である。
【図3】図3(A)は記憶部に保存されているデータベースの内容(音楽ファイル情報)をメモリに読み込んだ場合の内容を示す図であり、図3(B)は各音楽ファイル情報の内容を定義する構造体を示す図である。
【図4】図4(A)は音楽ファイルの構造を示す図であり、図4(B)は音楽ファイルのヘッダ部に保存されている情報を示す図である。
【図5】図5(A)は記憶部に保存されているデータベースとメモリに読み込んだデータベースとの内容の違いを示す図、図5(B)は図5(A)の内容を表示した場合の検索時の表示例を示す図、図5(C)は本発明の第2実施形態における記憶部に保存されているデータベースとメモリに読み込んだデータベースとの内容の違いを示す図、図5(D)は図5(C)の内容を表示した場合の検索時の表示例を示す図、図5(E)はPCが作成する記憶部に保存すべきデータベースを図5(C)に示したメモリのデータベースと同様に25バイトまでとした場合の記憶部に保存されているデータベースとメモリに読み込んだデータベースと音楽ファイルのヘッダ部に含まれるデータとの内容の違いを示す図であり、図5(F)はPCが作成する記憶部に保存すべきデータベースを検索時に表示するバイト数までとした場合の記憶部に保存されているデータベースとメモリに読み込んだデータベースと音楽ファイルのヘッダ部に含まれるデータとの内容の違いを示す図である。
【図6】図6は音楽ファイル再生時に再生画面の再生曲情報エリアへの表示例を示す図である。
【図7】図7(A)は検索時の検索トップ選択画面を示す図、図7(B)はジャンル選択画面を示す図、図7(C)はジャンル選択サブ画面を示す図、図7(D)はアーティスト選択画面を示す図、図7(E)はアーティスト選択サブ画面を示す図、図7(F)はアルバム選択画面を示す図であり、図7(G)は曲選択画面を示す図である。
【図8】図8は再生時の再生画面を示す図である。
【図9】図9(A)はコンテンツ再生プログラムのメインフローチャートを示す図であり、図9(B)はSearchサブルーチンの詳細を説明するための一連のフローチャートの前半部分を示す図である。
【図10】図10はSearchサブルーチンの詳細を説明するための一連のフローチャートの後半部分を示す図である。
【図11】図11はGenreサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図12】図12はGenre_Subサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図13】図13はArtistサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図14】図14はArtist_Subサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図15】図15はAlbumサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図16】図16はMusicサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図17】図17はPlayサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図18】図18(A)は検索時に表示可能な文字数が1バイト文字で16文字、2バイト文字で8文字と制限がある場合に、記憶部に保存されたデータベースからメモリのデータベースにデータをコピーする際の動作を説明するためのフローチャートを示す図であり、図18(B)は検索時に表示可能な文字数が1バイト文字で16文字、2バイト文字で12文字とした本発明の第2実施形態における、記憶部に保存されたデータベースからメモリのデータベースにデータをコピーする際の動作を説明するためのフローチャートを示す図である。
【図19】図19(A)はメモリのデータベースにコピーした文字列を検索時の各選択画面で表示する場合の動作を説明するためのフローチャートを示す図であり、図19(B)は第2実施形態におけるメモリのデータベースにコピーした文字列を検索時の各選択画面で表示する場合の動作を説明するためのフローチャートを示す図である。
【図20】図20は再生曲情報を再生画面上部左の再生曲情報エリアに表示する動作を説明するためのフローチャートを示す図である。
【符号の説明】
【0235】
10…携帯型音楽プレーヤ、 11…制御部、 12…プログラム記憶部、 13…記憶部、 14…メモリ、 15…表示部兼入力部、 16…再生部、 17…スピーカ、 18…PC接続端子、 19…リモコン接続端子、 20…オーディオ出力端子、 21…電源スイッチ(SW)、 30…リモートコントローラ(リモコン)、 31A…再生/停止ボタン、 31B…次ボタン、 31C…前ボタン、 31D…ボリュームアップ(+)ボタン、 31E…ボリュームダウン(−)ボタン、 32…CPU、 33…制御端子、 34…表示部、 35…オーディオ入力端子、 36…イヤフォン端子、 40…イヤフォン、 50…音楽ファイル、 51…音楽データ部、 52…ヘッダ部。
【技術分野】
【0001】
本発明は、音楽ファイル等のコンテンツファイルを再生するコンテンツ再生装置、及び、コンピュータをそのようなコンテンツ再生装置として機能させるためのコンテンツ再生プログラムに関する。
【背景技術】
【0002】
従来より、音楽ファイル等のコンテンツファイルを再生するコンテンツ再生装置が広く利用されている。
【0003】
例えば、特許文献1に開示のコンテンツ再生装置としての音楽データ再生装置では、パーソナルコンピュータ(PC)である音楽データ受信装置から当該音楽データ再生装置に対して、音楽ファイル等のコンテンツファイルとそれらコンテンツファイルを管理するためのキーワード等のデータベースとを送付して、不揮発性の記憶部に保存しておく。
【0004】
そのようなコンテンツ再生装置においては、不揮発性の記憶部に保存されているコンテンツファイルの中から任意のコンテンツファイルを再生する際には、該音楽データ再生装置内のメモリに上記データベースを読み込み、そのデータベースの情報を利用して上記任意のコンテンツファイルを検索して、その検索されたコンテンツファイルを上記メモリに読み込んで再生する。
【特許文献1】特開2005−233986号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
近年、ハードディスクドライブ(HDD)を内蔵した携帯型音楽プレーヤが普及し、数千曲から数万曲の音楽ファイルを保存できるようになっている。それに伴い、音楽ファイルのタイトルやアーティスト名等のコンテンツ情報を保存するデータベースの容量が非常に大きくなる。このように、コンテンツ情報のデータ量が大きくなると、携帯音楽プレーヤ内のメモリに全てのコンテンツ情報を一度に読み込めなくなる。このため、音楽ファイルの検索時にデータベースの再読み込みが発生して検索が遅くなったり、または、データベース全てをメモリに読み込めるようにするためにメモリ容量を大きくするためコストアップするという不具合が生じる。
【0006】
本発明は、上記の点に鑑みてなされたもので、コンテンツファイルの検索時に検索が遅くなったり、または、メモリ容量を大きくするためコストアップしたりすることのないコンテンツ再生装置及びコンテンツ再生プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のコンテンツ再生装置の一態様は、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記制御部は、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報(例えば、曲情報)の内の一部分を上記メモリに格納して、上記表示部に表示することを特徴とする。
【0008】
また、本発明のコンテンツ再生装置の別の態様は、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記記憶部に保存されたコンテンツファイルは、上記表示部に表示するコンテンツ情報の所定の情報(例えば、曲情報)を含んでおり、
上記制御部は、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む上記所定の情報の内の一部分を上記メモリに格納し、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルから読み込んで上記表示部に表示する、
ことを特徴とする。
【0009】
また、本発明のコンテンツ再生プログラムの一態様は、
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報(例えば、曲情報)の内の一部分を上記メモリに格納させて、上記表示部に表示させる、
ことを特徴とする。
【0010】
また、本発明のコンテンツ再生プログラムの別の態様は、
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報(例えば、曲情報)の内の一部分を上記メモリに格納させ、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルが含む上記所定の情報から読み込んで上記表示部に表示させる、
ことを特徴とする。
【発明の効果】
【0011】
本発明によれば、コンテンツファイルの検索時に検索が遅くなったり、または、メモリ容量を大きくするためコストアップしたりすることのないコンテンツ再生装置及びコンテンツ再生プログラムを提供することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0013】
[第1実施形態]
図1は、本発明のコンテンツ再生装置の第1実施形態としての携帯型音楽プレーヤ10の構成を示す図である。なお、本実施形態においては、コンテンツファイルとして音楽ファイルを再生する場合を例に説明を行うものとする。
【0014】
即ち、この携帯型音楽プレーヤ10は、制御部11、プログラム記憶部12、記憶部13、メモリ14、表示部兼入力部15、再生部16、スピーカ17、PC接続端子18、リモコン接続端子19、オーディオ出力端子20、及び電源スイッチ(SW)21を有している。ここで、上記制御部11は、例えばマイクロコンピュータで構成され、上記記憶部13は、例えば半導体メモリやハードディスク等の、データを不揮発性に保存する記憶装置で構成される。また、上記表示部兼入力部15は、例えばタッチパネル付液晶表示部で構成される。
【0015】
上記制御部11は、プログラム記憶部12に記憶されたコンテンツ再生プログラムに従った動作を行う。即ち、制御部11は、上記PC接続端子18を介して図示しないPCと接続して、そのPCからコンテンツファイルとしての音楽ファイルと、各音楽ファイルを特定するためのコンテンツ情報、例えば音楽のタイトル等の情報を含む音楽ファイル情報とを受信(ダウンロード)して、それらを上記記憶部13に保存する。即ち、PCは、この制御部11と通信を行うことで、記憶部13に音楽ファイルを保存すると共に、その記憶部13に保存されたデータベースに、その音楽ファイルの音楽ファイル情報を追加する。なお、音楽ファイルとデータベースの音楽ファイル情報の削除及び修正も同様に、PC側から行うことができる。
【0016】
また、上記制御部11は、上記記憶部13に保存されているデータベースの一部をメモリ14に読み込み、音楽ファイル情報の一部を表示部兼入力部15に表示し、該表示部兼入力部15からのユーザの選択入力と上記メモリ14に読み込んだデータベースの一部とに従って音楽の検索を行い、上記記憶部13に保存された音楽ファイルを読み込んで再生部16に送付する。再生部16は、その送付された音楽ファイルをデコードして、オーディオ出力端子20にイヤフォンが接続されていない場合はスピーカ17から、イヤフォンが接続されている場合はイヤフォンからデコードした音楽を再生出力する。
【0017】
また、上記リモコン接続端子19には、外付けのリモートコントローラ(リモコン)30が接続可能であり、該携帯型音楽プレーヤ10は上記リモコン30に設けられた各種操作部(再生/停止ボタン31A,次ボタン31B,前ボタン31C,ボリュームアップ(+)ボタン31D,ボリュームダウン(−)ボタン31E)が操作されると、その操作情報がCPU32を介してリモコン30から制御部11に送付され、その操作情報に応じた各種情報が上記メモリ14に保存されるようになっている。即ち、操作情報がCPU32に送られ、更に該CPU32より、リモコン30の制御端子33及び携帯型音楽プレーヤ10のリモコン接続端子19を介して、制御部11に送られる。これにより、リモコン30からの入力に従って音楽再生の再生/停止・楽曲選択及びボリュームの調整が可能になっている。なお、上記表示部兼入力部15から入力された各種情報も、制御部11によりメモリ14に保存される。
【0018】
さらに、上記リモコン30にも表示部34が設けられており、上記制御部11から該表示部34に表示する情報をリモコン接続端子19を介して送信することで、リモコン30では、それを制御端子33で受信し、CPU32がその受信した情報、例えば再生中の音楽ファイルの音楽ファイル情報等を表示部34に表示することが可能となっている。
【0019】
また、リモコン30は、上記リモコン接続端子19に接続するためのケーブルと一体化されたオーディオケーブルを持ち、特に図示はしていないが、そのような一体化されたケーブルを上記携帯型音楽プレーヤ10に接続するための上記携帯型音楽プレーヤ10側の接続プラグの形状は、上記リモコン接続端子19とオーディオ出力端子20とに同時に接続可能な形態となっている。つまり、該リモコン30を上記リモコン接続端子19に接続すれば、オーディオ出力端子20にも接続されるものである。そして、このリモコン30は、そのオーディオケーブルに接続されたオーディオ入力端子35で受けた上記オーディオ出力端子20からの出力をそのまま、イヤフォン40を接続するためのイヤフォン端子36に出力するように構成されている。従って、リモコン30を使用しない場合は、オーディオ出力端子20にイヤフォン40を挿してイヤフォン40で音楽を聴くことができ、また、リモコン30を使用する場合には、オーディオ出力端子20とリモコン30のオーディオ入力端子35とを接続し、イヤフォン端子36にイヤフォン40を挿してイヤフォン40で音楽を聴くことができる。
【0020】
なお、電源SW21は、本携帯型音楽プレーヤ10の電源のオン・オフを行うためのものである。
【0021】
また、本実施形態においては、上記音楽ファイルとしては、WAV、MP3、WMA等の形式のファイルを使用する。
【0022】
図2は、上記記憶部13のデータベースに登録されているコンテンツ情報としての音楽ファイル情報を示す図である。即ち、各音楽ファイルには、識別Noが付され、当該音楽ファイルのファイルパス、アーティスト名、アルバム名やタイトル等の音楽ファイルの検索に必要な情報がある。これ以外にも必要に応じてキーワードや歌詞やジャケット写真情報やコメント等の情報が登録される。
【0023】
上記記憶部13において、音楽ファイルは、例えば、ルートディレクトリの下に音楽保存用のMusicフォルダを作成、その下にアルバム毎にM0000001からM9999999のサブフォルダを作成し、各アルバム用フォルダの下にM0000001からM9999999の音楽ファイルを保存する。
【0024】
また、データベースファイルは、例えば、ルートディレクトリの下にシステム用のSystemフォルダを作成して、ファイル名Database.datで保存する。
【0025】
図3(A)は、上記記憶部13に保存されているデータベースの内容(音楽ファイル情報)を上記メモリ14に読み込んだ場合の内容を示す図である。なお、各音楽ファイル情報の内容は図3(B)に示す構造体で定義して、図2の音楽ファイル情報における識別Noで音楽ファイルを特定し、構造体の各メンバで音楽ファイル情報の各情報にアクセスする。
【0026】
ここで、ファイルパスpathは、記憶部13の音楽ファイル情報におけるファイルパスから固定の7バイトの文字列“/Music/”を省略したパス名21バイトと文字列終了文字NULLが1バイトとの、合計22バイトを使用する。
【0027】
アーティスト名Artist、アルバム名Album、タイトルTitle、ジャンル名Genreは、検索時は16バイトまで表示するようにして、文字列終了文字NULLが1バイトと、文字列が16バイト以上か否かを示すフラグ(NULL又は~)が1バイトとの、合計18バイトをそれぞれ使用する。
【0028】
トラック番号は、アルバム内の総曲数Track_2とアルバム内の順番Track_1の各1バイトを使用する。
【0029】
音楽の総時間Timeは3バイトを使用する。
【0030】
再生回数Countは2バイトを使用する。
【0031】
最後に再生した日時は、年が2バイト、月日時分秒が各1バイトの合計7バイトを使用する。
【0032】
従って、一つの音楽ファイルにつき合計110バイトの情報をメモリ14に保存することになる。
【0033】
なお、上記のアーティスト名Artist、アルバム名Album、タイトルTitle、ジャンル名Genreは、一般的に文字数の制限が無い。少なくとも16バイトよりも多いものは多数見受けられる。よって、全ての文字を保存しようとすると、それぞれ18バイト以上のメモリエリアを確保する必要がある。文字数の制限が無いので、必要なサイズは数十バイトから数千バイトと任意に決めるしかないが、例えば最大文字数を100バイト(文字列終了文字NULLを入れて101バイト)とすると、1曲につき更に(101−18)*4=332バイトの追加メモリサイズが必要になる。また、ファイルパスも省略しないと更に7バイトが必要になる。本実施形態では、(100+332+7)=439バイトに対して110バイトと必要なメモリサイズを抑えているので、同じメモリサイズに対して439/110と約4倍の音楽ファイル情報を保存することができる。
【0034】
図4(A)は音楽ファイル50の構造を示していて、音楽ファイル50は再生に使用する音楽データ部51と当該音楽ファイルの情報を保存するヘッダ部52とに分かれている。ヘッダ部52には、図4(B)に示すように、上記記憶部13のデータベースに保存されている音楽ファイル情報の少なくとも一部を含む音楽情報が保存されている。
【0035】
図5(A)は、サイズの違う4つのタイトルについて、記憶部13に保存されているデータベースとメモリ14に読み込んだデータベースとの内容の違いを示す図である。
【0036】
ここで、記憶部13のデータベースでは、上から26バイト、30バイト、31バイト、10バイトとなっている。これに対し、メモリ14のデータベースでは、上から16バイト、16バイト、15バイト、10バイトが有効データとなっている。なお、上から3番目は、“0”の次が2バイトの“ク”であるので16バイトをオーバーしてしまうため、“ク”の代わりに16バイト目はNULLとなっている。上から4番目は6バイト余ってしまうので、11バイト目から16バイト目はNULLとする。4つとも17バイト目は文字列終了文字NULLで、18バイト目は、元が16バイト以上の上から1番目から3番目は16バイトよりも長いことを示すフラグ~で、4番目は16バイト以下であることを示すNULLとなる。
【0037】
なお、本実施形態では~を使用しているが、この~は通常文字として使用可能なので、他の非表示文字を使用するほうが好ましい。しかしながら、非表示文字を使用すると説明が不便なので、本実施形態では~としている。
【0038】
図5(B)は、後述する検索画面等の限られたスペースに文字列を表示した場合を示す図である。この場合、メモリ14に読み込まれたデータベースから文字列を読み出して表示する。なお、上から1番目から3番目には残りの文字列が有ることを示す~を文字列の後ろに付加しても良い。この場合も、上記フラグと同様に、非表示文字を使用すると説明が不便なので、本実施形態では通常文字である~を使用しているが、フラグとは別の通常文字或いは他の非表示文字を使用しても良いことは勿論である。
【0039】
図6は、音楽ファイル再生時に、タイトル、アーティスト名及びアルバム名を、後述する再生曲情報エリアに表示する場合の文字列を示しており、各情報を“/”で区切って連結している。この文字列が再生曲情報エリアよりも長い場合には、スクロールしながら全ての文字列を表示する。
【0040】
またこの場合、タイトル、アーティスト名及びアルバム名が、メモリ14に読み込んだデータベースに保存されているものよりも長い場合は、記憶部13に保存されたデータベースまたは音楽ファイル50のヘッダ部52から読み出して表示する。
【0041】
図7(A)乃至(G)はそれぞれ、表示部兼入力部15に表示される音楽の検索画面を示す図である。これらの図において、上部左は選択状況を表示するエリア、上部右は選択肢を表示するエリア、下部は電源オフ,前の画面に戻る,検索トップに戻る,再生開始,等を制御するメニューを表示するエリアである。右上部は、選択肢が表示可能行数よりも多い場合は、右上部の隣に上下キーを表示してスクロール可能なようにする。上部右の選択肢に表示するジャンル名、アーティスト名、アルバム名及びタイトルは16バイトまでとする。
【0042】
ここで、図7(A)は検索トップ選択画面を示す図である。この画面では、全ての曲を表示する、ジャンル、アーティストやアルバムで絞り込んで表示する、最近聴いた曲や再生回数の多い曲を表示するから、ユーザがタッチ入力により選択する。
【0043】
図7(B)は、図7(A)の検索トップ選択画面においてジャンルを選択した場合に表示されるジャンル選択画面を示す図である。この画面では、データベースに登録されている全てのジャンルを表示する。
【0044】
図7(C)は、図7(B)のジャンル選択画面でクラシックを選択した場合に表示されるジャンル選択サブ画面を示す図である。この画面では、クラシックの全ての曲、クラッシクを含むアーティストかアルバムを絞り込んで表示することができる。
【0045】
図7(D)は、図7(C)のジャンル選択サブ画面でアーティストを選択した場合に表示されるアーティスト選択画面を示す図である。この画面ではジャンルがクラッシクを含むアーティストを表示する。
【0046】
図7(E)は、図7(D)のアーティスト選択画面でアーティスト1を選択した場合に表示されるアーティスト選択サブ画面を示す図である。この画面では、アーティスト1のクラッシク曲全てか、アーティスト1のクラッシクを含む全てのアルバムを絞り込んで表示することができる。
【0047】
図7(F)は、図7(E)のアーティスト選択サブ画面でアルバムを選択した場合に表示されるアルバム選択画面を示す図である。この画面では、アーティスト1でクラッシクを含む全てのアルバムを表示する。
【0048】
図7(G)は、図7(F)のアルバム選択画面でアルバム1を選択した場合に表示される曲選択画面を示す図である。この画面では、アーティスト1のアルバム1の中からクラッシクの曲を表示する。ここで、どの曲も選択しないで再生を押した場合は先頭の曲から、また、任意の曲を選択してから再生を押した場合は選択した曲から、再生を開始する。
【0049】
なお、何れの選択画面でも、「終了」を押した場合は検索を終了して電源をオフする。また、図7(B)乃至(G)の何れの選択画面でも、「トップ」を押した場合は図7(A)の検索トップ選択画面に戻り、「戻る」を押すと一つ前の選択画面に戻る。図7(A)の検索トップ選択画面で「戻る」を押した場合には、図8に示すような再生画面に戻る。なお、図7(A)乃至(G)の各画面において、上部右は選択肢を表示するエリアに表示可能なリスト数よりもリストが多い場合には、図8の再生画面における中間部右の上下スクロールキーと同様のスクロールキーを表示して上下スクロール可能とする。
【0050】
即ち、図8は、再生時の再生画面を示す図である。この再生画面において、上部左は上記再生曲情報エリアであり、図6に示す文字列をスクロールしながら表示する。ここに表示するタイトル、アーティスト名及びアルバム名の長さ制限は無い。上部右は再生時間であり、曲時間長と現在の再生時間を表示する。中間部左は図7(G)の曲選択画面で絞り込んだ音楽リストを表示するエリアで、現在再生中の音楽にはマーク(下線)を付ける。ここに表示するタイトルとアーティスト名は16バイトまでとする。中間部右は上下スクロールキーで、左のリストが表示可能数よりも多い場合に有効になる。そして、下部は、電源を切る「終了」、検索画面トップに移動する「検索」、音楽の再生・停止と前曲や次曲への移動、及びボリュームの増減を行うボタン等を表示する。
【0051】
次に、本実施形態における携帯型音楽プレーヤ10の動作を詳細に説明する。
【0052】
図9(A)は、電源SW21のオン操作に応じて、制御部11が実行するコンテンツ再生プログラムのメインフローチャートを示している。
【0053】
即ち、電源がオンされると、制御部11は、まず、内部に設けたもしくは上記メモリ14に設けたキー操作情報ret_codeをクリアする(ステップS11)。これは、後述するサブルーチン間でキー操作情報を知らせるための変数である。
【0054】
その後、音楽ファイルの検索に必要なデータである音楽ファイル情報を記憶部13のデータベースからメモリ14にコピーする(ステップS12)。なおこの場合、タイトル,アーティスト,アルバム等の曲情報は、図5(A)に示したように、16バイトのデータとしてコピーする。
【0055】
次に、記憶部13のデータベースに記述されている、最後に再生していたときの検索情報を読み出すと共に、再生画面下部の「再生」ボタンを有効、「停止」ボタンを無効にした上で(ステップS13)、詳細は後述するようなPlayサブルーチンを実行することで、図8の再生画面に移行して音声ファイルの再生を行えるようにする(ステップS14)。
【0056】
再生画面で「終了」または「検索」が押されると、このメインフローチャートに戻り、その押されたキーが「終了」であるのか「検索」であるかを確認する(ステップS15)。
【0057】
ここで、再生画面で押されたキーが「終了」ではない、つまり「検索」であると判別した場合には(ステップS15)、詳細は後述するSearchサブルーチンを実行することで、図7(A)の検索トップ選択画面に移動して検索を行う(ステップS16)。
【0058】
そして、その検索トップ選択画面で「戻る」が押される、図7(G)の曲選択画面で「再生」が押される、或いは、各選択画面で「終了」が押されると、このメインフローチャートに戻り、その押されたキーが「戻る」か「再生」か「終了」かを確認する(ステップS17)。
【0059】
ここで、押されたキーが「戻る」か「再生」の場合は、上記ステップS14のPlayサブルーチンに戻ることで、図8の再生画面に戻る。
【0060】
これに対して、上記ステップS15またはステップS17において、押されたキーが「終了」であると判別したならば、記憶部13のデータベースにおける最後に再生していたときの検索情報を更新して電源をオフする(ステップS18)。
【0061】
次に、上記ステップS16で実行されるSearchサブルーチンの詳細について、図9(B)及び図10に示す一連のフローチャートを参照して説明する。
【0062】
即ち、まず、上記キー操作情報ret_codeと、内部に設けたもしくは上記メモリ14に設けたジャンル、アーティスト、アルバム、及び曲の各検索情報とをクリアした後(ステップS21)、図7(A)の検索トップ選択画面を表示する(ステップS22)。
【0063】
そして、上記検索トップ選択画面中の「全て」が押されたか否かを確認し(ステップS23)、それが押されていれば、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われる(ステップS24)。なおこの場合、曲選択画面では、当該携帯型音楽プレーヤ10に登録されている即ちメモリ14にコピーしたデータベースに登録されている全ての曲を表示することになる。
【0064】
このMusicサブルーチンからリターンしたとき、或いは、上記ステップS23において検索トップ選択画面中の「全て」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「ジャンル」が押されたか否かを確認し(ステップS25)、それが押されていれば、詳細は後述するGenreサブルーチンを実行することで、図7(B)のジャンル選択画面に移行して、ジャンルの選択が行われる(ステップS26)。なおこの場合、ジャンル選択画面では、当該携帯型音楽プレーヤ10に登録されている全てのジャンルを表示する。
【0065】
このGenreサブルーチンからリターンしたとき、或いは、上記ステップS25において検索トップ選択画面中の「ジャンル」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「アーティスト」が押されたか否かを確認し(ステップS27)、それが押されていれば、詳細は後述するArtistサブルーチンを実行することで、図7(D)のアーティスト選択画面に移行して、アーティストの選択が行われる(ステップS28)。なおこの場合、アーティスト選択画面では、当該携帯型音楽プレーヤ10に登録されている全てのアーティストを表示する。
【0066】
このArtistサブルーチンからリターンしたとき、或いは、上記ステップS27において検索トップ選択画面中の「アーティスト」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「アルバム」が押されたか否かを確認し(ステップS29)、それが押されていれば、詳細は後述するAlbumサブルーチンを実行することで、図7(F)のアルバム選択画面に移行して、アルバムの選択が行われる(ステップS30)。なおこの場合、アルバム選択画面では、当該携帯型音楽プレーヤ10に登録されている全てのアルバムを表示する。
【0067】
このAlbumサブルーチンからリターンしたとき、或いは、上記ステップS29において検索トップ選択画面中の「アルバム」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「最近聞いた曲」が押されたか否かを確認し(ステップS31)、それが押されていれば、Recentryサブルーチンを実行して、当該携帯型音楽プレーヤ10に登録されている全ての曲の中から最近聴いた曲を絞り込み(ステップS32)、その後、上記ステップS24と同様のMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われることになる(ステップS33)。
【0068】
そして、このMusicサブルーチンからリターンしたとき、或いは、上記ステップS31において検索トップ選択画面中の「最近聞いた曲」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「再生回数の多い曲」が押されたか否かを確認し(ステップS34)、それが押されていれば、My_Topサブルーチンを実行して、当該携帯型音楽プレーヤ10に登録されている全ての曲の中から再生回数の多い曲を絞り込み(ステップS35)、その後、上記ステップS24と同様のMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われることになる(ステップS36)。
【0069】
その後このMusicサブルーチンからリターンしたとき、或いは、上記ステップS34において検索トップ選択画面中の「再生回数の多い曲」が押されていないと判別した場合には、次に、上記検索トップ選択画面中の「終了」が押されたか否かを確認し(ステップS37)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS38)、上位のルーチン、即ち、上記ステップS17に戻る。この場合、上記キー操作情報ret_codeに終了が設定されているので、上記ステップS17の判断処理でYesとなり、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0070】
これに対して、上記ステップS37において上記検索トップ選択画面中の「終了」が押されていないと判別した場合には、更に、その検索トップ選択画面中の「戻る」が押されたか否かを確認し(ステップS39)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定して(ステップS40)、上位のルーチン、即ち、上記ステップS17に戻る。この場合は、上記キー操作情報ret_codeに戻るが設定されているので、上記ステップS17の判断処理でNoとなり、上記ステップS14に戻って、図8の再生画面に戻ることとなる。
【0071】
また、上記ステップS39において上記検索トップ選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了又は再生が設定されているか否か、つまり、下位のサブルーチン(Music、Genre、Artist、Album)での選択画面において「終了」または「再生」が押されたか否かを確認し(ステップS41)、どちらかが押されていれば、上位のルーチン、即ち、上記ステップS17に戻る。この場合は、上記キー操作情報ret_codeに終了が設定されていれば、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、上記キー操作情報ret_codeに再生が設定されていれば、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。
【0072】
これに対し、上記ステップS41において「終了」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻る又はトップが設定されているか否か、つまり、下位のサブルーチン(Music、Genre、Artist、Album)での選択画面において「戻る」または「トップ」が押されたか否かを確認し(ステップS42)、どちらかが押されていれば上記ステップS21に戻り、どちらも押されていなければ上記ステップS23に戻る。
【0073】
次に、上記ステップS26で実行されるGenreサブルーチンの詳細について、図11に示すフローチャートを参照して説明する。
【0074】
即ち、まず、ジャンル検索情報とキー操作情報ret_codeとをクリアする(ステップS51)。その後、アーティスト検索情報及びアルバム検索情報で示される検索条件で絞り込んだジャンルをメモリ14のデータベースから検索し(ステップS52)、図7(B)のジャンル選択画面を表示する(ステップS53)。
【0075】
なお、図7(A)の検索トップ選択画面からこの図7(B)のジャンル選択画面に移行した場合は、アーティスト及びアルバム検索条件が設定されていないので、データベースに登録されている全てのジャンルを表示する。
【0076】
またこの場合、表示するジャンル名の文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0077】
そしてその後、上記ジャンル選択画面において何れかのジャンルが選択されたか否かを確認し(ステップS54)、何れかのジャンルが選択された場合には、ジャンル検索情報に、その選択されたジャンルを検索条件として設定し(ステップS55)、詳細は後述するGenre_Subサブルーチンを実行することで、図7(C)のジャンル選択サブ画面に移行して、更に絞り込みを行っていく。
【0078】
その後このGenre_Subサブルーチンからリターンしたとき、或いは、上記ステップS54において何れのジャンルも選択されていないと判別した場合には、次に、上記ジャンル選択画面中の「終了」が押されたか否かを確認し(ステップS57)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS58)、上位のルーチンに戻る。この場合、上記ステップS27に戻り、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0079】
これに対して、上記ステップS57において「終了」が押されていないと判別した場合には、更に、上記ジャンル選択画面中の「トップ」が押されたか否かを確認し(ステップS59)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS60)、上位のルーチンに戻る。この場合、上記ステップS27に戻り、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0080】
また、上記ステップS59において「トップ」が押されていないと判別した場合には、更に、上記ジャンル選択画面中の「戻る」が押されたか否かを確認し(ステップS61)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、ジャンル検索情報をクリアして(ステップS62)、上位のルーチンに戻る。この場合、上記ステップS27に戻り、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0081】
一方、上記ステップS61において上記ジャンル選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Genre_Sub)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS63)。何れかが押されていれば、上位のルーチン、即ち、上記ステップS27に戻り、そのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0082】
これに対し、上記ステップS63において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Genre_Sub)での選択画面中の「戻る」が押されたか否かを確認し(ステップS64)、それが押されていれば上記ステップS51に戻り、それが押されていなければ上記ステップS54に戻る。
【0083】
次に、図12に示すフローチャートを参照して、上記ステップS56で実行されるGenre_Subサブルーチンの詳細について説明する。
【0084】
即ち、まず、キー操作情報ret_codeをクリアした後(ステップS71)、上記ステップS55で設定されたジャンルに従って、図7(C)に示すようなジャンル選択サブ画面を表示する(ステップS72)。
【0085】
その後、該ジャンル選択サブ画面中の「全て」が押されたか否かを確認し(ステップS73)、それが押されていれば、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われる(ステップS74)。なおこの場合の曲選択画面では、当該携帯型音楽プレーヤ10に登録されている曲の内、図7(B)のジャンル選択画面で選択したジャンルに該当する曲のみを表示する。
【0086】
このMusicサブルーチンからリターンしたとき、或いは、上記ステップS73においてジャンル選択サブ画面中の「全て」が押されていないと判別した場合には、次に、上記ジャンル選択サブ画面中の「アーティスト」が押されたか否かを確認し(ステップS75)、それが押されていれば、詳細は後述するArtistサブルーチンを実行することで、図7(D)のアーティスト選択画面に移行して、アーティストの選択が行われる(ステップS76)。なおこの場合、アーティスト選択画面では、当該携帯型音楽プレーヤ10に登録されているアーティストの内、図7(B)のジャンル選択画面で選択したジャンルに該当するアーティストのみを表示する。
【0087】
このArtistサブルーチンからリターンしたとき、或いは、上記ステップS75においてジャンル選択サブ画面中の「アーティスト」が押されていないと判別した場合には、次に、上記ジャンル選択サブ画面中の「アルバム」が押されたか否かを確認し(ステップS77)、それが押されていれば、詳細は後述するAlbumサブルーチンを実行することで、図7(F)のアルバム選択画面に移行して、アルバムの選択が行われる(ステップS78)。なおこの場合、アルバム選択画面では、当該携帯型音楽プレーヤ10に登録されているアルバムの内、図7(B)のジャンル選択画面で選択したジャンルに該当するアルバムのみを表示する。
【0088】
このAlubumサブルーチンからリターンしたとき、或いは、上記ステップS77においてジャンル選択サブ画面中の「アルバム」が押されていないと判別した場合には、次に、上記ジャンル選択サブ画面中の「終了」が押されたか否かを確認し(ステップS79)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS80)、上位のルーチンに戻る。この場合、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。そして、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻って、そのステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0089】
これに対して、上記ステップS79において「終了」が押されていないと判別した場合には、更に、上記ジャンル選択サブ画面中の「トップ」が押されたか否かを確認し(ステップS81)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS82)、上位のルーチンに戻る。この場合、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。そして、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0090】
また、上記ステップS81において「トップ」が押されていないと判別した場合には、更に、上記ジャンル選択サブ画面中の「戻る」が押されたか否かを確認し(ステップS83)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定して(ステップS84)、上位のルーチンに戻る。この場合、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63,S64とNoを順に辿っていき、そのステップS64でYesとなって、上記ステップS51に戻り、ジャンル検索情報とキー操作情報ret_codeとをクリアした後に、ステップS52でアーティスト検索情報及びアルバム検索情報で示される検索条件で絞り込んだジャンルをメモリ14のデータベースから検索して、ステップS53で図7(B)のジャンル選択画面を表示することとなる。
【0091】
一方、上記ステップS83において上記ジャンル選択サブ画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Music、Artist、Album)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS85)。何れかが押されていれば、上位のルーチン、即ち、上記ステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。そして、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0092】
これに対し、上記ステップS85において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Music、Artist、Album)での選択画面中の「戻る」が押されたか否かを確認し(ステップS86)、それが押されていれば上記ステップS71に戻り、それが押されていなければ上記ステップS73に戻る。
【0093】
次に、上記ステップS28またはステップS76で実行されるArtistサブルーチンの詳細について、図13に示すフローチャートを参照して説明する。
【0094】
即ち、まず、アーティスト検索情報とキー操作情報ret_codeとをクリアする(ステップS91)。その後、ジャンル検索情報及びアルバム検索情報で示される検索条件で絞り込んだアーティストをメモリ14のデータベースから検索し(ステップS92)、図7(D)のアーティスト選択画面を表示する(ステップS93)。
【0095】
なお、図7(C)のジャンル選択サブ画面からこの図7(D)のアーティスト選択画面に移行した場合は、ジャンル検索条件が設定されてアルバム検索条件が設定されていないので、データベースに登録されているアーティストの内、図7(B)のジャンル選択画面で選択したジャンルに該当するアーティストのみを表示する。
【0096】
またこの場合、表示するアーティスト名の文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0097】
そしてその後、上記アーティスト選択画面において何れかのアーティストが選択されたか否かを確認し(ステップS94)、何れかのアーティストが選択された場合には、アーティスト検索情報に、その選択されたアーティストを検索条件として設定し(ステップS95)、詳細は後述するArtist_Subサブルーチンを実行することで、図7(E)のアーティスト選択サブ画面に移行して、更に絞り込みを行っていく(ステップS96)。
【0098】
その後このArtist_Subサブルーチンからリターンしたとき、或いは、上記ステップS94において何れのアーティストも選択されていないと判別した場合には、次に、上記アーティスト選択画面中の「終了」が押されたか否かを確認し(ステップS97)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS98)、上位のルーチンに戻る。
【0099】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0100】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0101】
これに対して、上記ステップS97において「終了」が押されていないと判別した場合には、更に、上記アーティスト選択画面中の「トップ」が押されたか否かを確認し(ステップS99)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS100)、上位のルーチンに戻る。
【0102】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0103】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0104】
また、上記ステップS99において「トップ」が押されていないと判別した場合には、更に、上記アーティスト選択画面中の「戻る」が押されたか否かを確認し(ステップS101)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、アーティスト検索情報をクリアして(ステップS102)、上位のルーチンに戻る。
【0105】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0106】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85,S86とNoを順に辿っていき、そのステップS86でYesとなって上記ステップS71に戻り、キー操作情報ret_codeをクリアした後に、ステップS72で、図7(C)に示すようなジャンル選択サブ画面を表示することになる。
【0107】
一方、上記ステップS101において上記ジャンル選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Artist_Sub)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS103)。何れかが押されていれば、上位のルーチンに戻る。
【0108】
ここで、該Artistサブルーチンが上記ステップS28として実行されている場合には、上記ステップS29に戻り、さらにそのステップS29からステップS31,S34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0109】
また、該Artistサブルーチンが上記ステップS76として実行されている場合には、上記ステップS77に戻り、さらにそのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0110】
これに対し、上記ステップS103において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Artist_Sub)での選択画面中の「戻る」が押されたか否かを確認し(ステップS104)、それが押されていれば上記ステップS91に戻り、それが押されていなければ上記ステップS94に戻る。
【0111】
次に、図14に示すフローチャートを参照して、上記ステップS96で実行されるArtist_Subサブルーチンの詳細について説明する。
【0112】
即ち、まず、キー操作情報ret_codeをクリアした後(ステップS111)、上記ステップS95で設定されたアーティストに従って、図7(E)に示すようなアーティスト選択サブ画面を表示する(ステップS112)。
【0113】
その後、該アーティスト選択サブ画面中の「全て」が押されたか否かを確認し(ステップS113)、それが押されていれば、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、曲の選択が行われる(ステップS114)。なおこの場合の曲選択画面では、当該携帯型音楽プレーヤ10に登録されている曲の内、図7(B)のジャンル選択画面と図7(D)のアーティスト選択画面で選択したジャンルとアーティストに該当する曲のみを表示する。
【0114】
このMusicサブルーチンからリターンしたとき、或いは、上記ステップS113においてアーティスト選択サブ画面中の「全て」が押されていないと判別した場合には、次に、上記アーティスト選択サブ画面中の「アルバム」が押されたか否かを確認し(ステップS115)、それが押されていれば、詳細は後述するAlbumサブルーチンを実行することで、図7(F)のアルバム選択画面に移行して、アルバムの選択が行われる(ステップS116)。なおこの場合、アルバム選択画面では、当該携帯型音楽プレーヤ10に登録されているアルバムの内、図7(B)のジャンル選択画面と図7(D)のアーティスト選択画面で選択したジャンルとアーティストに該当するアルバムのみを表示する。
【0115】
このAlubumサブルーチンからリターンしたとき、或いは、上記ステップS115においてアーティスト選択サブ画面中の「アルバム」が押されていないと判別した場合には、次に、上記アーティスト選択サブ画面中の「終了」が押されたか否かを確認し(ステップS117)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS118)、上位のルーチンに戻る。この場合、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように上記ステップS17に戻って、そのステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0116】
これに対して、上記ステップS117において「終了」が押されていないと判別した場合には、更に、上記アーティスト選択サブ画面中の「トップ」が押されたか否かを確認し(ステップS119)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS120)、上位のルーチンに戻る。この場合、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0117】
また、上記ステップS119において「トップ」が押されていないと判別した場合には、更に、上記アーティスト選択サブ画面中の「戻る」が押されたか否かを確認し(ステップS121)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定して(ステップS122)、上位のルーチンに戻る。この場合、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103,S104とNoを順に辿っていき、そのステップS104でYesとなって、上記ステップS91に戻り、アーティスト検索情報とキー操作情報ret_codeとをクリアした後に、ステップS92でジャンル検索情報及びアルバム検索情報で示される検索条件で絞り込んだアーティストをメモリ14のデータベースから検索して、ステップS93で図7(D)のアーティスト選択画面を表示することとなる。
【0118】
一方、上記ステップS121において上記アーティスト選択サブ画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Music、Album)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS123)。何れかが押されていれば、上位のルーチン、即ち、上記ステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように電源オフ、または、図8の再生画面あるいは図7(A)の検索トップ選択画面に表示を戻すこととなる。
【0119】
これに対し、上記ステップS123において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Music、Album)での選択画面中の「戻る」が押されたか否かを確認し(ステップS124)、それが押されていれば上記ステップS111に戻り、それが押されていなければ上記ステップS113に戻る。
【0120】
次に、上記ステップS30,S78,またはS116で実行されるAlbumサブルーチンの詳細について、図15に示すフローチャートを参照して説明する。
【0121】
即ち、まず、アルバム検索情報とキー操作情報ret_codeとをクリアする(ステップS131)。その後、ジャンル検索情報及びアーティスト検索情報で示される検索条件で絞り込んだアルバムをメモリ14のデータベースから検索し(ステップS132)、図7(F)のアルバム選択画面を表示する(ステップS133)。
【0122】
なお、図7(E)のアーティスト選択サブ画面からこの図7(F)のアルバム選択画面に移行した場合は、ジャンル検索条件とアーティスト検索条件とが設定されているので、データベースに登録されているアルバムの内、図7(B)のジャンル選択画面で選択したジャンルと図7(D)のアーティスト選択画面で選択したアーティストとに該当するアルバムのみを表示する。
【0123】
またこの場合、表示するアルバム名の文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0124】
そしてその後、上記アルバム選択画面において何れかのアルバムが選択されたか否かを確認し(ステップS134)、何れかのアルバムが選択された場合には、アルバム検索情報に、その選択されたアルバムを検索条件として設定し(ステップS135)、詳細は後述するMusicサブルーチンを実行することで、図7(G)の曲選択画面に移行して、更に絞り込みを行っていく(ステップS136)。
【0125】
その後このMusicサブルーチンからリターンしたとき、或いは、上記ステップS134において何れのアルバムも選択されていないと判別した場合には、次に、上記アルバム選択画面中の「終了」が押されたか否かを確認し(ステップS137)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS138)、上位のルーチンに戻る。
【0126】
ここで、該Albumサブルーチンが上記ステップS30として実行されている場合には、上記ステップS31に戻り、さらにそのステップS31からステップS34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0127】
また、該Albumサブルーチンが上記ステップS78として実行されている場合には、上記ステップS79に戻り、さらにそのステップS79からステップS81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0128】
更に、該Albumサブルーチンが上記ステップS116として実行されている場合には、上記ステップS117に戻り、さらにそのステップS117からステップS119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンへと次々と戻っていくことで、上述したように電源オフすることとなる。
【0129】
これに対して、上記ステップS137において「終了」が押されていないと判別した場合には、更に、上記アルバム選択画面中の「トップ」が押されたか否かを確認し(ステップS139)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS140)、上位のルーチンに戻る。
【0130】
そして、その戻った上位のルーチンから上述したように次々と上位のルーチンに戻っていくことで、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0131】
また、上記ステップS139において「トップ」が押されていないと判別した場合には、更に、上記アルバム選択画面中の「戻る」が押されたか否かを確認し(ステップS141)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、アルバム検索情報をクリアして(ステップS142)、上位のルーチンに戻る。
【0132】
ここで、該Albumサブルーチンが上記ステップS30として実行されている場合には、上記ステップS31に戻り、さらにそのステップS31からステップS34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0133】
また、該Albumサブルーチンが上記ステップS78として実行されている場合には、上記ステップS79に戻り、さらにそのステップS79からステップS81,S83,S85,S86とNoを順に辿っていき、そのステップS86でYesとなって上記ステップS71に戻り、キー操作情報ret_codeをクリアした後に、ステップS72で、図7(C)に示すようなジャンル選択サブ画面を表示することになる。
【0134】
更に、該Albumサブルーチンが上記ステップS116として実行されている場合には、上記ステップS117に戻り、さらにそのステップS117からステップS119,S121,S123,S124とNoを順に辿っていき、そのステップS124でYesとなって上記ステップS111に戻ることになる。
【0135】
一方、上記ステップS141において上記アルバム選択画面中の「戻る」も押されていないと判別した場合には、上記キー操作情報ret_codeに終了、トップ及び再生の何れかが設定されているか否か、つまり、下位のサブルーチン(Music)での選択画面中の「終了」または「トップ」または「再生」が押されたか否かを確認する(ステップS143)。何れかが押されていれば、上位のルーチンに戻る。
【0136】
ここで、該Albumサブルーチンが上記ステップS30として実行されている場合には、上記ステップS31に戻り、さらにそのステップS31からステップS34,S37,S39,S41とNoを順に辿っていき、「終了」または「再生」が押されていた場合には、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0137】
また、該Albumサブルーチンが上記ステップS78として実行されている場合には、上記ステップS79に戻り、さらにそのステップS79からステップS81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンの上記ステップS27に戻る。その後、さらにそのステップS27からステップS29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、「終了」が押されていた場合には、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。また、「トップ」が押されていた場合には、上記ステップS41からステップS42に進み、そのステップS42から上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0138】
また、該Albumサブルーチンが上記ステップS116として実行されている場合には、上記ステップS117に戻り、さらにそのステップS117からステップS119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンの上記ステップS29またはステップS77に戻る。
【0139】
そして、上記ステップS29に戻った場合には、上述したように、「終了」が押されていた場合には、上記ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS14で図8の再生画面に戻ることとなり、「トップ」が押されていた場合には、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0140】
また、上記ステップS77に戻った場合には、そのステップS77からステップS79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、更に上述したように次々と戻っていくことで、「終了」が押されていた場合には、上記ステップS18でデータベースを更新した上で電源オフすることとなり、また、「再生」が押されていた場合には、上記ステップS14で図8の再生画面に戻ることとなり、「トップ」が押されていた場合には、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0141】
これに対し、上記ステップS143において「終了」または「トップ」または「再生」が押されていないと判別した場合には、更に、上記キー操作情報ret_codeに戻るが設定されているか否か、つまり、下位のサブルーチン(Music)での選択画面中の「戻る」が押されたか否かを確認し(ステップS144)、それが押されていれば上記ステップS131に戻り、それが押されていなければ上記ステップS134に戻る。
【0142】
次に、上記ステップS24,S33,S36,S74,S114,S136で実行されるMusicサブルーチンの詳細について、図16に示すフローチャートを参照して説明する。
【0143】
即ち、まず、ジャンル検索情報、アーティスト検索情報及びアルバム検索情報で示される検索条件で絞り込んだ曲をメモリ14のデータベースから検索する(ステップS151)。そして、曲検索情報を、その検索した曲の内の先頭曲に設定し、キー操作情報ret_codeをクリアする(ステップS152)。その後、図7(G)の曲選択画面を表示する(ステップS153)。
【0144】
なお、図7(F)のアルバム選択画面からこの図7(G)の曲選択画面に移行した場合は、ジャンル検索条件とアーティスト検索条件及びアルバム検索条件が設定されているので、データベースに登録されている曲の内、図7(B)のジャンル選択画面で選択したジャンルと図7(D)のアーティスト選択画面で選択したアーティストと図7(F)のアルバム選択画面で選択したアルバムとに該当する曲のみを表示する。
【0145】
またこの場合、表示する曲のタイトルの文字数は表示画面サイズで制限されてしまうので、図5(A)に示すようなメモリ14のデータベースに保存した、文字数が制限された文字列を図5(B)のように表示する。
【0146】
そしてその後、上記曲選択画面において何れかの曲が選択されたか否かを確認し(ステップS154)、何れかの曲が選択された場合には、曲検索情報に、その選択された曲を検索条件として設定する(ステップS155)。
【0147】
その後、或いは、上記ステップS154において何れの曲も選択されていないと判別した場合には、次に、上記曲選択画面中の「再生」が押されたか否かを確認し(ステップS156)、それが押されていれば、上記キー操作情報ret_codeに再生を設定すると共に(ステップS157)、上記ステップS151で検索した曲を再生曲リストとして該制御部11内もしくは上記メモリ14に保存して(ステップS158)、上位のルーチンに戻る。
【0148】
ここで、該Musicサブルーチンが上記ステップS24として実行されている場合には、上記ステップS25に戻り、さらにそのステップS25からステップS27,S29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でNoとなって、上記ステップS14で図8の再生画面に戻ることとなる。
【0149】
また、該Musicサブルーチンが上記ステップS33として実行されている場合には上記ステップS34に戻り、該Musicサブルーチンが上記ステップS36として実行されている場合には上記ステップS37に戻って、上述したように順に辿っていって、上記ステップS14で図8の再生画面に戻ることとなる。
【0150】
更に、該Musicサブルーチンが上記ステップS74として実行されている場合には、上記ステップS75に戻り、さらにそのステップS75からステップS77,S79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンのステップS27へと戻った後、上述したように順に辿っていって、上記ステップS14で図8の再生画面に戻ることとなる。
【0151】
また、該Musicサブルーチンが上記ステップS114として実行されている場合には、上記ステップS115に戻り、さらにそのステップS115からステップS117,S119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンのステップS29またはステップS77に戻っていき、それぞれ上述したように更に順に辿っていくことで、上記ステップS14で図8の再生画面に戻ることとなる。
【0152】
更に、該Musicサブルーチンが上記ステップS136として実行されている場合には、上記ステップS137に戻り、さらにそのステップS137からステップS139,S141,S143とNoを順に辿っていき、そのステップS143から更に上位のルーチンのステップS31またはステップS79またはステップS117に戻っていき、それぞれ上述したように更に順に辿っていくことで、上記ステップS14で図8の再生画面に戻ることとなる。
【0153】
これに対して、上記ステップS156において「再生」が押されていないと判別した場合には、更に、上記曲選択画面中の「終了」が押されたか否かを確認し(ステップS159)、それが押されていれば、上記キー操作情報ret_codeに終了を設定して(ステップS160)、上位のルーチンに戻る。
【0154】
ここで、該Musicサブルーチンが上記ステップS24として実行されている場合には、上記ステップS25に戻り、さらにそのステップS25からステップS27,S29,S31,S34,S37,S39,S41とNoを順に辿っていき、そのステップS41から上記ステップS17に戻っていく。そして、上記ステップS17の判断処理でYesとなって、ステップS18でデータベースを更新した上で電源オフすることとなる。
【0155】
また、該Musicサブルーチンが上記ステップS33として実行されている場合には上記ステップS34に戻り、該Musicサブルーチンが上記ステップS36として実行されている場合には上記ステップS37に戻って、上述したように順に辿っていって、電源オフすることとなる。
【0156】
更に、該Musicサブルーチンが上記ステップS74として実行されている場合には、上記ステップS75に戻り、さらにそのステップS75からステップS77,S79,S81,S83,S85とNoを順に辿っていき、そのステップS85からステップS57に戻り、さらにそのステップS57からステップS59,S61,S63とNoを順に辿っていき、そのステップS63から更に上位のルーチンのステップS27へと戻った後、上述したように順に辿っていって、電源オフすることとなる。
【0157】
また、該Musicサブルーチンが上記ステップS114として実行されている場合には、上記ステップS115に戻り、さらにそのステップS115からステップS117,S119,S121,S123とNoを順に辿っていき、そのステップS123からステップS97に戻り、さらにそのステップS97からステップS99,S101,S103とNoを順に辿っていき、そのステップS103から更に上位のルーチンのステップS29またはステップS77に戻っていき、それぞれ上述したように更に順に辿っていくことで、電源オフすることとなる。
【0158】
更に、該Musicサブルーチンが上記ステップS136として実行されている場合には、上記ステップS137に戻り、さらにそのステップS137からステップS139,S141,S143とNoを順に辿っていき、そのステップS143から更に上位のルーチンのステップS31またはステップS79またはステップS117に戻っていき、それぞれ上述したように更に順に辿っていくことで、電源オフすることとなる。
【0159】
これに対して、上記ステップS159において「終了」が押されていないと判別した場合には、更に、上記曲選択画面中の「トップ」が押されたか否かを確認し(ステップS161)、それが押されていれば、上記キー操作情報ret_codeにトップを設定して(ステップS162)、上位のルーチンに戻る。
【0160】
そして、その戻った上位のルーチンから上述したように次々と上位のルーチンに戻っていくことで、上記ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0161】
また、上記ステップS161において「トップ」が押されていないと判別した場合には、更に、上記曲選択画面中の「戻る」が押されたか否かを確認し(ステップS163)、それが押されていれば、上記キー操作情報ret_codeに戻るを設定すると共に、曲検索情報をクリアして(ステップS164)、上位のルーチンに戻る。
【0162】
ここで、該Musicサブルーチンが上記ステップS24として実行されている場合には、上記ステップS25に戻り、さらにそのステップS25からステップS27,S29,S31,S34,S37,S39,S41,S42とNoを順に辿っていき、そのステップS42でYesとなって、上記ステップS21に戻り、上記キー操作情報ret_code及び各検索情報をクリアした後に、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0163】
また、該Musicサブルーチンが上記ステップS33として実行されている場合には上記ステップS34に戻り、該Musicサブルーチンが上記ステップS36として実行されている場合には上記ステップS37に戻り、同様に順に辿っていくことで、ステップS22で図7(A)の検索トップ選択画面を表示することとなる。
【0164】
これに対して、該Musicサブルーチンが上記ステップS74として実行されている場合には、上記ステップS75に戻り、さらにそのステップS75からステップS77,S79,S81,S83,S85,S86とNoを順に辿っていき、そのステップS86でYesとなって上記ステップS71に戻り、キー操作情報ret_codeをクリアした後に、ステップS72で、図7(C)に示すようなジャンル選択サブ画面を表示することになる。
【0165】
更に、該Musicサブルーチンが上記ステップS114として実行されている場合には、上記ステップS115に戻り、さらにそのステップS115からステップS117,S119,S121,S123,S124とNoを順に辿っていき、そのステップS124でYesとなって上記ステップS111に戻ることになる。
【0166】
また、該Musicサブルーチンが上記ステップS136として実行されている場合には、上記ステップS167に戻り、さらにそのステップS137からステップS139,S141,S143,S144とNoを順に辿っていき、そのステップS144でYesとなって上記ステップS131に戻り、上記ステップS131乃至ステップS133の処理を実行することで、図7(F)に示すようなアルバム選択画面を表示することになる。
【0167】
また、上記ステップS163において上記曲選択画面中の「戻る」が押されていないと判別した場合には、上記ステップS154に戻る。
【0168】
次に、上記ステップS14で実行されるPlayサブルーチンの詳細について、図17に示すフローチャートを参照して説明する。
【0169】
即ち、まず、上記ステップS158で当該制御部11内または上記メモリ14に保存した再生曲リストを読み込み(ステップS171)、図8に示すような再生画面を表示する(ステップS172)。なお、この再生画面では、上記ステップS156において図7(G)の曲選択画面で「再生」が押された時に保存された再生曲リストを表示するものであるが、この「再生」を押す前に「トップ」や「戻る」が押されてこの再生画面に戻ってきた場合には、以前の再生曲リストが有効なままであるので、前回の再生画面を表示していた時と同じ曲リストが画面に表示されることになる。
【0170】
そして次に、キー操作情報ret_codeに再生が設定されているか否か、つまり、図7(G)の曲選択画面で「再生」が押されてこの再生画面に移行してきたのか否かを確認し(ステップS173)、「再生」が押されてきた場合には、上記キー操作情報ret_codeをクリアして(ステップS174)、選択された曲の音楽ファイルを記憶部13からメモリ14に読み出す(ステップS175)。そして、図8の再生画面における上部左の再生曲情報エリアに表示する曲情報を読み込む(ステップS176)。これは、まず、メモリ14にコピーしてあるデータベースから、タイトル,アーティスト,アルバムを読み込み、メモリ14上のデータが不完全(16バイト以上のデータ)の場合には、記憶部13のデータベースから読み出すものである。
【0171】
その後、再生画面下部の「再生」ボタンを無効に、「停止」ボタンを有効にして(ステップS177)、メモリ14から再生部16に音楽ファイルを送信して再生を開始する(ステップS178)。
【0172】
そして、「再生」ボタンが無効(=再生中)か否かを確認し(ステップS179)、無効(=再生中)ならば、再生画面上部左の再生曲情報エリアの再生曲情報を更新する(ステップS180)。この場合、再生曲情報は図6に示すようにタイトル、アーティスト名及びアルバム名が文字数の制限を受けることなく全文字列を表示する。なお、上記ステップS179で「再生」ボタンが無効(=再生中)でないと判別した場合には、後述するステップS185に進む。
【0173】
その後、その再生中の音楽ファイルの再生が終了したか、再生画面下部の「次曲」ボタンが押されたか、或いは「前曲」ボタンが押されたかを確認し(ステップS181)、再生が終了した場合または「次曲」或いは「前曲」ボタンが押された場合には、再生曲リストの先頭(「前曲」ボタンが押されたとき)または最後(再生終了または「次曲」ボタンが押されたとき)まで行っているかを確認する(ステップS182)。そして、まだ再生曲リストの先頭または最後まで行っていなければ、再生中の音楽ファイルの再生が終了した場合または「次曲」ボタンが押された場合には再生する曲を次の音楽ファイルに更新し、また「前曲」ボタンが押された場合には再生する曲を前の音楽ファイルに更新して(ステップS183)、上記ステップS175に戻る。なお、ステップS182で、再生曲リストの先頭または最後まで行っていると判別した場合には、後述するステップS187に進み、再生を停止する。また、上記ステップS181で再生が終了していない、または「次曲」あるいは「前曲」ボタンが押されていないと判別した場合には、後述するステップS185に進む。
【0174】
一方、上記ステップS173において、キー操作情報ret_codeに再生が設定されていないと判別した場合、つまり、図9(A)のメインフローチャートの開始から最初の該Play処理の実行時や、図7(A)の検索トップ選択画面で「戻る」が押されてこのPlay処理に移行してきた場合には、上記キー操作情報ret_codeをクリアする(ステップS184)。
【0175】
そしてその後、音楽停止中に「再生」ボタンが押されたか否かを確認し(ステップS185)、押された場合には、上記ステップS175に移行して、再生を開始する。即ち、上記ステップS173からステップS184を経てきた場合には、まだ再生を開始していない、つまり音楽停止中であり、「再生」ボタンが有効となっている。従って、「再生」ボタンが押されれば、上記ステップS175に移行して再生を行う。また、上記ステップS179からこのステップS185に進んだ場合には、「再生」ボタンは有効で、音楽の停止中であるので、後述するステップS187〜S191を実行後、ステップS179からこのステップS185に進んだ場合と判別される。そして、上記ステップS181からこのステップS185に進んだ場合には、音楽の再生中であり且つ「再生」ボタンが無効であるので、このステップS185ではNoと判別される。
【0176】
上記ステップS185でNoと判別した場合には、更に、音楽再生中に「停止」ボタンが押されたか否かを確認する(ステップS186)。そして、音楽再生中に「停止」ボタンが押された場合には、音楽ファイルの再生を停止して(ステップS187)、「再生」ボタンを有効、「停止」ボタンを無効にする(ステップS188)。
【0177】
その後、或いは上記ステップS186で音楽再生中に「停止」ボタンが押されていないと判別した場合には、再生画面下部右のボリューム調整用の「+」または「−」ボタンが押されたか否かを確認し(ステップS189)、どちらかが押された場合は、ボリュームをその押されたボタンに応じて変更する(ステップS190)。
【0178】
そしてその後、或いは上記ステップS189でボリューム調整用のボタンが押されていないと判別した場合には、再生画面下部の「検索」ボタンが押されたか否かを確認し(ステップS191)、それが押されていければ、上記ステップS179に戻る。これに対して、その「検索」ボタンが押されたと判別した場合には、上記キー操作情報ret_codeに検索を設定して(ステップS192)、上位のルーチンに戻る。即ち、上記ステップS15に戻り、そこでキー操作情報ret_codeに検索が設定されているので、ステップS16のSearchサブルーチンが実行されて、図7(A)の検索画面トップに移行することとなる。
【0179】
なお、音楽ファイルを低速・消費電力大のHDDに保存しているような場合には、再生する音楽ファイルのメモリへの読み出し時に、次曲以降の音楽ファイルも複数読み出しておく所謂先読みを行うことで、次曲へのアクセスを早くし、HDDへのアクセス回数を減らして消費電力を抑えるようなことが、一般的に行われている。本実施形態においては、上記ステップS175で記憶部13から音楽ファイルを1曲づつ読み出し、ステップS176でその音楽ファイルの曲情報を読み込むようにしているが、そのような先読みを行うようにしても良いことは勿論である。そのような先読みを行う場合には、上記ステップS176の曲情報読み込みも、音楽ファイルの先読みと同時に行うようにする。
【0180】
次に、図5(A)に示すように検索時に表示可能な文字数が1バイト文字の場合で16文字、2バイト文字の場合は8文字と制限がある場合に、上記ステップS12において、記憶部13に保存されたデータベースからメモリ14のデータベースにデータをコピーする際の動作を、図18(A)のフローチャートを参照して説明する。
【0181】
まず、制御部11内部または上記メモリ14内に設けたコピーバイト数カウンタbyteをクリアした後(ステップS201)、記憶部13に保存されたデータベースから1文字読み込んで(ステップS202)、それがNULLか否かを確認する(ステップS203)。その読み込んだ文字がNULLならば、読み込みを終了して、後述するステップS210に移行する。これに対して、その読み込んだ文字がNULLでない場合には、その読み込んだ文字が1バイト文字であるか否かを確認し(ステップS204)、1バイト文字の場合には、上記コピーバイト数カウンタbyteを+1して(ステップS205)、上記読み込んだ文字(1バイト)をメモリ14にコピーする(ステップS206)。
【0182】
一方、上記ステップS204で読み込んだ文字が2バイト文字であると判別した場合には、メモリ14へのコピー済みバイト数が15バイトか否かを確認し(ステップS207)、15バイトの場合には16バイトを超えてしまうので終了して、後述するステップS210に移行する。これに対して、15バイト未満であると判別した場合には、上記コピーバイト数カウンタbyteを+2した後(ステップS208)、上記ステップS206に進んで、上記読み込んだ文字(2バイト)をメモリ14にコピーする。
【0183】
上記ステップS206でのコピーを行った後には、上記コピーバイト数カウンタbyteの値により、コピー済みバイト数が16バイトか否かを確認し(ステップS209)、16バイトとなっていればコピーを終了して後述するステップS210に移行し、また、まだ16バイト未満の場合には上記ステップS202に移行してコピーを続ける。
【0184】
これにより、文字列長さが16バイト未満の場合は全文字列、16バイト以上で16バイト目が1バイト文字の場合は16バイト、2バイト文字の場合は15バイトをメモリ14にコピーする。
【0185】
而して、ステップS210では、メモリ14にNULLをコピーする。そして、上記コピーバイト数カウンタbyteを+1する(ステップS211)。その後、その+1したコピーバイト数カウンタbyteの値で示されるコピー済みバイト数が17バイトか否かを確認し(ステップS212)、17バイトになるまで上記ステップS210からステップS212を繰り返す。
【0186】
これにより、文字列終了から17バイトまでを文字列終了文字のNULLで埋める。
【0187】
その後、記憶部13に保存されたデータベースからメモリ14に全てをコピーしたか否かを確認し(ステップS213)、全てコピーした場合には、メモリ14のデータベースのデータが完全であることを示すためのフラグとしてNULLを18バイト目にコピーする(ステップS214)。これに対して、全てをコピー出来なかったと判別した場合には、メモリ14のデータベースのデータが不完全であることを示すためのフラグとして~を18バイト目にコピーする(ステップS215)。
【0188】
これにより、検索時はNULL迄の文字列をそのまま表示すれば良く、再生画面における再生曲情報で完全な文字列を表示する場合は、18バイト目がNULLならばメモリ14のデータベースの文字列をそのまま表示し、~の場合は記憶部13に保存されたデータベースから読み出して表示するようにすれば良い。
【0189】
このようにしてメモリ14のデータベースにコピーした文字列を、検索時の各選択画面で表示する場合の動作を、図19(A)に示すフローチャートを参照して説明する。
【0190】
即ち、まず、メモリ14のデータベースから1文字読み出して(ステップS221)、それがNULLか否かを確認する(ステップS222)。そして、その読み出した文字がNULLでなければ1バイト文字ならば読み出した文字をそのまま、2バイト文字ならば続く1バイトと合わせて表示部兼入力部15に表示した後(ステップS223)、上記ステップS221に戻る。而して、読み出した文字がNULLとなったならば、終了する。
【0191】
次に、図6のような再生曲情報を、図8の再生画面上部左の再生曲情報エリアに表示する動作を、図20に示すフローチャートを参照して説明する。
【0192】
即ち、まず、上記メモリ14のデータベースにおけるタイトルの最終バイトが~か否かを確認し(ステップS231)、~でなければ、そのメモリ14のデータベースにおけるタイトルを表示用ワークメモリ(図示せず)にコピーする(ステップS232)。これに対して、上記メモリ14のデータベースにおけるタイトルの最終バイトが~の場合には、記憶部13に保存されたデータベースからタイトルを読み出して、表示用ワークメモリ上記にコピーする(ステップS233)。
【0193】
そしてその後、区切りを示す“/”を表示用ワークメモリにコピーする(ステップS234)。
【0194】
次に、上記メモリ14のデータベースにおけるアーティスト名の最終バイトが~か否かを確認し(ステップS235)、~でなければ、そのメモリ14のデータベースにおけるアーティスト名を表示用ワークメモリにコピーする(ステップS236)。これに対して、上記メモリ14のデータベースにおけるアーティスト名の最終バイトが~の場合には、上記記憶部13に保存されたデータベースからアーティスト名を読み出して、表示用ワークメモリにコピーする(ステップS237)。
【0195】
そしてその後、区切りを示す“/”をコピーする(ステップS238)。
【0196】
次に、上記メモリ14のデータベースにおけるアルバム名の最終バイトが~か否かを確認し(ステップS239)、~でなければ、そのメモリ14のデータベースにおけるアルバム名を表示用ワークメモリにコピーする(ステップS240)。これに対して、上記メモリ14のデータベースにおけるアルバム名の最終バイトが~の場合には、上記記憶部13に保存されたデータベースからアルバム名を読み出して、表示用ワークメモリにコピーする(ステップS241)。
【0197】
そしてその後、文字列終了を示すNULLをコピーする(ステップS242)。
【0198】
ここまでが、図17のステップS176の処理に相当する。
【0199】
次に、上記表示用ワークメモリの文字列を再生曲情報エリアに表示する(ステップS243)。この場合、文字列長さが再生曲情報エリアの長さよりも長い場合には、文字列をスクロールさせながら表示する。ここが、図17のステップS180に相当する。
【0200】
以上説明した本発明の第1実施形態によれば、以下のような効果を奏することができる。
即ち、記憶部13に保存されたデータベースをそのままメモリ14に読み込もうとすると、非常に大きなメモリ容量が必要となる。少ないメモリ容量では記憶部13のデータベースの一部しか読み込めなくなるので、検索時にデータベース情報にアクセスする場合に、記憶部13からメモリ14に一部読み込み→メモリ14の検索→記憶部13からメモリ14に残りの一部読み込み→メモリ14の検索、といった読み込み動作が頻発してしまい、検索が遅くなってしまう。本実施形態でいえば、上記ステップS52、ステップS92、ステップS132、ステップS151の検索時に、記憶部13→メモリ14間の読み込み動作が多く発生して検索が遅くなる。
【0201】
これに対して、本実施形態では、表示部兼入力部15に表示できる文字列長を基に、記憶部13からメモリ14に読み込む情報量を制限するので、同じメモリ容量の場合ならば、従来と比べてより多い曲数の情報を一度にメモリ14に読み込めるようになるので、記憶部13→メモリ14間の読み込み動作を無くす、または減らすことができて、検索を高速に行えるようになる。
【0202】
このように、記憶部13に保存されたデータベースに記憶されている情報のうち検索に必要なデータで、検索時に表示可能なデータ量よりもサイズが大きいデータに関しては、その一部分だけをメモリ14に読み込んで使用することで、1曲当たりの情報量が減り、その分メモリ14に保存できる曲数が多くなる。そうすると、記憶部13のデータベースのデータのうち検索に必要なデータ全てをメモリ14に格納できるようになり、或いは全て格納できるようにならなくても記憶部13のデータベースからメモリ14に読み直す回数が減るので、検索を高速にすることができる。
【0203】
また、メモリ14の必要容量を減らすことができるので、コストダウンを行うことができる。
【0204】
メモリ14に一部しか格納しなかった情報に関しては、音楽再生時に記憶部13のデータベースから読み出して表示するので、従来と同様に必要な情報は全て表示することができる。
【0205】
また、上記ステップS175(即ち、ステップS233,S237,S241)で曲情報を記憶部13のデータベースから読み込むのではなく、既にメモリ14に読み込み済みの音楽ファイルのヘッダから読み込めば、データベースを読み込む必要がなくなる分、高速になるし、記憶部13のデータベースを読み込むためのメモリ14が不要になる。
【0206】
図7(A)乃至(G)の検索時の画面と図8の再生画面の音楽リストで表示可能文字数が違う場合や、再生画面の再生曲情報エリアでスクロールを行わずに表示可能な文字数が上記よりも多い場合は、メモリに保存する文字数は一番多い文字数に合わせる。なお、表示される文字数は、メモリに保存した文字の更に一部のみ表示するようにしても構わない。この場合、表示スペースに対して大きな文字で表示することもできる。
【0207】
[第2実施形態]
検索時に表示可能な文字数を、1バイト文字で16文字(=16バイト)、2バイト文字で12文字(=24バイト)とした場合の例を、図5(C)及び(D)、図18(B)及び図19(B)を参照して説明する。
【0208】
本実施形態では、文字列が1バイト文字と2バイト文字の両方を含み、24バイトが2バイト文字だった場合を想定して25バイト分を記憶部13に保存されたデータベースからメモリ14にコピーして、26バイト目を文字列終了文字NULL、27バイト目をメモリ14のデータベースのデータが完全であるか否かを示すためのフラグとしている。なお、文字列が25バイトに満たない場合はNULLで埋める。
【0209】
図18(B)は、この場合のフローチャートを示す図であり、上記第1実施形態における図18(A)の処理と同様の処理については、同一の参照番号を付してある。
【0210】
即ち、まず、制御部11内部または上記メモリ14内に設けたコピーバイト数カウンタbyteをクリアした後(ステップS201)、記憶部13に保存されたデータベースから1バイト読み込んで(ステップS216)、それがNULLか否かを確認する(ステップS203)。その読み込んだ1バイトがNULLならば、読み込みを終了して、後述するステップS210に移行する。これに対して、その読み込んだ1バイトがNULLLでない場合には、それをメモリ14にコピーする(ステップS206)。そして、上記コピーバイト数カウンタbyteを+1した後(ステップS205)、そのコピーバイト数カウンタbyteの値により、25バイトコピーしたか否かを確認し(ステップS217)、25バイトでなければ上記ステップS216に戻る。
【0211】
上記ステップS217で25バイトコピーしたと判別した場合、或いは、上記ステップS203で読み込んだ1バイトがNULLであると判別した場合には、次に、メモリ14にNULLをコピーした後(ステップS210)、上記コピーバイト数カウンタbyteを+1する(ステップS211)。その後、その+1したコピーバイト数カウンタbyteの値で示されるコピー済みバイト数が27バイトか否かを確認し(ステップS218)、27バイトになるまで、それらステップS210,S211,S218を繰り返す。
【0212】
而して、コピー済みバイト数が27バイトになったと判別したならば、記憶部13に保存されたデータベースから全ての文字列をコピーしたか否かを確認し(ステップS213)、全てコピーした場合には処理を終了する。これに対して、全てをコピー出来なかったと判別した場合には、メモリ14のデータベースのデータが不完全であることを示すため、27バイト目のフラグを~に書き換える(ステップS219)。
【0213】
これにより、表示可能文字列のバイト数が最も多い時に合わせてメモリ14のデータベースに文字列を取り込むことができる。
【0214】
このようにしてメモリ14にコピーした文字列を表示する場合の動作を、図19(B)に示すフローチャートを参照して説明する。なお、上記第1実施形態における図19(A)の処理と同様の処理については、同一の参照番号を付してある。
【0215】
即ち、まず、制御部11内部または上記メモリ14内に設けた表示幅カウンタwidthをクリアした後(ステップS224)、メモリ14のデータベースから1文字読み込んで(ステップS221)、それがNULLか否かを確認する(ステップS222)。そして、NULLならば、処理を終了する。
【0216】
これに対して、読み込んだ文字がNULLでないと判別した場合には、その読み込んだ文字が1バイト文字であるか否かを確認し(ステップS225)、1バイト文字の場合には、上記表示幅カウンタwidthを+1して(ステップS226)、その読み込んだ文字(1バイト)を表示部兼入力部15に表示する(ステップS223)。
【0217】
一方、上記ステップS225で読み込んだ文字が2バイト文字であると判別した場合には、上記表示幅カウンタwidthの値により、表示済み幅が14.7よりも大きいか否かを確認する(ステップS227)。そして、表示済み幅が14.7よりも大きくない場合には、上記表示幅カウンタwidthを+1.3した後(ステップS228)、上記ステップS223に進んで、上記読み込んだ文字(2バイト)を表示部兼入力部15に表示する(ステップS223)。これに対して、表示済み幅が14.7よりも大きいと判別した場合には、表示可能幅を越えてしまうので、処理を終了する。
【0218】
上記ステップS223での表示を行った後には、上記表示幅カウンタwidthの値により、表示済み幅が15を超えたか否かを確認し(ステップS229)、超えていなければ上記ステップS221に戻り、超えていれば処理を終了する。
【0219】
なお、上記表示幅カウンタwidthを+1.3するのは、次の理由による。即ち、1バイト文字の幅を「1」として、16文字表示可能なので、表示可能幅を「16」とする。この幅で2バイト文字を12文字表示可能とすると、1文字の幅は1.3となる。
【0220】
このような動作により、記憶部13に保存されたデータベースとメモリ14のデータベースは、図5(C)に示すようになり、また、表示は図5(D)に示すようになる。
【0221】
即ち、全て1バイト文字で25文字以上の文字長である1番目の文字列は、26文字=26バイト中25バイトをコピーして、16文字=16バイトを表示する。
【0222】
全て2バイト文字で25バイト以上の文字長である2番目の文字列は、15文字=30バイト中25バイトをコピーして、25バイト目=13文宇目は不当なデータとなる。しかし、本実施形態では、25バイト目は表示しないので問題は無く、12文字=24バイトを正常に表示する。
【0223】
1バイト文字と2バイト文字とが混在して25バイト以上の文字長である3番目の文字列は、16文字=31バイト中25バイトをコピーして、24〜25バイト目=13文宇目も正常なデータとなり、12文字=23バイトを正常に表示する。
【0224】
そして、全て1バイト文字で25バイト以下の文字長である4番目の文字列は、10文字=10バイト中10バイトをコピーして、10文字=10バイトを表示する。
【0225】
これにより、1バイト文字か2バイト文字かによって表示可能なバイト数が異なる場合でも、バイト数が最大になる文字に合わせてメモリ14のデータベースのデータ量を設定すれば良く、記憶部13に保存されたデータベースのデータ全てをメモリ14にコピーする場合よりもメモリ容量を抑えることができる。
【0226】
また、本実施形態では、1バイト文字と2バイト文字とで文字幅が違ったが、1バイト文字や2バイト文字に関わらず文字によって幅が違うプロポーショナルフォントの場合でも有効である。その場合は、幅が一番小さい場合に表示可能なバイト数分だけメモリ14のデータベースに読み込んでおくようにする。
【0227】
なお、上記第1実施形態は、1バイト文字と2バイト文字では文字幅が違ったとしても、全ての1バイト文字及び全ての2バイト文字は幅が等しい等幅フォントの場合に有効なものである。
【0228】
図5(E)は、PCが作成する記憶部13に保存すべきデータベースを、図5(C)に示したメモリ14のデータベースと同様に25バイトまでとした場合を示している。この場合は、26バイト目がフラグで、27バイト目がNULLとなり、フラグが~の場合は、記憶部13に保存したデータベースからではなく、音楽ファイルのヘッダ部52(コンテンツヘッダ)から読み出すこと以外は、図5(C)及び図5(D)の場合と動作は同じである。
【0229】
また、図5(F)は、PCが作成する記憶部13に保存すべきデータベースを、検索時に表示するバイト数までとした場合を示している。この場合は、NULLの前の文字がフラグとなり、フラグが~の場合は、記憶部13に保存したデータベースからではなく音楽ファイル50のヘッダ部52から読み出すこと以外は、図5(C)及び図5(D)の場合と動作は同じである。(記憶部13に保存したデータベースからメモリ14のデータベースにコピーする時に、NULL前の文字が~の場合は、NULLに置き換えて、27バイト目に~を設定するようにすれば、図19(B)の動作は変更無しで使用できる。)
何れの場合も、記憶部13に保存したデータベースまたは音楽ファイル50のヘッダ部52に登録可能な最大文字数に合わせてメモリ14のデータベースにコピーするデータ量を決定する場合よりも、1曲当たりのメモリ14のデータベースのメモリ容量を抑えることができる。これにより、検索を高速にすることができ、またはメモリ14のメモリ容量を抑えてコストアップを防ぐことができる。
【0230】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【0231】
例えば、上記実施形態では、音楽ファイルで説明したが、静止画ファイル、動画ファイル、ドキュメントファイル等、他のコンテンツファイルであっても良い。
【0232】
また、上記実施形態では、携帯型音楽プレーヤ10の表示部兼入力部15を使用して説明したが、リモコン30の表示部34と各種操作部(再生/停止ボタン31A,次ボタン31B,前ボタン31C,ボリュームアップ(+)ボタン31D,ボリュームダウン(−)ボタン31E)とを使用しても良い。
【0233】
更に、上記第1実施形態では、表示可能バイト数16バイトに対して16バイトをメモリ14に読み込むようにしたが、例えば静止画や動画撮影時にデフォルトで20バイトの日時(2005.11.11 12:24 Fri)がタイトルとして付く場合に、表示可能バイト数16バイトに対して20バイト読み込むようにしても、タイトルの最大バイト数(上記第1実施形態の説明では100バイトとして説明)に対して十分に少なければ良い。
【図面の簡単な説明】
【0234】
【図1】図1は本発明のコンテンツ再生装置の第1実施形態としての携帯型音楽プレーヤの構成を示す図である。
【図2】図2は記憶部のデータベースに登録されているコンテンツ情報としての音楽ファイル情報を示す図である。
【図3】図3(A)は記憶部に保存されているデータベースの内容(音楽ファイル情報)をメモリに読み込んだ場合の内容を示す図であり、図3(B)は各音楽ファイル情報の内容を定義する構造体を示す図である。
【図4】図4(A)は音楽ファイルの構造を示す図であり、図4(B)は音楽ファイルのヘッダ部に保存されている情報を示す図である。
【図5】図5(A)は記憶部に保存されているデータベースとメモリに読み込んだデータベースとの内容の違いを示す図、図5(B)は図5(A)の内容を表示した場合の検索時の表示例を示す図、図5(C)は本発明の第2実施形態における記憶部に保存されているデータベースとメモリに読み込んだデータベースとの内容の違いを示す図、図5(D)は図5(C)の内容を表示した場合の検索時の表示例を示す図、図5(E)はPCが作成する記憶部に保存すべきデータベースを図5(C)に示したメモリのデータベースと同様に25バイトまでとした場合の記憶部に保存されているデータベースとメモリに読み込んだデータベースと音楽ファイルのヘッダ部に含まれるデータとの内容の違いを示す図であり、図5(F)はPCが作成する記憶部に保存すべきデータベースを検索時に表示するバイト数までとした場合の記憶部に保存されているデータベースとメモリに読み込んだデータベースと音楽ファイルのヘッダ部に含まれるデータとの内容の違いを示す図である。
【図6】図6は音楽ファイル再生時に再生画面の再生曲情報エリアへの表示例を示す図である。
【図7】図7(A)は検索時の検索トップ選択画面を示す図、図7(B)はジャンル選択画面を示す図、図7(C)はジャンル選択サブ画面を示す図、図7(D)はアーティスト選択画面を示す図、図7(E)はアーティスト選択サブ画面を示す図、図7(F)はアルバム選択画面を示す図であり、図7(G)は曲選択画面を示す図である。
【図8】図8は再生時の再生画面を示す図である。
【図9】図9(A)はコンテンツ再生プログラムのメインフローチャートを示す図であり、図9(B)はSearchサブルーチンの詳細を説明するための一連のフローチャートの前半部分を示す図である。
【図10】図10はSearchサブルーチンの詳細を説明するための一連のフローチャートの後半部分を示す図である。
【図11】図11はGenreサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図12】図12はGenre_Subサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図13】図13はArtistサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図14】図14はArtist_Subサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図15】図15はAlbumサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図16】図16はMusicサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図17】図17はPlayサブルーチンの詳細を説明するためのフローチャートを示す図である。
【図18】図18(A)は検索時に表示可能な文字数が1バイト文字で16文字、2バイト文字で8文字と制限がある場合に、記憶部に保存されたデータベースからメモリのデータベースにデータをコピーする際の動作を説明するためのフローチャートを示す図であり、図18(B)は検索時に表示可能な文字数が1バイト文字で16文字、2バイト文字で12文字とした本発明の第2実施形態における、記憶部に保存されたデータベースからメモリのデータベースにデータをコピーする際の動作を説明するためのフローチャートを示す図である。
【図19】図19(A)はメモリのデータベースにコピーした文字列を検索時の各選択画面で表示する場合の動作を説明するためのフローチャートを示す図であり、図19(B)は第2実施形態におけるメモリのデータベースにコピーした文字列を検索時の各選択画面で表示する場合の動作を説明するためのフローチャートを示す図である。
【図20】図20は再生曲情報を再生画面上部左の再生曲情報エリアに表示する動作を説明するためのフローチャートを示す図である。
【符号の説明】
【0235】
10…携帯型音楽プレーヤ、 11…制御部、 12…プログラム記憶部、 13…記憶部、 14…メモリ、 15…表示部兼入力部、 16…再生部、 17…スピーカ、 18…PC接続端子、 19…リモコン接続端子、 20…オーディオ出力端子、 21…電源スイッチ(SW)、 30…リモートコントローラ(リモコン)、 31A…再生/停止ボタン、 31B…次ボタン、 31C…前ボタン、 31D…ボリュームアップ(+)ボタン、 31E…ボリュームダウン(−)ボタン、 32…CPU、 33…制御端子、 34…表示部、 35…オーディオ入力端子、 36…イヤフォン端子、 40…イヤフォン、 50…音楽ファイル、 51…音楽データ部、 52…ヘッダ部。
【特許請求の範囲】
【請求項1】
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記制御部は、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報の内の一部分を上記メモリに格納して、上記表示部に表示することを特徴とするコンテンツ再生装置。
【請求項2】
上記制御部は、コンテンツ再生時には、上記検索時に上記表示部に表示するために上記メモリに一部分だけを格納している上記コンテンツ情報の上記所定の情報については、上記データベースから対応するコンテンツ情報の上記所定の情報を読み込んで上記表示部に表示することを特徴とする請求項1に記載のコンテンツ再生装置。
【請求項3】
上記記憶部に保存されたコンテンツファイルは、上記表示部に表示するコンテンツ情報が含む上記所定の情報を有しており、
上記制御部は、コンテンツ再生時には、上記検索時に上記表示部に表示するために上記メモリに一部分だけを格納している上記コンテンツ情報の上記所定の情報については、上記記憶部に保存されたコンテンツファイルから対応するコンテンツ情報の上記所定の情報を読み込んで上記表示部に表示する、
ことを特徴とする請求項1に記載のコンテンツ再生装置。
【請求項4】
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記記憶部に保存されたコンテンツファイルは、上記表示部に表示するコンテンツ情報の所定の情報を含んでおり、
上記制御部は、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む上記所定の情報の内の一部分を上記メモリに格納し、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルから読み込んで上記表示部に表示する、
ことを特徴とするコンテンツ再生装置。
【請求項5】
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報の内の一部分を上記メモリに格納させて、上記表示部に表示させる、
ことを特徴とするコンテンツデータ再生プログラム。
【請求項6】
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報の内の一部分を上記メモリに格納させ、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルが含む上記所定の情報から読み込んで上記表示部に表示させる、
ことを特徴とするコンテンツデータ再生プログラム。
【請求項1】
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記制御部は、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報の内の一部分を上記メモリに格納して、上記表示部に表示することを特徴とするコンテンツ再生装置。
【請求項2】
上記制御部は、コンテンツ再生時には、上記検索時に上記表示部に表示するために上記メモリに一部分だけを格納している上記コンテンツ情報の上記所定の情報については、上記データベースから対応するコンテンツ情報の上記所定の情報を読み込んで上記表示部に表示することを特徴とする請求項1に記載のコンテンツ再生装置。
【請求項3】
上記記憶部に保存されたコンテンツファイルは、上記表示部に表示するコンテンツ情報が含む上記所定の情報を有しており、
上記制御部は、コンテンツ再生時には、上記検索時に上記表示部に表示するために上記メモリに一部分だけを格納している上記コンテンツ情報の上記所定の情報については、上記記憶部に保存されたコンテンツファイルから対応するコンテンツ情報の上記所定の情報を読み込んで上記表示部に表示する、
ことを特徴とする請求項1に記載のコンテンツ再生装置。
【請求項4】
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部と、
上記記憶部に保存されたデータベースに格納された各コンテンツ情報を格納するメモリと、
上記メモリに格納された上記コンテンツ情報を表示する表示部と、
上記コンテンツファイルの検索と再生及びコンテンツ情報の表示を制御する制御部と、を有し、
上記記憶部に保存されたコンテンツファイルは、上記表示部に表示するコンテンツ情報の所定の情報を含んでおり、
上記制御部は、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む上記所定の情報の内の一部分を上記メモリに格納し、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルから読み込んで上記表示部に表示する、
ことを特徴とするコンテンツ再生装置。
【請求項5】
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報の内の一部分を上記メモリに格納させて、上記表示部に表示させる、
ことを特徴とするコンテンツデータ再生プログラム。
【請求項6】
コンピュータにコンテンツを再生させるコンテンツ再生プログラムにおいて、上記コンテンツ再生プログラムは、コンピュータに、
複数のコンテンツファイルと、各コンテンツファイルを特定するためのコンテンツ情報を格納するデータベースと、を保存する記憶部から、各コンテンツ情報をメモリに格納させ、
上記メモリに格納された上記コンテンツ情報を用いて上記コンテンツファイルの検索を行い、
検索されたコンテンツファイルを上記記憶部から上記メモリに格納させ、
上記メモリに格納されたコンテンツファイルを再生させ、
上記メモリに格納された上記コンテンツ情報を表示部に表示させる、
ものであって、
検索時には、上記データベースに格納されて検索に使用する複数のコンテンツ情報の内、当該コンテンツ情報が含む所定の情報の内の一部分を上記メモリに格納させ、
コンテンツ再生時には、その再生中のコンテンツファイルのコンテンツ情報を上記表示部に表示するために、上記コンテンツ情報の内の不足している情報を、当該コンテンツファイルが含む上記所定の情報から読み込んで上記表示部に表示させる、
ことを特徴とするコンテンツデータ再生プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2007−102922(P2007−102922A)
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願番号】特願2005−291291(P2005−291291)
【出願日】平成17年10月4日(2005.10.4)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願日】平成17年10月4日(2005.10.4)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】
[ Back to top ]