-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSongObject.lua
325 lines (248 loc) · 9.05 KB
/
SongObject.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
---@meta
---@class BGChangeEntry
---@field start_beat number
---@field rate number
---@field transition number
---@field effect string
---@field file1 string
---@field file2 string
---@field color1 RageColor
---@field color2 RageColor
---@class SongObject SongObject: The class responsible for a song item.
SongObject = {}
--- Returns an array of all the available `Steps` objects for a `Song`.
---@return Steps[]
function SongObject:GetAllSteps() end
---@return string
function SongObject:GetBackgroundPath() end
---@return string
function SongObject:GetBannerPath() end
--- Returns a table with all the data for the song's BGCHANGES line.<br>
--- Each element of the table is one change like this:
--- ```lua
--- {
--- start_beat= 1.0,
--- rate= 1.0,
--- transition= "example",
--- effect= "example",
--- file1= "example",
--- file2= "example",
--- color1= "#FFFFFFFF",
--- color2= "#FFFFFFFF"
--- }
--- ```
---@return BGChangeEntry[]
function SongObject:GetBGChanges() end
--- Returns the path to the song's CD image.
---@return string
function SongObject:GetCDImagePath() end
--- Gets the path to the CDTitle.
---@return string
function SongObject:GetCDTitlePath() end
--- Returns the credits of the song.
---@return string
function SongObject:GetCredit() end
--- Returns the path to the song's disc image (different from CD, think Pump).
---@return string
function SongObject:GetDiscPath() end
--- Returns the displayed artist of the song.
---@return string
function SongObject:GetDisplayArtist() end
--- Returns a table of 2 floats containing the display BPMs.
---@return number[]
function SongObject:GetDisplayBpms() end
--- Returns the displayed full title of the song, including subtitle.
---@return string
function SongObject:GetDisplayFullTitle() end
--- Returns the displayed main title of the song.
---@return string
function SongObject:GetDisplayMainTitle() end
--- Returns the displayed subtitle of the song.
---@return string
function SongObject:GetDisplaySubTitle() end
--- Returns the first beat of the song.
---@return number
function SongObject:GetFirstBeat() end
--- Returns the first second of the song.
---@return number
function SongObject:GetFirstSecond() end
--- Returns a table with all the data for the song's FGCHANGES line.<br>
---@see SongObject.GetBGChanges # for the format listing.
function SongObject:GetFGChanges() end
--- Returns the genre of the song.
---@return string
function SongObject:GetGenre() end
--- Returns the group name that the song is in.
---@return string
function SongObject:GetGroupName() end
--- Returns the path to the song's jacket image.
---@return string
function SongObject:GetJacketPath() end
--- Returns the last beat of the song.
---@return number
function SongObject:GetLastBeat() end
--- Returns the last second of the song.
---@return number
function SongObject:GetLastSecond() end
--- Gets the path to the lyrics.
---@return string
function SongObject:GetLyricsPath() end
--- `GetDisplayMainTitle` checks the `ShowNativeLanguage` pref and returns the transliterated title is that pref is false.<br>
--- `GetMainTitle` (this function) **does not check that pref**. <br>
--- Instead, it directly returns the title, **exactly as it is** in the `#TITLE` field in the simfile.
---@return string
function SongObject:GetMainTitle() end
--- Gets the path to the music file.
---@return string
function SongObject:GetMusicPath() end
--- Behavior and format is similar to Player:GetNoteData.
---@return NoteDataEntry[]
---@see Player.GetNoteData
function SongObject:GetNoteData() end
--- Returns a Step object if the StepType and Difficulty exist.
---@return Steps
function SongObject:GetOneSteps() end
--- Gets the Song's origin.
---@return string
function SongObject:GetOrigin() end
--- Returns the path to the Song's preview music. This handles the #PREVIEW tag internally, so it works with songs that use it and songs that don't.
---@return string
function SongObject:GetPreviewMusicPath() end
--- Returns the path to the Song's preview video, if it exists. (Returns <code>nil</code> otherwise.)
---@return string
function SongObject:GetPreviewVidPath() end
--- Gets the length of a song's sample time in seconds.
---@return number
function SongObject:GetSampleLength() end
--- Gets the starting position of a song sample in seconds.
---@return number
function SongObject:GetSampleStart() end
--- Returns the song's directory.
---@return string
function SongObject:GetSongDir() end
--- Returns the folder containing the song.
---@return string
function SongObject:GetSongFolder() end
--- Returns the songfile path.
---@return string
function SongObject:GetSongFilePath() end
--- [02 Other.lua] Returns the number of stages this song costs.
---@return integer
function SongObject:GetStageCost() end
---@param st StepsType
---@return Steps[]
function SongObject:GetStepsByStepsType(st) end
--- Returns how long the longest stepchart is in seconds.
---@return number
function SongObject:GetStepsSeconds() end
--- Returns the song's tags.
---@return string
function SongObject:GetTags() end
--- Returns the song's TimingData.
---@return TimingData
function SongObject:GetTimingData() end
--- Returns the transliterated artist of the song.
---@return string
function SongObject:GetTranslitArtist() end
--- Returns the transliterated full title of the song, including subtitle.
---@return string
function SongObject:GetTranslitFullTitle() end
--- Returns the transliterated main title of the song.
---@return string
function SongObject:GetTranslitMainTitle() end
--- Returns the transliterated subtitle of the song.
---@return string
function SongObject:GetTranslitSubTitle() end
--- Plays the preview music for the song like how it plays in ScreenSelectMusic.
function SongObject:PlayPreviewMusic() end
--- Returns `true` if the song has attacks.
---@return boolean
function SongObject:HasAttacks() end
--- Returns `true` if the song has BGChanges.
---@return boolean
function SongObject:HasBGChanges() end
--- Returns `true` if the song has a background.
---@return boolean
function SongObject:HasBackground() end
--- Returns `true` if the song has a banner.
---@return boolean
function SongObject:HasBanner() end
--- Returns `true` if the song has a CD image.
---@return boolean
function SongObject:HasCDImage() end
--- Returns `true` if the song has a CDTitle.
---@return boolean
function SongObject:HasCDTitle() end
--- Returns `true` if the song has a Disc graphic.
---@return boolean
function SongObject:HasDisc() end
--- Returns `true` if the song has edits.
---@return boolean
function SongObject:HasEdits() end
--- Returns `true` if the song has a jacket graphic.
---@return boolean
function SongObject:HasJacket() end
--- Returns `true` if the song has lyrics.
---@return boolean
function SongObject:HasLyrics() end
--- Returns `true` if the song has music.
---@return boolean
function SongObject:HasMusic() end
--- Returns `true` if the song has a preview video.
---@return boolean
function SongObject:HasPreviewVid() end
--- Returns `true` if the song has significant BPM changes or stops.
---@return boolean
function SongObject:HasSignificantBPMChangesOrStops() end
--- Returns `true` if the song has significant BPM changes.
---@return boolean
function SongObject:HasSignificantBPMChanges() end
--- Returns `true` if the song has the specified StepsType.
---@return boolean
function SongObject:HasStepsType() end
--- Returns `true` if the song has steps for the specified difficulty in `st`.
---@param st StepsType
---@param d Difficulty
---@return boolean
function SongObject:HasStepsTypeAndDifficulty(st,d) end
--- Returns `true` if the song is a custom song.
---@return boolean
function SongObject:IsCustomSong() end
--- Returns `true` if the song's DisplayBPM is constant.
---@return boolean
function SongObject:IsDisplayBpmConstant() end
--- Returns `true` if the song's DisplayBPM is random.
---@return boolean
function SongObject:IsDisplayBpmRandom() end
--- Returns `true` if the song's DisplayBPM is secret.
---@return boolean
function SongObject:IsDisplayBpmSecret() end
--- Returns `true` if the song's DisplayBPM is specified.
---@return boolean
function SongObject:IsDisplayBpmSpecified() end
--- Returns `true` if the song is considered easy.
---@return boolean
function SongObject:IsEasy() end
--- Returns `true` if the song is enabled.
---@return boolean
function SongObject:IsEnabled() end
---@return boolean
function SongObject:IsLong() end
---Is the song considered a marathon? (Songs that are 500 seconds or longer.)
---@return boolean
function SongObject:IsMarathon() end
---Are the steps included in this song using different timing to the song itself.
---@return boolean
function SongObject:IsStepsUsingDifferentTiming() end
---Tells if the song is part of the tutorial.
---@return boolean
function SongObject:IsTutorial() end
---Outputs the length of the song in seconds.
---@return number
function SongObject:MusicLengthSeconds() end
---Is the song displayed in the game?
---@return boolean
function SongObject:NormallyDisplayed() end
---Is the song shown in demonstration and ranking?
---@return boolean
function SongObject:ShowInDemonstrationAndRanking() end