VBScript SDBSongData

Wenn Sie Hilfe benötigen oder über MediaMonkey diskutieren möchten...

Moderator: onkel_enno

miriki
Posts: 12
Joined: Tue Oct 12, 2021 3:10 am

VBScript SDBSongData

Post by miriki »

Moinsens!

Ich hatte schon vor langer Zeit mal MM4 in Benutzung. Dann hatte ich mir, in erster Linie, um die Entwickler zu unterstützen, 2 Lizenzen gekauft und MM5 ausprobiert. Aber irgendwie... Naja, ich bin wieder auf MM4 zurück und krame meine alten VB-Scripts raus. Ich benutze MM übrigens mehr zur Verwaltung von Video, weniger für Audio, aber auch, speziell Hörbücher.

Ich versuche jetzt gerade, die Informationen aus SDBSongData (als ein Element der SDBSongList, welche per Schleife durchlaufen wird) zu extrahieren. Allerdings habe ich tlw. Probleme, die Klassen der 3. und weiteren Unterstufen anzusprechen. Beispiel:

In SDBSongData gibt es z.B. das Feld "Actors", oder auch "Custom5", oder "Path", oder oder oder... Diese Felder anzusprechen ist überhaupt kein Problem. Also (verkürzt) sowas wie

Code: Select all

set lst = SDB.SelectedSongList
for i = 0 to lst.count - 1
set det = lst.item(i)
det_actors = det.actors
. . .
Also:
lst: SDBSongList https://www.mediamonkey.com/wiki/SDBSongList
det: SDBSongData https://www.mediamonkey.com/wiki/SDBSongData

Nun gibt es ein Feld (2. Unterstufe) "Media". Dies hat dann z.B. ein Feld "MediaLabel". Auch diese bekomme ich ohne Probleme angesprochen:

Code: Select all

set lst = SDB.SelectedSongList
for i = 0 to lst.count - 1
set det = lst.item(i)
det_media_medialabel = det.media.medialabel
. . .
Also:
lst: SDBSongList https://www.mediamonkey.com/wiki/SDBSongList
det: SDBSongData https://www.mediamonkey.com/wiki/SDBSongData
det.Media: SDBMedia https://www.mediamonkey.com/wiki/SDBMedia

Das geht auch noch in die 3. Stufe mit z.B.
Album.AlbumArt.Count
Also:
lst: SDBSongList https://www.mediamonkey.com/wiki/SDBSongList
det: SDBSongData https://www.mediamonkey.com/wiki/SDBSongData
det.Album: SDBAlbum https://www.mediamonkey.com/wiki/SDBAlbum
det.Album.AlbumArt: https://www.mediamonkey.com/wiki/SDBAlbumArtList

oder auch in die 4. Stufe mit z.B.
Album.Tracks.Albums.Count
Also:
lst: SDBSongList https://www.mediamonkey.com/wiki/SDBSongList
det: SDBSongData https://www.mediamonkey.com/wiki/SDBSongData
det.Album: SDBAlbum https://www.mediamonkey.com/wiki/SDBAlbum
det.Album.Tracks: SDBSongList https://www.mediamonkey.com/wiki/SDBSongList
det.Album.Tracks.Albums: SDBAlbums https://www.mediamonkey.com/wiki/SDBAlbums

Aber der Strang für z.B.
Album.AlbumArt.Count
mag mich nicht... Eigentlich sollte sich in
Album: SDBAlbum https://www.mediamonkey.com/wiki/SDBAlbum
ein Feld
AlbumArt: SDBAlbumArtList https://www.mediamonkey.com/wiki/SDBAlbumArtList
befinden. Ausserdem sollte sich darin dann ein
Item: AlbumArtItem https://www.mediamonkey.com/wiki/SDBAlbumArtItem
finden und darin wiederum ein
Image: SDBImage https://www.mediamonkey.com/wiki/SDBImage

Also: Habe ich jetzt hier einen Gedankenfehler oder stimmt was in der Doku nicht so ganz? Ich habe schon 3 (leichte) Fehler auf der Wiki-Seite behoben, die anscheinend seit 11 Jahren niemandem aufgefallen sind. Wäre schön, wenn mir da jemand helfen könnte...

Gruß, Michael

PS: Falls es für jemanden von Interesse ist, was mein "dump" z.Z. produziert:

Code: Select all

-------------------------------------------------------------------------------
processing:   ID 1277   Title: 'Æon Flux - Blicke der Zukunft ins Auge.'   IMDB: {tt0402022}
-------------------------------------------------------------------------------
Actors: ............................................. TXT 'Charlize Theron; Marton Csokas; Jonny Lee Miller; Sophie Okonedo; Caroline Chikezie; Pete Postlethwaite'
  --- Album --> SDBAlbum
    --- Album.AlbumArt --> SDBAlbumArtList
    Album.AlbumArt.AddNew: .......................... Method
    Album.AlbumArt.Count: ........................... INT 
    Album.AlbumArt.Delete: .......................... Method
      --- Album.AlbumArt.Item --> SDBAlbumArtItem
      Album.AlbumArt.Item.Description: .............. TXT '???'
        --- Album.AlbumArt.Item.Image --> SDBImage
        Album.AlbumArt.Item.Image.ConvertFormat ..... Method
        Album.AlbumArt.Item.Image.ConvertFormatEx ... Method
        Album.AlbumArt.Item.Image.Height ............ INT ???
        Album.AlbumArt.Item.Image.ImageData ......... INT ???
        Album.AlbumArt.Item.Image.ImageDataLen ...... INT ???
        Album.AlbumArt.Item.Image.ImageFormat ....... TXT '???'
        Album.AlbumArt.Item.Image.Width ............. INT ???
      Album.AlbumArt.Item.ItemStorage: .............. INT ???
      Album.AlbumArt.Item.ItemType: ................. INT ???
      Album.AlbumArt.Item.PicturePath: .............. TXT '???'
      Album.AlbumArt.Item.RelativePicturePath: ...... TXT '???'
    Album.AlbumArt.UpdateDB: ........................ Method
  Album.AlbumLength: ................................ INT -593790550
  Album.AlbumLengthString: .......................... TXT '1028:06:16'
    --- Album.Artist --> SDBArtist
    Album.Artist.Comment: ........................... TXT ''
    Album.Artist.ID: ................................ INT 0
    Album.Artist.Name: .............................. TXT ''
    Album.Artist.UpdateDB: .......................... Method
  Album.ID: ......................................... INT -1
  Album.Name: ....................................... TXT ''
    --- Album.Tracks --> SDBSongList
    Album.Tracks.Add: ............................... Method
    Album.Tracks.Insert: ............................ Method
      --- Album.Tracks.Albums --> SDBAlbums
      Album.Tracks.Albums.Count ..................... INT 1
        --- Album.Tracks.Albums.Item --> SDBAlbum
      Album.Tracks.Albums.Sort ...................... Method
      Album.Tracks.Albums.SortByArtists ............. Method
      --- Album.Tracks.Artists --> SDBArtists
      Album.Tracks.Artists.Count .................... INT 333
        --- Album.Tracks.Artists.Item --> SDBArtist
      Album.Tracks.Artists.Sort ..................... Method
    Album.Tracks.Count: ............................. INT ???
    Album.Tracks.Delete: ............................ Method
      --- Album.Tracks.Item --> SDBxxx
    Album.Tracks.UpdateAll: ......................... Method
  Album.UpdateDB: ................................... Method
  --- Album.AlbumArt --> SDBAlbumArtList
  Album.AlbumArt.AddNew: ............................ Method
  Album.AlbumArt.Count: ............................. INT 1
  Album.AlbumArt.Delete: ............................ Method
    --- Album.AlbumArt.Item --> SDBAlbumArtItem
    Album.AlbumArt.Item.Description: ................ xxx 
    Album.AlbumArt.Item.Image: ...................... xxx 
    Album.AlbumArt.Item.ItemStorage: ................ xxx 
    Album.AlbumArt.Item.ItemType: ................... xxx 
    Album.AlbumArt.Item.PicturePath: ................ xxx 
    Album.AlbumArt.Item.RelativePicturePath: ........ xxx 
  Album.AlbumArt.UpdateDB: .......................... Method
AlbumArtistName: .................................... TXT ''
AlbumName: .......................................... TXT ''
  --- Artist --> SDBArtist
  Artist.Comment: ................................... TXT ''
  Artist.ID: ........................................ INT 0
  Artist.Name: ...................................... TXT 'Karyn Kusama'
  Artist.UpdateDB: .................................. Method
ArtistName: ......................................... TXT 'Karyn Kusama'
Author: ............................................. TXT ''
Band: ............................................... TXT ''
Bitrate: ............................................ INT 2221968
Bookmark: ........................................... INT 0
StartTime: .......................................... INT 0
StopTime: ........................................... INT 5346760
SkipCount: .......................................... INT 0
TrackType: .......................................... INT 5
BPM: ................................................ INT -1
Cached: ............................................. INT 0
CachedPath: ......................................... TXT ''
CalculateGapData: ................................... Method
canCrossfade: ....................................... BOL <Falsch>
Channels: ........................................... INT 2
Comment: ............................................ TXT '400 Jahre in der Zukunft, genauer im Jahre 2415, ist Æon Flux eine mysteriöse Attentäterin. Vier Jahrhunderte nach einem Virus, der fast die gesamte menschliche Rasse ausgelöscht hat, leben 5 Millionen Menschen in einer utopischen Stadt genannt Bregna. Æon kämpft um das Goodchild Regime zu vernichten, dass von ihrem Namensvetter und Herrschers von Bregna, Trevor Goodchild angeführt wird. Æon versucht Trevor Goodchild zu töten, doch kurz bevor offenbaren sich weitere Geheimnisse die entdeckt werden müssen und Verschwörungen die vereitelt werden müssen.'
Conductor: .......................................... TXT ''
Copyright: .......................................... TXT ''
Custom1: ............................................ TXT ''
Custom2: ............................................ TXT ''
Custom3: ............................................ TXT ''
Custom4: ............................................ TXT ''
Custom5: ............................................ TXT 'tt0402022'
Date: ............................................... DAT [01.01.2006]
DateAdded: .......................................... DAT [14.05.2024 22:06:38]
DateDBModified: ..................................... DAT [04.08.2024 08:11:30]
Day: ................................................ INT 0
DiscNumber: ......................................... INT 0
DiscNumberStr: ...................................... TXT ''
Director: ........................................... TXT 'Karyn Kusama'
Encoder: ............................................ TXT 'Lavf54.63.104'
EpisodeNumber: ...................................... TXT ''
FileLength: ......................................... INT 1485041330
FileModified: ....................................... DAT [04.08.2024 08:11:30]
GaplessBytes: ....................................... INT -1
Genre: .............................................. TXT 'Action; Science Fiction'
GetCopy: ............................................ Method
Grouping: ........................................... TXT ''
ID: ................................................. INT 1277
InvolvedPeople: ..................................... TXT ''
IsBookmarkable: ..................................... BOL <Wahr>
IsShuffleIgnored: ................................... BOL <Wahr>
IsntInDB: ........................................... BOL <Falsch>
ISRC: ............................................... TXT ''
LastPlayed: ......................................... DAT [00:00:00]
Leveling: ........................................... FLT -999999
LevelingAlbum: ...................................... FLT -999999
Lyricist: ........................................... TXT 'Phil Hay; Matt Manfredi'
Lyrics: ............................................. TXT ''
  --- Media --> SDBMedia
  Media.DriveLetter: ................................ INT 21
  Media.DriveType: .................................. INT 4
  Media.ID: ......................................... INT 6
  Media.MediaLabel: ................................. TXT 'video1'
  Media.SerialNumber: ............................... INT -1235362627
MediaLabel: ......................................... TXT 'video1'
MetadataFromFilename: ............................... Method
Month: .............................................. INT 0
Mood: ............................................... TXT ''
MusicComposer: ...................................... TXT ''
Occasion: ........................................... TXT ''
OriginalArtist: ..................................... TXT ''
OriginalLyricist: ................................... TXT ''
OriginalTitle: ...................................... TXT ''
OriginalYear: ....................................... INT -1
OriginalMonth: ...................................... INT 0
OriginalDay: ........................................ INT 0
ParseText: .......................................... Method
ParentalRating: ..................................... TXT ''
Path: ............................................... TXT 'V:\Video\Movies\Action; Science Fiction\Æon Flux - Blicke der Zukunft ins Auge. [2006] {tt0402022}.avi'
SetPathByMask: ...................................... Method
PeakValue: .......................................... FLT -1
PlayCounter: ........................................ INT 0
PlaylistOrder: ...................................... INT -1
PostGap: ............................................ INT -1
PreGap: ............................................. INT -1
Preview: ............................................ INT 0
PreviewPath: ........................................ TXT ''
Producer: ........................................... TXT 'Paramount Pictures; Lakeshore Entertainment; MTV Films; Colossal Pictures; Valhalla Motion Pictures; MTV Productions'
Publisher: .......................................... TXT ''
Quality: ............................................ TXT ''
Rating: ............................................. INT -1
RatingString: ....................................... TXT ''
ReadTags: ........................................... Method
ReadTagsAsExt: ...................................... Method
RenameByMask: ....................................... Method
SampleRate: ......................................... INT 48000
Series: ............................................. TXT ''
SeasonNumber: ....................................... TXT ''
SongID: ............................................. INT 1277
SongLength: ......................................... INT 5346760
SongLengthString: ................................... TXT '1:29:06'
Tempo: .............................................. TXT ''
Title: .............................................. TXT 'Æon Flux - Blicke der Zukunft ins Auge.'
TotalSamples: ....................................... INT -1
TrackOrder: ......................................... INT 0
TrackOrderStr: ...................................... TXT ''
UpdateAlbum: ........................................ Method
UpdateArtist: ....................................... Method
UpdateDB: ........................................... Method
DiscardChanges: ..................................... Method
VBR: ................................................ BOL <Falsch>
WriteTags: .......................................... Method
Year: ............................................... INT 2006
MarkPlayed: ......................................... Method
-------------------------------------------------------------------------------
miriki
Posts: 12
Joined: Tue Oct 12, 2021 3:10 am

Re: VBScript SDBSongData

Post by miriki »

Moinsens, nochmal...

Kommando zurück, ich hab's!

Wenn AlbumArt denn eine SDBAlbumArtList ist, dann sollte ich die Item darin ja vielleicht auch mal mit einem Index, wenigstens also z.B. Item(0), ansprechen. Ich war so bräsig, und hab AlbumArt(0).Item verwendet. *facepalm*

Gruß, Michael
Post Reply