ポッドキャストのプレイリストをリリース日からどうやってベースにするのですか。


5

最近リリースされたポッドキャストすべてのプレイリストを作成したいと思います。

残念なことに、発売日はiTunesのスマートプレイリストで選択できるフィールドではありません。

新しく追加されたポッドキャストのバックカタログをダウンロードするとき、追加された日付や変更された日付のような類似した日付はリリース日に近づきません。

私が考え出した最善の解決策は、iTunesを閉じ、iTunes Library.itlファイルを切り捨て、iTunes Music Library.xmlファイルのリリース日フィールドの値をdate addedフィールドにコピーしてから、iTunesを再起動することです。 xmlファイルからitlファイルを再構築します。

しかし、私のライブラリファイルは、再構築に20〜30分かかるほどの大きさであり、xmlをハッキングしなくても失敗することはありません。

以下のどちらかまたは両方を行う方法がありますか。

  • リリース日に追加された日付を設定するためにitlファイルをハックしますか?
  • スマートプレイリストのルールで、またはスマートプレイリストの「...で選択」のドロップダウンのいずれかでリリース日を選択できるかどうか。

回答:


4

私はAppleScripterのことはあまり好きではないので、これはDougのAppleScriptsウェブサイトのいくつかのスクリプトから修正されていますが、GPLされているので、それらもGPLされている限り派生作品は許されます。

私の考えは、スマートプレイリストでは使用できないリリース日を取り、それをスマートプレイリストで使用できる最後のスキップ日に保存できるようなスクリプトを作成することでした。あなたがPodcastのためにこれをしたいだけなら(曲ではなく つかいます このスクリプトを実行する前に、Podcastを選択してください。

それができたら、最近リリースしたPodcastを入手するために "Last skipped"フィールドで選択したスマートプレイリストを作成することができます。

enter image description here

だからここに行きます:

 (*
 You can rename this script to whatever you want
 but please keep this information intact. Thanks.

 This program is free software released "as-is"; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

 Get a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

 or visit http://www.gnu.org/copyleft/gpl.html

 *)

 tell application "iTunes"
set sel to selection
if sel is not {} then
    set ofi to fixed indexing
    set fixed indexing to true
    repeat with thisTrack in sel
        set reld to release date of thisTrack
        tell thisTrack to set skipped date to reld
    end repeat
    set fixed indexing to ofi
else
    display dialog return & "Select some tracks first..." buttons {"Cancel"} default button 1 with icon 0 giving up after 15
    return
end if -- no sel    
 end tell

1
私はウィンドウを使用しているのでそれは実際に私のために動作しませんでしたがこれは私に作業結果につながっています。
Simon Withers

「ええ。あなたがMacにいたと仮定して申し訳ありません。
Daniel

心配しないで、あなたは私を正しい道に導いてくれるので、私はそれが賞金を授与する正当な理由だと思いました:)
Simon Withers

3

@ダニエルの答えは私に実用的な解決策を導いたので、私はそれを投稿します

ウィンドウを使うということはアップルスクリプトソリューションがうまくいかないことを意味しているので、iTunes.Application comオブジェクトを使うとこのようになります(Rubyでは他のスクリプト言語でもうまくいきます)。

require 'win32ole'

def main()
    itunes = WIN32OLE.new('iTunes.Application')
    allpods = getallpodcasts(itunes);
    allpods.Tracks.each do |track|
        track.PlayedDate = track.ReleaseDate
    end
end


def getallpodcasts(itunes)
    itunes.LibrarySource.Playlists.each do |playlist|
        return playlist if playlist.Name == "All Podcasts";
    end
    die "'All Podcasts' not found"
end

main()
  • 私は 'All Podcasts'というプレイリストを作成し、それだけにしています。
  • それはiTunesのCOMオブジェクトバージョンのトラックの唯一の編集可能な日付フィールドであるので、私はリリース日の代わりに私のプレイ日を使わなければなりません。

興味深いことに、iTunesは「再生日がある」と「再生回数が0を超える」と同じではないので、今まで使用していた基準をすべて満たし、リリース日によって選択される未再生のPodcastのプレイリストを作成できます。 。

わーい!


1

おそらく回避策があります。 Media Kind is Podcastに基づいて新しいスマートプレイリストを作成します。必要に応じて追加の基準を追加してください。このプレイリストをリリース日の列で並べ替えます。

発売日までにiPodで聴く必要がある場合も、プレイリストのコンテキストメニューから「Play to Play Order」を選択します。プレイリストをiPodと同期します。そして、このプレイリストからそれらを再生し始めます。

私はこれが本当にうまくいったかどうかチェックするために今私のケーブルを見つけることができないのでこの仕事がうまくいったかどうか報告してください。

P.Sプレイリストには、もちろん最近リリースされたポッドキャストだけでなく、他のフィルタに加えてトラック、サイズ、または時間によってサイズを制限することができます。


これは実際に私が今やっていることです - 私の問題はプレイリストのサイズを制限するとき、あなたは "選択基準"を選択しなければならないということです。
Simon Withers
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.