Skip to content

Commit 0dd8451

Browse files
committed
Updated README.md
1 parent c64252e commit 0dd8451

File tree

2 files changed

+450
-2
lines changed

2 files changed

+450
-2
lines changed

README.md

Lines changed: 225 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@ Read more about `.chart` files: <https://github.com/TheNathannator/GuitarGame_Ch
168168

169169
#### `Parsers.ParseSectionsFromChart`
170170

171+
##### C#
172+
171173
```csharp
172174
using System;
173175
using RhythmGameUtilities;
@@ -179,6 +181,8 @@ Console.WriteLine(sections.Count); // 4
179181

180182
#### `Parsers.ParseMetaDataFromChartSection`
181183

184+
##### C#
185+
182186
```csharp
183187
using System;
184188
using RhythmGameUtilities;
@@ -192,8 +196,37 @@ Console.WriteLine(metaData["Resolution"]); // 192
192196
Console.WriteLine(metaData["MusicStream"]); // Example Song.ogg
193197
```
194198

199+
##### C++
200+
201+
```cpp
202+
#include <iostream>
203+
204+
#include "RhythmGameUtilities/File.hpp"
205+
#include "RhythmGameUtilities/Parsers.hpp"
206+
#include "RhythmGameUtilities/Utilities.hpp"
207+
208+
using namespace RhythmGameUtilities;
209+
210+
int main()
211+
{
212+
auto content = ReadFromFile("./tests/Mocks/song.chart");
213+
214+
auto sections = ParseSectionsFromChart(content.c_str());
215+
216+
auto metaData = ParseMetaDataFromChartSections(sections);
217+
218+
std::cout << metaData["Name"] << std::endl; // Example Song
219+
std::cout << metaData["Resolution"] << std::endl; // 192
220+
std::cout << metaData["MusicStream"] << std::endl; // Example Song.ogg
221+
222+
return 0;
223+
}
224+
```
225+
195226
#### `Parsers.ParseTimeSignaturesFromChartSection`
196227

228+
##### C#
229+
197230
```csharp
198231
using System;
199232
using RhythmGameUtilities;
@@ -205,8 +238,35 @@ var timeSignatures = Parsers.ParseTimeSignaturesFromChartSection(sections[NamedS
205238
Console.WriteLine(timeSignatures.Count); // 4
206239
```
207240

241+
##### C++
242+
243+
```cpp
244+
#include <iostream>
245+
246+
#include "RhythmGameUtilities/File.hpp"
247+
#include "RhythmGameUtilities/Parsers.hpp"
248+
#include "RhythmGameUtilities/Utilities.hpp"
249+
250+
using namespace RhythmGameUtilities;
251+
252+
int main()
253+
{
254+
auto content = ReadFromFile("./tests/Mocks/song.chart");
255+
256+
auto sections = ParseSectionsFromChart(content.c_str());
257+
258+
auto timeSignatures = ParseTimeSignaturesFromChartSections(sections);
259+
260+
std::cout << size(timeSignatures) << std::endl; // 4
261+
262+
return 0;
263+
}
264+
```
265+
208266
#### `Parsers.ParseBpmFromChartSection`
209267

268+
##### C#
269+
210270
```csharp
211271
using System;
212272
using RhythmGameUtilities;
@@ -218,8 +278,35 @@ var bpm = Parsers.ParseBpmFromChartSection(sections[NamedSection.SyncTrack]);
218278
Console.WriteLine(bpm.Count); // 7
219279
```
220280

281+
##### C++
282+
283+
```cpp
284+
#include <iostream>
285+
286+
#include "RhythmGameUtilities/File.hpp"
287+
#include "RhythmGameUtilities/Parsers.hpp"
288+
#include "RhythmGameUtilities/Utilities.hpp"
289+
290+
using namespace RhythmGameUtilities;
291+
292+
int main()
293+
{
294+
auto content = ReadFromFile("./tests/Mocks/song.chart");
295+
296+
auto sections = ParseSectionsFromChart(content.c_str());
297+
298+
auto bpm = ParseBpmFromChartSections(sections);
299+
300+
std::cout << size(bpm) << std::endl; // 7
301+
302+
return 0;
303+
}
304+
```
305+
221306
#### `Parsers.ParseNotesFromChartSection`
222307

308+
##### C#
309+
223310
```csharp
224311
using System;
225312
using RhythmGameUtilities;
@@ -231,8 +318,43 @@ var notes = Parsers.ParseNotesFromChartSection(sections[$"{Difficulty.Expert}Sin
231318
Console.WriteLine(notes.Count); // 8
232319
```
233320

321+
##### C++
322+
323+
```cpp
324+
#include <iostream>
325+
326+
#include "RhythmGameUtilities/File.hpp"
327+
#include "RhythmGameUtilities/Parsers.hpp"
328+
#include "RhythmGameUtilities/Utilities.hpp"
329+
330+
using namespace RhythmGameUtilities;
331+
332+
int main()
333+
{
334+
auto content = ReadFromFile("./tests/Mocks/song.chart");
335+
336+
auto sections = ParseSectionsFromChart(content.c_str());
337+
338+
auto notes = ParseNotesFromChartSections(sections, Expert);
339+
340+
for (auto &note : notes)
341+
{
342+
if (note.HandPosition > 5)
343+
{
344+
continue;
345+
}
346+
347+
std::cout << note.Position << " " << note.HandPosition << std::endl;
348+
}
349+
350+
return 0;
351+
}
352+
```
353+
234354
#### `Parsers.ParseLyricsFromChartSection`
235355

356+
##### C#
357+
236358
```csharp
237359
using System;
238360
using RhythmGameUtilities;
@@ -244,10 +366,37 @@ var lyrics = Parsers.ParseLyricsFromChartSection(sections[NamedSection.Events]);
244366
Console.WriteLine(notes.Count); // 12
245367
```
246368

369+
##### C++
370+
371+
```cpp
372+
#include <iostream>
373+
374+
#include "RhythmGameUtilities/File.hpp"
375+
#include "RhythmGameUtilities/Parsers.hpp"
376+
#include "RhythmGameUtilities/Utilities.hpp"
377+
378+
using namespace RhythmGameUtilities;
379+
380+
int main()
381+
{
382+
auto content = ReadFromFile("./tests/Mocks/song.chart");
383+
384+
auto sections = ParseSectionsFromChart(content.c_str());
385+
386+
auto lyrics = ParseLyricsFromChartSections(sections);
387+
388+
std::cout << size(lyrics) << std::endl; // 12
389+
390+
return 0;
391+
}
392+
```
393+
247394
### Utilities
248395

249396
#### `Utilities.ConvertTickToPosition`
250397

398+
##### C#
399+
251400
```csharp
252401
using System;
253402
using RhythmGameUtilities;
@@ -260,8 +409,32 @@ var position = Utilities.ConvertTickToPosition(tick, resolution);
260409
Console.WriteLine(position); // 14.5
261410
```
262411

412+
##### C++
413+
414+
```cpp
415+
#include <iostream>
416+
417+
#include "RhythmGameUtilities/Utilities.hpp"
418+
419+
using namespace RhythmGameUtilities;
420+
421+
int main()
422+
{
423+
const int tick = 2784;
424+
const int resolution = 192;
425+
426+
auto position = ConvertTickToPosition(tick, resolution);
427+
428+
std::cout << position << std::endl; // 14.5
429+
430+
return 0;
431+
}
432+
```
433+
263434
#### `Utilities.ConvertSecondsToTicks`
264435

436+
##### C#
437+
265438
```csharp
266439
using System;
267440
using RhythmGameUtilities;
@@ -285,8 +458,36 @@ var ticks = Utilities.ConvertSecondsToTicks(seconds, resolution, bpmChanges);
285458
Console.WriteLine(ticks); // 1408
286459
```
287460

461+
##### C++
462+
463+
```cpp
464+
#include <iostream>
465+
466+
#include "RhythmGameUtilities/Utilities.hpp"
467+
468+
using namespace RhythmGameUtilities;
469+
470+
int main()
471+
{
472+
const int seconds = 5;
473+
const int resolution = 192;
474+
475+
std::map<int, int> bpmChanges = {
476+
{0, 88000}, {3840, 112000}, {9984, 89600}, {22272, 112000},
477+
{33792, 111500}, {34560, 112000}, {42240, 111980}};
478+
479+
auto ticks = ConvertSecondsToTicks(seconds, resolution, bpmChanges);
480+
481+
std::cout << ticks << std::endl; // 1408
482+
483+
return 0;
484+
}
485+
```
486+
288487
#### `Utilities.IsOnTheBeat`
289488

489+
##### C#
490+
290491
```csharp
291492
using System;
292493
using RhythmGameUtilities;
@@ -296,7 +497,30 @@ const int currentTime = 10;
296497

297498
if (Utilities.IsOnTheBeat(bpm, currentTime))
298499
{
299-
Console.WriteLine("On the beat!");
500+
Console.WriteLine("Is on the beat!");
501+
}
502+
```
503+
504+
##### C++
505+
506+
```cpp
507+
#include <iostream>
508+
509+
#include "RhythmGameUtilities/Utilities.hpp"
510+
511+
using namespace RhythmGameUtilities;
512+
513+
int main()
514+
{
515+
const int bpm = 120;
516+
const int currentTime = 10;
517+
518+
if (IsOnTheBeat(bpm, currentTime))
519+
{
520+
std::cout << "Is on the beat!" << std::endl;
521+
}
522+
523+
return 0;
300524
}
301525
```
302526

0 commit comments

Comments
 (0)