プレイリストを作る

 投稿者:しばっち  投稿日:2009年 5月10日(日)15時30分6秒
  プレイリストファイル(拡張子 m3u asx)を作る
リストの編集機能(リストの追加、削除、順番の入れ替え等)はありません
名前でソートするのみ


INPUT  PROMPT "INPUT FILE PATH =":PT$ !'絶対パス
IF RIGHT$(PT$,1)<>"\" THEN LET PT$=PT$ & "\"
LET PA$=PT$
LET PT$=PT$ & "*.*" !'ワイルドカード
LET  N=FILES(PT$)
IF N > 0 THEN
   DIM N$(N),NAME$(N),EXT$(N)
   FILE LIST PT$, N$
ELSE
   PRINT "No File"
   STOP
END IF
FOR I=1 TO N
   FILE SPLITNAME(N$(I)) PATH$,NA$,EX$
   IF POS(".WAV.WMA.MP3",UCASE$(EX$)) > 0 THEN !'拡張子判別
      LET  NN=NN+1
      LET  NAME$(NN)=NA$ !'リスト登録
      LET  EXT$(NN)=EX$
   END IF
NEXT I
IF NN=0 THEN
   PRINT "No File"
   STOP
END IF
FOR I=1 TO NN  !' せいぜい数十曲程度 (1曲3分×100曲=5時間 !?)
   FOR J=I+1 TO NN
      IF NAME$(I) > NAME$(J) THEN !'!昇順にソート
         SWAP NAME$(I),NAME$(J)
         SWAP EXT$(I),EXT$(J)
      END IF
   NEXT J
NEXT I
PRINT "ファイル数=";NN
DO
   INPUT  PROMPT "SAVE FILE NAME=":F$ !'拡張子(.asx) OR (.m3u)を付加すること
LOOP UNTIL UCASE$(RIGHT$(F$,3))="M3U" OR UCASE$(RIGHT$(F$,3))="ASX"
OPEN #1:NAME F$
SELECT CASE UCASE$(RIGHT$(F$,3))
CASE "M3U"
   FOR I=1 TO NN
      PRINT #1:PA$;NAME$(I);EXT$(I) !'絶対パス指定
   NEXT I
CASE "ASX"
   PRINT #1:CHR$(60);"asx version = ";CHR$(34);"3.0";CHR$(34);" ";CHR$(62)
   FOR I=1 TO NN
      PRINT #1:CHR$(9);CHR$(60);"entry";CHR$(62)
      PRINT #1:CHR$(9);CHR$(9);CHR$(60);"title";CHR$(62);NAME$(I);CHR$(60);"/title";CHR$(62)
      PRINT #1:CHR$(9);CHR$(9);CHR$(60);"ref href = ";CHR$(34);PA$;NAME$(I);EXT$(I);CHR$(34);" /";CHR$(62)
      PRINT #1:CHR$(9);CHR$(60);"/entry";CHR$(62)
   NEXT I
   PRINT #1:CHR$(60);"/asx";CHR$(62)
END SELECT
CLOSE #1
END
 

戻る