¿Cómo se basa una lista de reproducción de podcasts en la fecha de lanzamiento?

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

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

Las fechas similares, como la fecha de adición y la fecha de modificación, no estarán cerca de la fecha de lanzamiento al descargar el catálogo anterior del podcast recién agregado.

La mejor solución que se me ocurrió es cerrar itunes, truncar el archivo iTunes Library.itl, copiar los valores del campo de fecha de publicación en el archivo iTunes Music Library.xml en el campo de fecha agregada y luego reiniciar iTunes y dejarlo reconstruya el archivo itl desde el archivo xml.

Sin embargo, mi archivo de biblioteca es lo suficientemente grande como para que la reconstrucción demore entre 20 y 30 minutos, e incluso sin piratear el xml, falla la mayoría de las veces.

¿Hay algún método para mí para uno o ambos de:

  • piratear el archivo itl para establecer la fecha agregada a la fecha de lanzamiento?
  • ser capaz de seleccionar la fecha de lanzamiento en las reglas para una lista de reproducción inteligente o en el menú desplegable "límite de... seleccionado por" de una lista de reproducción inteligente?

Respuestas (3)

No soy mucho de AppleScripter, por lo que esto se modificó a partir de algunos scripts en el sitio web de AppleScripts de Doug, pero tiene GPL, por lo que se permiten trabajos derivados siempre que también tengan GPL.

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

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

ingrese la descripción de la imagen aquí

Así que, aquí vamos:

 (*
 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
Esto me ha llevado a un resultado de trabajo, aunque como estoy usando la ventana, en realidad no funcionó para mí.
'Doh. Lo siento por asumir que estabas en Mac.
no te preocupes, me llevas por el camino correcto, así que pensé que esa era una buena razón para otorgar la recompensa :)

La respuesta de @Daniel me llevó a una solución funcional, así que la publicaré

El uso de Windows significa que la solución de secuencias de comandos de Apple no iba a funcionar, por lo que al usar el objeto iTunes.Application com, mi solución se ve así (en Ruby, porque me gusta Ruby, aunque otros lenguajes de secuencias de comandos 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 la hago así.
  • Tengo que usar la fecha de reproducción 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.

Curiosamente, iTunes no equipara "tiene una fecha de reproducción" con "tiene un recuento de reproducciones> 0", por lo que ahora puedo tener una lista de reproducción de podcasts que no se reproducen, que cumplen con los criterios que estaba usando antes y que se seleccionan por fecha de lanzamiento.

¡Hurra!

Probablemente tengo una solución. Cree una nueva lista de reproducción inteligente basada en Media Kind is Podcast. Agregue criterios adicionales si es necesario. Ordene esta lista de reproducción por columna Fecha de lanzamiento.

Si también necesita escucharlo en el iPod según la fecha de lanzamiento, elija 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.

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

PS Playlist incluirá no solo los podcasts lanzados recientemente, por supuesto, sino que también puede limitar su tamaño por pista, tamaño o tiempo, además de otros filtros.

En realidad, esto es lo que estoy haciendo en este momento: mi problema es que al limitar el tamaño de la lista de reproducción, debe seleccionar un criterio "seleccionado por", y el criterio que quiero es "lanzado más recientemente"