75 lines
1,004 B
Odin
75 lines
1,004 B
Odin
package xoark_db
|
|
|
|
Date :: struct {
|
|
year: i16,
|
|
month: i8,
|
|
day: i8,
|
|
}
|
|
|
|
Time :: struct {
|
|
hour: i8,
|
|
minute: i8,
|
|
second: i8,
|
|
}
|
|
|
|
Genre :: enum u8 {
|
|
IDM,
|
|
Noise,
|
|
Glitch,
|
|
Breakcore,
|
|
SoCalledDnb,
|
|
Ambient,
|
|
Placeholder01,
|
|
Placeholder02,
|
|
Placeholder03,
|
|
Placeholder04,
|
|
Placeholder05,
|
|
Placeholder06,
|
|
Placeholder07,
|
|
Placeholder08,
|
|
Placeholder09,
|
|
Placeholder10,
|
|
Placeholder11,
|
|
Placeholder12,
|
|
Placeholder13,
|
|
Placeholder14,
|
|
Placeholder15,
|
|
Placeholder16,
|
|
}
|
|
|
|
Type :: enum u8 {
|
|
Album,
|
|
EP,
|
|
Split,
|
|
VA,
|
|
Journey,
|
|
Single,
|
|
}
|
|
|
|
@export_js Series :: enum u8 {
|
|
None = -2,
|
|
Hex,
|
|
Base64,
|
|
P,
|
|
Missing_Broken,
|
|
Satellits,
|
|
Praspis,
|
|
Gnocchi,
|
|
Runtime,
|
|
};
|
|
|
|
Album :: struct {
|
|
genre: bit_set[Genre],
|
|
type: Type,
|
|
series: Series,
|
|
rating: u8,
|
|
listened: Date,
|
|
released: Date,
|
|
duration: Time,
|
|
title: string,
|
|
art: string,
|
|
url: string,
|
|
favorite: string,
|
|
comment: string,
|
|
listens: i32,
|
|
}
|