Add optional arguments to AudioStreamRandomizer
Adds stream and weight parameters to add_stream. By default, weight is 1.0f.
This commit is contained in:
parent
2a04b18d37
commit
569ead5762
|
@ -12,8 +12,10 @@
|
||||||
<method name="add_stream">
|
<method name="add_stream">
|
||||||
<return type="void" />
|
<return type="void" />
|
||||||
<param index="0" name="index" type="int" />
|
<param index="0" name="index" type="int" />
|
||||||
|
<param index="1" name="stream" type="AudioStream" />
|
||||||
|
<param index="2" name="weight" type="float" default="1.0" />
|
||||||
<description>
|
<description>
|
||||||
Insert a stream at the specified index.
|
Insert a stream at the specified index. If the index is less than zero, the insertion occurs at the end of the underlying pool.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_stream" qualifiers="const">
|
<method name="get_stream" qualifiers="const">
|
||||||
|
|
|
@ -81,7 +81,7 @@ void AudioStreamRandomizerEditorPlugin::_move_stream_array_element(Object *p_und
|
||||||
if (p_from_index < 0) {
|
if (p_from_index < 0) {
|
||||||
undo_redo_man->add_undo_method(randomizer, "remove_stream", p_to_pos < 0 ? randomizer->get_streams_count() : p_to_pos);
|
undo_redo_man->add_undo_method(randomizer, "remove_stream", p_to_pos < 0 ? randomizer->get_streams_count() : p_to_pos);
|
||||||
} else if (p_to_pos < 0) {
|
} else if (p_to_pos < 0) {
|
||||||
undo_redo_man->add_undo_method(randomizer, "add_stream", p_from_index);
|
undo_redo_man->add_undo_method(randomizer, "add_stream", p_from_index, Ref<AudioStream>());
|
||||||
}
|
}
|
||||||
|
|
||||||
List<PropertyInfo> properties;
|
List<PropertyInfo> properties;
|
||||||
|
@ -107,7 +107,7 @@ void AudioStreamRandomizerEditorPlugin::_move_stream_array_element(Object *p_und
|
||||||
#undef ADD_UNDO
|
#undef ADD_UNDO
|
||||||
|
|
||||||
if (p_from_index < 0) {
|
if (p_from_index < 0) {
|
||||||
undo_redo_man->add_do_method(randomizer, "add_stream", p_to_pos);
|
undo_redo_man->add_do_method(randomizer, "add_stream", p_to_pos, Ref<AudioStream>());
|
||||||
} else if (p_to_pos < 0) {
|
} else if (p_to_pos < 0) {
|
||||||
undo_redo_man->add_do_method(randomizer, "remove_stream", p_from_index);
|
undo_redo_man->add_do_method(randomizer, "remove_stream", p_from_index);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -410,12 +410,12 @@ AudioStreamPlaybackMicrophone::AudioStreamPlaybackMicrophone() {
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
|
|
||||||
void AudioStreamRandomizer::add_stream(int p_index) {
|
void AudioStreamRandomizer::add_stream(int p_index, Ref<AudioStream> p_stream, float p_weight) {
|
||||||
if (p_index < 0) {
|
if (p_index < 0) {
|
||||||
p_index = audio_stream_pool.size();
|
p_index = audio_stream_pool.size();
|
||||||
}
|
}
|
||||||
ERR_FAIL_COND(p_index > audio_stream_pool.size());
|
ERR_FAIL_COND(p_index > audio_stream_pool.size());
|
||||||
PoolEntry entry{ nullptr, 1.0f };
|
PoolEntry entry{ p_stream, p_weight };
|
||||||
audio_stream_pool.insert(p_index, entry);
|
audio_stream_pool.insert(p_index, entry);
|
||||||
emit_signal(SNAME("changed"));
|
emit_signal(SNAME("changed"));
|
||||||
notify_property_list_changed();
|
notify_property_list_changed();
|
||||||
|
@ -709,7 +709,7 @@ void AudioStreamRandomizer::_get_property_list(List<PropertyInfo> *p_list) const
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioStreamRandomizer::_bind_methods() {
|
void AudioStreamRandomizer::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("add_stream", "index"), &AudioStreamRandomizer::add_stream);
|
ClassDB::bind_method(D_METHOD("add_stream", "index", "stream", "weight"), &AudioStreamRandomizer::add_stream, DEFVAL(1.0));
|
||||||
ClassDB::bind_method(D_METHOD("move_stream", "index_from", "index_to"), &AudioStreamRandomizer::move_stream);
|
ClassDB::bind_method(D_METHOD("move_stream", "index_from", "index_to"), &AudioStreamRandomizer::move_stream);
|
||||||
ClassDB::bind_method(D_METHOD("remove_stream", "index"), &AudioStreamRandomizer::remove_stream);
|
ClassDB::bind_method(D_METHOD("remove_stream", "index"), &AudioStreamRandomizer::remove_stream);
|
||||||
|
|
||||||
|
|
|
@ -241,7 +241,7 @@ protected:
|
||||||
void _get_property_list(List<PropertyInfo> *p_list) const;
|
void _get_property_list(List<PropertyInfo> *p_list) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void add_stream(int p_index);
|
void add_stream(int p_index, Ref<AudioStream> p_stream, float p_weight = 1.0);
|
||||||
void move_stream(int p_index_from, int p_index_to);
|
void move_stream(int p_index_from, int p_index_to);
|
||||||
void remove_stream(int p_index);
|
void remove_stream(int p_index);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue