Table of Contents

Class Metadata

Namespace
ChartTools
Assembly
ChartTools.dll

Set of miscellaneous information about a Song

public class Metadata
Inheritance
Metadata
Inherited Members
Extension Methods

Properties

Album

Album featuring the Song

[ChartKeySerializable("Album")]
[IniKeySerializable("album")]
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

[ChartKeySerializable("Artist")]
[IniKeySerializable("artist")]
public string? Artist { get; set; }

Property Value

string

AudioOffset

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

[ChartKeySerializable("Offset")]
[IniKeySerializable("delay")]
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

[ChartKeySerializable("Difficulty")]
[IniKeySerializable("diff_band")]
public sbyte? Difficulty { get; set; }

Property Value

sbyte?

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

[ChartKeySerializable("Genre")]
[IniKeySerializable("genre")]
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

[IniKeySerializable("modchart")]
public bool IsModchart { get; set; }

Property Value

bool

Length

Length of the song in milliseconds

[IniKeySerializable("song_length")]
public uint? Length { get; set; }

Property Value

uint?

LoadingText

Text to be displayed on the load screen

[IniKeySerializable("loading_text")]
public string? LoadingText { get; set; }

Property Value

string

MediaType

Type of media the audio track comes from

[ChartKeySerializable("MediaType")]
public string? MediaType { get; set; }

Property Value

string

Playlist

Playlist that the song should show up in

[IniKeySerializable("playlist")]
public string? Playlist { get; set; }

Property Value

string

PlaylistTrack

Track number of the song within the playlist/setlist

[IniKeySerializable("playlis_track")]
public ushort? PlaylistTrack { get; set; }

Property Value

ushort?

PreviewEnd

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

[ChartKeySerializable("PreviewEnd")]
[IniKeySerializable("preview_end_time")]
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

[ChartKeySerializable("PreviewStart")]
[IniKeySerializable("preview_start_time")]
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

[IniKeySerializable("sub_playlist")]
public string? SubPlaylist { get; set; }

Property Value

string

Title

Title of the Song

[ChartKeySerializable("Name")]
[IniKeySerializable("name")]
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

[IniKeySerializable("year")]
public ushort? Year { get; set; }

Property Value

ushort?

Methods

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

Exceptions

ArgumentException
ArgumentNullException
FormatException
LineException
OutOfMemoryException

FromFiles(params string[])

Reads the metadata from multiple files.

public static Metadata? FromFiles(params string[] paths)

Parameters

paths string[]

Paths of the files to read

Returns

Metadata

Remarks

Each file has less priority than the preceding.

Exceptions

ArgumentException
ArgumentNullException
FormatException
IOException
OutOfMemoryException

ReadFile(string)

public void ReadFile(string path)

Parameters

path string

ToFile(string)

public void ToFile(string path)

Parameters

path string