1 /* !!!! GENERATED FILE - DO NOT EDIT !!!! 2 * -------------------------------------- 3 * 4 * This file is part of liblcf. Copyright (c) 2021 liblcf authors. 5 * https://github.com/EasyRPG/liblcf - https://easyrpg.org 6 * 7 * liblcf is Free/Libre Open Source Software, released under the MIT License. 8 * For the full copyright and license information, please view the COPYING 9 * file that was distributed with this source code. 10 */ 11 12 #ifndef LCF_RPG_MUSIC_H 13 #define LCF_RPG_MUSIC_H 14 15 // Headers 16 #include <stdint.h> 17 #include <string> 18 #include "lcf/context.h" 19 #include <ostream> 20 #include <type_traits> 21 22 /** 23 * rpg::Music class. 24 */ 25 namespace lcf { 26 namespace rpg { 27 class Music { 28 public: 29 std::string name = "(OFF)"; 30 int32_t fadein = 0; 31 int32_t volume = 100; 32 int32_t tempo = 100; 33 int32_t balance = 50; 34 }; 35 36 inline bool operator==(const Music& l, const Music& r) { 37 return l.name == r.name 38 && l.fadein == r.fadein 39 && l.volume == r.volume 40 && l.tempo == r.tempo 41 && l.balance == r.balance; 42 } 43 44 inline bool operator!=(const Music& l, const Music& r) { 45 return !(l == r); 46 } 47 48 std::ostream& operator<<(std::ostream& os, const Music& obj); 49 50 template <typename F, typename ParentCtx = Context<void,void>> 51 void ForEachString(Music& obj, const F& f, const ParentCtx* parent_ctx = nullptr) { 52 (void)obj; 53 (void)f; 54 (void)parent_ctx; 55 } 56 57 } // namespace rpg 58 } // namespace lcf 59 60 #endif 61