Winamp Advanced Title Formattingのように見える文字列フォーマットメカニズムを作成しようとしています。
%varname%の形式で、オブジェクト プロパティにバインドされた「変数」(またはメタデータ フィールド) がいくつかあります。したがって、たとえば、%title%メタデータ フィールドは曲のタイトル (たとえば「Conquest of Paradise」) にバインドされ、%artist%メタデータ フィールドは曲のアーティスト (たとえば「Vangelis」) にバインドされ、%feat%メタデータ フィールドは'English Chamber Choir' などのフィーチャリング アーティストにバインドされています。
次に、特定のフォーマットに応じて曲を表示したいと思います。次に例を示します。
%title%[ (by %artist%[ featuring %feat%])]
角かっこは、かっこ内の (すべての) メタデータが設定されていない限り表示しないことを意味します。角括弧のネストが可能であるべきです。
上記のフォーマット文字列は、メタデータ フィールド%title%を表示し、%artist%が設定されている (空の文字列ではない) 場合は表示(by %artist%)
しますが、%feat%メタデータ フィールドも空でない場合は、そのフィールドも表示します。上記の例では、次のようになります。
楽園の征服(英国室内合唱団をフィーチャーしたヴァンゲリスによる)
では、そのようなメカニズムをどのように作成すればよいでしょうか。どこから始めればよいですか?
文字列をトークン化し、「セクション」ごとにメタデータタグを検索する必要があると思いますか?