Table of Contents

Class Metadata

Namespace
ChartTools.Meta
Assembly
ChartTools.dll

Set of miscellaneous information about a Song

public sealed class Metadata
Inheritance
Metadata
Inherited Members
Extension Methods

Constructors

Metadata()

public Metadata()

Properties

Album

Album featuring the Song

public string? Album { get; set; }

Property Value

string

AlbumTrack

Track number of the song within the album

public ushort? AlbumTrack { get; set; }

Property Value

ushort?

Artist

Artist or band behind the Song

public string? Artist { get; set; }

Property Value

string

AudioOffset

Offset of the audio track. A higher value makes the audio start sooner.

public TimeSpan? AudioOffset { get; set; }

Property Value

TimeSpan?

Charter

Creator of the chart

public Charter Charter { get; set; }

Property Value

Charter

Difficulty

Overall difficulty of the song

public sbyte? Difficulty { get; set; }

Property Value

sbyte?

Explicit

The song contains explicit lyrics

public bool? Explicit { get; set; }

Property Value

bool?

Formatting

Rules defined in song.ini that affect how the song data file is read and written

public FormattingRules Formatting { get; set; }

Property Value

FormattingRules

Remarks

Property summaries provided by Nathan Hurst.

Genre

Genre of the Song

public string? Genre { get; set; }

Property Value

string

InstrumentDifficulties

Stores the estimated difficulties for instruments

public InstrumentDifficultySet InstrumentDifficulties { get; set; }

Property Value

InstrumentDifficultySet

IsModchart

The song is a modchart

public bool? IsModchart { get; set; }

Property Value

bool?

Length

Length of the song in milliseconds

public uint? Length { get; set; }

Property Value

uint?

LoadingText

Text to be displayed on the load screen

public string? LoadingText { get; set; }

Property Value

string

MediaType

Type of media the audio track comes from

public string? MediaType { get; set; }

Property Value

string

Playlist

Playlist that the song should show up in

public string? Playlist { get; set; }

Property Value

string

PlaylistTrack

Track number of the song within the playlist/setlist

public ushort? PlaylistTrack { get; set; }

Property Value

ushort?

PreviewEnd

End time in milliseconds of the preview in the Clone Hero song browser

public uint? PreviewEnd { get; set; }

Property Value

uint?

PreviewLength

Duration in milliseconds of the preview in the Clone Hero song browser

public uint PreviewLength { get; }

Property Value

uint

PreviewStart

Start time in milliseconds of the preview in the Clone Hero song browser

public uint? PreviewStart { get; set; }

Property Value

uint?

Streams

Paths of audio files

public StreamCollection Streams { get; set; }

Property Value

StreamCollection

SubPlaylist

Sub-playlist that the song should show up in

public string? SubPlaylist { get; set; }

Property Value

string

Title

Title of the Song

public string? Title { get; set; }

Property Value

string

UnidentifiedData

Unrecognized metadata

public HashSet<UnidentifiedMetadata> UnidentifiedData { get; }

Property Value

HashSet<UnidentifiedMetadata>

Remarks

When writing, these will only be written if the target format matches the origin

VideoOffset

Offset of the background video. A higher value makes the video start sooner.

public TimeSpan? VideoOffset { get; set; }

Property Value

TimeSpan?

Year

Year of release

public ushort? Year { get; set; }

Property Value

ushort?

Methods

Contains(FileType, string)

public bool Contains(FileType fileType, string key)

Parameters

fileType FileType
key string

Returns

bool

FromFile(string)

Reads the Metadata from a file.

public static Metadata FromFile(string path)

Parameters

path string

Path of the file to read

Returns

Metadata

FromFiles(params ReadOnlySpan<string>)

Reads the Metadata from multiple files.

public static Metadata? FromFiles(params ReadOnlySpan<string> paths)

Parameters

paths ReadOnlySpan<string>

Paths of the files to read

Returns

Metadata

Remarks

Each file has less priority than the preceding.

Get(FileType, string)

public string? Get(FileType fileType, string key)

Parameters

fileType FileType
key string

Returns

string

ReadFile(string)

Appends the metadata from another file.

public void ReadFile(string path)

Parameters

path string

Path of the file to read

Remove(FileType, string)

public void Remove(FileType fileType, string key)

Parameters

fileType FileType
key string

Set(FileType, string, string)

public void Set(FileType fileType, string key, string value)

Parameters

fileType FileType
key string
value string

ToFile(string)

Writes the Metadata to a file.

public void ToFile(string path)

Parameters

path string

Path of the file to write

TryGet(FileType, string, out string)

public bool TryGet(FileType fileType, string key, out string value)

Parameters

fileType FileType
key string
value string

Returns

bool