¿Cómo se basa una lista de reproducción de un podcast fuera de la fecha de lanzamiento?

5

Me gustaría poder crear una lista de reproducción con todos los podcasts lanzados recientemente.

Lamentablemente, la fecha de lanzamiento no es un campo disponible para su selección en una lista de reproducción inteligente en iTunes.

Las fechas similares, como la fecha agregada y la fecha modificada, no estarán próximas a la fecha de lanzamiento cuando se descargue el catálogo retroactivo del podcast recién agregado.

La mejor solución que he encontrado es cerrar iTunes, truncar el archivo iTunes Library.itl, copiar los valores del campo de fecha de lanzamiento en el archivo iTunes Music Library.xml en el campo de fecha agregada y luego volver a iniciar iTunes. y dejar que reconstruya el archivo itl del archivo xml.

Sin embargo, el archivo de mi biblioteca es lo suficientemente grande como para que la reconstrucción se lleve a cabo entre 20 y 30 minutos, e incluso sin piratear el xml, falla con más frecuencia.

¿Existe un método para que yo o uno de los dos:

  • ¿hackear el archivo itl para establecer la fecha agregada a la fecha de lanzamiento?
  • ¿podrá seleccionar la fecha de lanzamiento en las reglas para una lista de reproducción inteligente o en el "límite para ... seleccionado por" menú desplegable de una lista de reproducción inteligente?
pregunta Simon Withers 27.10.2011 - 23:47

3 respuestas

3
La respuesta de

@ Daniel me lleva a una solución funcional, así que la publicaré

Usar Windows significa que la solución de script de Apple no iba a funcionar, por lo que usar el objeto com iTunes.Application mi solución se parece a esto (en Ruby, porque me gusta Ruby, aunque otros lenguajes de scripting también funcionarán) .

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()
  • Creo una lista de reproducción llamada 'Todos los podcasts' y lo hago exactamente así.
  • Tengo que usar la fecha reproducida como mi proxy para la fecha de lanzamiento, ya que es el único campo de fecha editable en una pista en la versión de objeto COM de itunes.

Es interesante que iTunes no equipara "tiene una fecha reproducida" con "tiene un conteo jugado > 0", por lo que ahora puedo tener una lista de reproducción de podcasts que no se han reproducido, que cumplen con los criterios que estaba usando antes y que se seleccionan por fecha de lanzamiento.

Yay!

    
respondido por el Simon Withers 02.11.2011 - 19:44
4

No soy un gran AppleScripter, por lo que esto se modifica a partir de algunas secuencias de comandos en el sitio web de Apple AppleScripts, pero tiene GPL, por lo que se permiten trabajos derivados siempre y cuando también tengan GPL.

Mi idea fue crear un script que pudiera tomar la fecha de lanzamiento, que no se puede usar en listas de reproducción inteligentes, y almacenarlo en la última fecha omitida, que se puede usar en listas de reproducción inteligentes. Si solo desea hacer esto para los podcasts (no para las canciones, para los cuales podría utilizar el último campo omitido), simplemente seleccione sus podcasts antes de ejecutar este script.

Una vez que lo haga, puede crear una lista de reproducción inteligente seleccionada en el campo "Última omisión" para obtener los podcasts lanzados recientemente.

Asíqueaquívamos:

(*Youcanrenamethisscripttowhateveryouwantbutpleasekeepthisinformationintact.Thanks.Thisprogramisfreesoftwarereleased"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
    
respondido por el Daniel 02.11.2011 - 04:10
1

Probablemente tengo una solución. Crear una nueva lista de reproducción inteligente basada en Media Kind es Podcast. Agregue criterios adicionales si es necesario. Ordenar esta lista de reproducción por columna Fecha de publicación.

Si también necesita escucharlo en el iPod por fecha de lanzamiento, seleccione Copiar en orden de reproducción en el menú contextual de la lista de reproducción. Sincroniza la lista de reproducción con el iPod. Y comienza a reproducirlos desde esta lista de reproducción.

Indique si esto funciona, ya que no puedo encontrar mi cable en este momento para comprobar si esto realmente funciona.

P.S. La lista de reproducción incluirá no solo los podcasts lanzados recientemente, por supuesto, sino que también puede limitar el tamaño por pista, tamaño o tiempo, además de otros filtros.

    
respondido por el iskra 01.11.2011 - 14:11

Lea otras preguntas en las etiquetas