|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.stanwood.media.store.mp4.MP4ITunesStore
public class MP4ITunesStore
This store is used to store Film/TV show information in .mp4/.m4v files used by iTunes. This allows iTunes to use the meta data and see the files complete with their meta data.
In order to function, this store uses the command line tools provided by the AtomicParsley application. Their are different forks of this application on the Internet. The most feature rich version I've found is at "https://bitbucket.org/shield007/atomicparsley". Media manager uses this one to add atoms that some of the other versions can't. The application must be installed on the PATH, or pointed to by the optional store parameters.
If using a version of AtomicParsley that does not support the setting of all fields that this store can handle, then a warning will be printed. A version with the above link that fully supports this store can downloaded from the MediaManager web site or installed via the installer.
This store has following optional parameters:
Constructor Summary | |
---|---|
MP4ITunesStore(MP4ITunesStoreInfo storeInfo)
The constructor |
Method Summary | |
---|---|
void |
cacheEpisode(java.io.File rootMediaDir,
java.io.File episodeFile,
IEpisode episode)
This is used to store episode information of a TVShow MP4 file into the file as meta data so that iTunes can read it. |
void |
cacheFilm(java.io.File rootMediaDir,
java.io.File filmFile,
IFilm film,
java.lang.Integer part)
This is used to write a film to the store. |
void |
cacheSeason(java.io.File rootMediaDir,
java.io.File episodeFile,
ISeason season)
This does nothing as the season information can't be stored by this store |
void |
cacheShow(java.io.File rootMediaDir,
java.io.File episodeFile,
IShow show)
This does nothing as the show information can't be stored by this store |
void |
fileDeleted(MediaDirectory dir,
java.io.File file)
This is called when a file is deleted from a media directory |
void |
fileUpdated(MediaDirectory mediaDirectory,
java.io.File file)
This is called when a file is updated within a media directory. |
protected static void |
genericAtoms(IMediaFileInfo info,
IMP4Manager mp4Manager,
java.util.List<IAtom> atoms,
java.lang.String flavour)
|
protected static IAtom |
getArtworkAtom(IMP4Manager mp4Manager,
java.io.File mp4File,
IVideo video)
|
IEpisode |
getEpisode(java.io.File rootMediaDir,
java.io.File episodeFile,
ISeason season,
int episodeNum)
This will always return null as this is a write only store |
IEpisode |
getEpisode(MediaDirectory dir,
java.io.File file)
This is used to get a episode from a store via it's file name. |
IFilm |
getFilm(java.io.File rootMediaDir,
java.io.File filmFile,
java.lang.String filmId)
Always returns null as it is not implemented for this store. |
IFilm |
getFilm(MediaDirectory dir,
java.io.File file)
This is used to get a film from a store via it's file name. |
java.lang.String |
getParameter(java.lang.String key)
Used to get the value of a source parameter. |
ISeason |
getSeason(java.io.File rootMediaDir,
java.io.File episodeFile,
IShow show,
int seasonNum)
This will always return null as this is a write only store |
IShow |
getShow(java.io.File rootMediaDir,
java.io.File episodeFile,
java.lang.String showId)
This will always return null as this is a write only store |
IEpisode |
getSpecial(java.io.File rootMediaDir,
java.io.File episodeFile,
ISeason season,
int specialNumber)
This will always return null as this is a write only store |
static java.net.URL |
getVideoURL(IVideo video)
Used to get the image URL of a video |
void |
init(Controller controller,
java.io.File nativeDir)
Called to initialise the stores and check all their resources can be found. |
protected boolean |
isItunesExtension(java.io.File file)
|
java.util.List<IEpisode> |
listEpisodes(MediaDirConfig dirConfig,
IProgressMonitor monitor)
This is used to list all the episodes within the store if the store supports the operation. |
java.util.List<IFilm> |
listFilms(MediaDirConfig dirConfig,
IProgressMonitor monitor)
This is used to list all the films within the store if the store supports the operation. |
void |
performedActions(MediaDirectory dir)
This is called after all the actions on all the media files have been performed so that the store can clean up any stale data. |
protected java.util.Properties |
readStoreConfig(MediaDirectory mediaDirectory,
java.io.File configFile)
|
void |
renamedFile(java.io.File rootMediaDir,
java.io.File oldFile,
java.io.File newFile)
This does nothing as the meta data is stored in the actual file |
protected void |
saveStoreVersion(MediaDirectory mediaDirectory)
|
SearchResult |
searchMedia(java.lang.String name,
Mode mode,
java.lang.Integer part,
MediaDirConfig dirConfig,
java.io.File mediaFile)
Used to search for store for media |
void |
setParameter(java.lang.String key,
java.lang.String value)
Used to set source parameters. |
static void |
updateEpsiode(Controller controller,
IMP4Manager mp4Manager,
java.io.File mp4File,
IEpisode episode)
Used to add atoms to a MP4 file that makes iTunes see it as a TV Show episode |
static void |
updateFilm(Controller controller,
IMP4Manager mp4Manager,
java.io.File mp4File,
IFilm film,
java.lang.Integer part)
Used to add atoms to a MP4 file that makes iTunes see it as a Film. |
void |
upgrade(MediaDirectory mediaDirectory)
This is called to check if a upgrade is needed and perform the upgrade if required |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MP4ITunesStore(MP4ITunesStoreInfo storeInfo)
storeInfo
- The store informationMethod Detail |
---|
public void init(Controller controller, java.io.File nativeDir) throws StoreException
init
in interface IStore
controller
- The media controllernativeDir
- The native folder been used or configured. Null if can't be found
StoreException
- Thrown if their are any problemspublic void cacheEpisode(java.io.File rootMediaDir, java.io.File episodeFile, IEpisode episode) throws StoreException
cacheEpisode
in interface IStore
episodeFile
- The mp4 episode fileepisode
- The episode detailsrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem storing the meta datapublic void cacheSeason(java.io.File rootMediaDir, java.io.File episodeFile, ISeason season) throws StoreException
cacheSeason
in interface IStore
episodeFile
- The mp4 episode fileseason
- The season detailsrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem storing the meta datapublic void cacheShow(java.io.File rootMediaDir, java.io.File episodeFile, IShow show) throws StoreException
cacheShow
in interface IStore
episodeFile
- The mp4 episode fileshow
- The show detailsrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem storing the meta datapublic IEpisode getEpisode(java.io.File rootMediaDir, java.io.File episodeFile, ISeason season, int episodeNum) throws StoreException
getEpisode
in interface IStore
episodeFile
- the file which the episode is stored inseason
- The season the episode belongs tooepisodeNum
- The number of the episode too getrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem storing the meta datapublic ISeason getSeason(java.io.File rootMediaDir, java.io.File episodeFile, IShow show, int seasonNum) throws StoreException
getSeason
in interface IStore
episodeFile
- the file which the episode is stored inshow
- The show the season belongs tooseasonNum
- The number of the season too getrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem storing the meta datapublic IShow getShow(java.io.File rootMediaDir, java.io.File episodeFile, java.lang.String showId) throws StoreException
getShow
in interface IStore
episodeFile
- the file which the episode is stored inshowId
- The show Id of the show too getrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem storing the meta datapublic void cacheFilm(java.io.File rootMediaDir, java.io.File filmFile, IFilm film, java.lang.Integer part) throws StoreException
cacheFilm
in interface IStore
filmFile
- The file which the film is stored infilm
- The film to writerootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.part
- The part number of the film
StoreException
- Thrown if their is a problem with the storepublic IEpisode getSpecial(java.io.File rootMediaDir, java.io.File episodeFile, ISeason season, int specialNumber) throws java.net.MalformedURLException, java.io.IOException, StoreException
getSpecial
in interface IStore
episodeFile
- the file which the special episode is stored inseason
- The season the episode belongs toospecialNumber
- The number of the special episode too getrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem storing the meta data
java.net.MalformedURLException
- Thrown if their is a problem creating URL's
java.io.IOException
- Thrown if their is a I/O related problem.public void renamedFile(java.io.File rootMediaDir, java.io.File oldFile, java.io.File newFile)
renamedFile
in interface IStore
oldFile
- The old filenewFile
- The new filerootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.public IFilm getFilm(java.io.File rootMediaDir, java.io.File filmFile, java.lang.String filmId) throws StoreException, java.net.MalformedURLException, java.io.IOException
getFilm
in interface IStore
filmFile
- The file the film is stored infilmId
- The id of the filmrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.
StoreException
- Thrown if their is a problem retrieving the data
java.net.MalformedURLException
- Thrown if their is a problem creating URL's
java.io.IOException
- Thrown if their is a I/O related problem.public SearchResult searchMedia(java.lang.String name, Mode mode, java.lang.Integer part, MediaDirConfig dirConfig, java.io.File mediaFile) throws StoreException
searchMedia
in interface IStore
name
- The search termmode
- The mode of the searchpart
- The part number to search fordirConfig
- The Media directory configurationmediaFile
- The media file the search is associated with
StoreException
- Thrown if their is a problem with the storepublic void setParameter(java.lang.String key, java.lang.String value) throws StoreException
Used to set source parameters. If the key is not supported by this source, then a SourceException
is thrown.
setParameter
in interface IStore
key
- The key of the parametervalue
- The value of the parameter
StoreException
- Throw if the key is not supported by this store.public java.lang.String getParameter(java.lang.String key) throws StoreException
Used to get the value of a source parameter. If the key is not supported by this source, then a SourceException
is thrown.
getParameter
in interface IStore
key
- The key of the parameter
StoreException
- Throw if the key is not supported by this store.public void performedActions(MediaDirectory dir)
performedActions
in interface IStore
dir
- The media directorypublic void fileDeleted(MediaDirectory dir, java.io.File file)
fileDeleted
in interface IStore
dir
- The media directoryfile
- The filepublic IEpisode getEpisode(MediaDirectory dir, java.io.File file) throws StoreException
getEpisode
in interface IStore
dir
- The media directoryfile
- The media file
StoreException
- Thrown if their are any problemspublic IFilm getFilm(MediaDirectory dir, java.io.File file) throws StoreException
getFilm
in interface IStore
dir
- The media directoryfile
- The media file
StoreException
- Thrown if their are any problemspublic static void updateEpsiode(Controller controller, IMP4Manager mp4Manager, java.io.File mp4File, IEpisode episode) throws MP4Exception
controller
- the media file controllermp4Manager
- MP4 Managermp4File
- The MP4 fileepisode
- The episode details
MP4Exception
- Thrown if their is a problem updating the atomsprotected static IAtom getArtworkAtom(IMP4Manager mp4Manager, java.io.File mp4File, IVideo video) throws MP4Exception
MP4Exception
public static java.net.URL getVideoURL(IVideo video)
video
- The video information
public static void updateFilm(Controller controller, IMP4Manager mp4Manager, java.io.File mp4File, IFilm film, java.lang.Integer part) throws MP4Exception
controller
- The media controllermp4Manager
- MP4 Managermp4File
- The MP4 filefilm
- The film detailspart
- The part number of the film, or null if it does not have parts
MP4Exception
- Thrown if their is a problem updating the atomsprotected static void genericAtoms(IMediaFileInfo info, IMP4Manager mp4Manager, java.util.List<IAtom> atoms, java.lang.String flavour)
public java.util.List<IEpisode> listEpisodes(MediaDirConfig dirConfig, IProgressMonitor monitor)
listEpisodes
in interface IStore
dirConfig
- The media directory configurationmonitor
- The progress monitor
public java.util.List<IFilm> listFilms(MediaDirConfig dirConfig, IProgressMonitor monitor)
listFilms
in interface IStore
dirConfig
- The media directory configurationmonitor
- The progress monitor
protected boolean isItunesExtension(java.io.File file)
public void upgrade(MediaDirectory mediaDirectory) throws StoreException
upgrade
in interface IStore
mediaDirectory
- The media directory been upgraded
StoreException
- Thrown if thier are any problemsprotected void saveStoreVersion(MediaDirectory mediaDirectory) throws StoreException
StoreException
protected java.util.Properties readStoreConfig(MediaDirectory mediaDirectory, java.io.File configFile) throws StoreException
StoreException
public void fileUpdated(MediaDirectory mediaDirectory, java.io.File file) throws StoreException
fileUpdated
in interface IStore
mediaDirectory
- The media directory the file belongs tofile
- The media file
StoreException
- Thrown if their are any problems
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |