Luanti 5.17.0-dev
Loading...
Searching...
No Matches
l_client_sound.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2023 DS
4// Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
5// Copyright (C) 2017 nerzhul, Loic Blot <loic.blot@unix-experience.fr>
6
7#pragma once
8
9#include "lua_api/l_base.h"
10#include "util/basic_macros.h"
11
12using sound_handle_t = int;
13
15{
16private:
17 // sound_play(spec, parameters)
18 static int l_sound_play(lua_State *L);
19
20 // debug_print_playing_sounds()
21 static int l_debug_print_playing_sounds(lua_State *L);
22
23public:
24 static void Initialize(lua_State *L, int top);
25};
26
27class ClientSoundHandle final : public ModApiBase
28{
29private:
31
32 static const char className[];
33 static const luaL_Reg methods[];
34
36
38
39 static ClientSoundHandle *checkobject(lua_State *L, int narg);
40
41 static int gc_object(lua_State *L);
42
43 // :stop()
44 static int l_stop(lua_State *L);
45
46 // :fade(step, gain)
47 static int l_fade(lua_State *L);
48
49public:
50 ~ClientSoundHandle() = default;
51
52 static void create(lua_State *L, sound_handle_t handle);
53 static void Register(lua_State *L);
54};
#define DISABLE_CLASS_COPY(C)
Definition basic_macros.h:26
Definition l_client_sound.h:28
static int gc_object(lua_State *L)
Definition l_client_sound.cpp:89
~ClientSoundHandle()=default
static const char className[]
Definition l_client_sound.h:32
static int l_stop(lua_State *L)
Definition l_client_sound.cpp:99
static const luaL_Reg methods[]
Definition l_client_sound.h:150
static void create(lua_State *L, sound_handle_t handle)
Definition l_client_sound.cpp:116
ClientSoundHandle(sound_handle_t handle)
Definition l_client_sound.h:35
static void Register(lua_State *L)
Definition l_client_sound.cpp:124
sound_handle_t m_handle
Definition l_client_sound.h:30
static ClientSoundHandle * checkobject(lua_State *L, int narg)
Definition l_client_sound.cpp:80
static int l_fade(lua_State *L)
Definition l_client_sound.cpp:107
Definition l_base.h:28
Definition l_client_sound.h:15
static void Initialize(lua_State *L, int top)
Definition l_client_sound.cpp:72
static int l_sound_play(lua_State *L)
Definition l_client_sound.cpp:18
static int l_debug_print_playing_sounds(lua_State *L)
Definition l_client_sound.cpp:56
int sound_handle_t
IDs for playing sounds.
Definition client.h:67