Skip to content

Commit

Permalink
added ephemeral flag for sounds
Browse files Browse the repository at this point in the history
  • Loading branch information
tenplus1 committed Jun 14, 2020
1 parent e545700 commit d5ff07a
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 26 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ Based on Immersive Sounds .36 mod by Neuromancer and optimized to run on servers
- 1.2 - Added PlayerPlus compatibility, removed fire sounds, added volume changes
- 1.3 - Added API for use with other mods, code rewrite
- 1.4 - Re-ordered water sets to come before fire and lava, day/night sounds play when leaves around and above ground
- 1.5 - Added 'flame_sound' and fire redo check, code tidy
- 1.5 - Added 'flame_sound' and fire redo check, code tidy and tweak, added ephemeral flag for background sounds.

Code license: MIT
3 changes: 2 additions & 1 deletion api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ambience.add_set(set_name, def)
'feet_node' nameof node at player foot level

This will let you add a set or sounds with the frequency it's used and check
function for it to play.
function for it to play. If ephemeral is true then no handler will be used and sound will be played in background alongside other sounds.

e.g.

Expand All @@ -39,6 +39,7 @@ ambience.add_set("windy", {
sounds = {
{name = "wind", length = 9, gain = 0.3},
{name = "desertwind", length = 8, gain = 0.3},
{name = "crow", length = 3, ephemeral = true},
},
sound_check = function(def)
local number = totals["default:sand"] or 0 -- yep, can also be nil
Expand Down
2 changes: 1 addition & 1 deletion init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ minetest.register_globalstep(function(dtime)
handler = minetest.sound_play(ambience.name, {
to_player = player_name,
gain = ((ambience.gain or 0.3) + (MORE_GAIN or 0)) * SOUNDVOLUME
})
}, ambience.ephemeral)

-- only continue if sound is playing
if handler then
Expand Down
46 changes: 23 additions & 23 deletions soundsets.lua
Original file line number Diff line number Diff line change
Expand Up @@ -203,9 +203,9 @@ ambience.add_set("beach", {
frequency = 40,

sounds = {
{name = "seagull", length = 4.5},
{name = "seagull", length = 4.5, ephemeral = true},
{name = "beach", length = 13},
{name = "gull", length = 1},
{name = "gull", length = 1, ephemeral = true},
{name = "beach_2", length = 6}
},

Expand Down Expand Up @@ -252,7 +252,7 @@ ambience.add_set("desert", {
frequency = 20,

sounds = {
{name = "coyote", length = 2.5},
{name = "coyote", length = 2.5, ephemeral = true},
{name = "wind", length = 9},
{name = "desertwind", length = 8}
},
Expand All @@ -277,8 +277,8 @@ ambience.add_set("cave", {
frequency = 60,

sounds = {
{name = "drippingwater1", length = 1.5},
{name = "drippingwater2", length = 1.5}
{name = "drippingwater1", length = 1.5, ephemeral = true},
{name = "drippingwater2", length = 1.5, ephemeral = true}
},

sound_check = function(def)
Expand All @@ -297,10 +297,10 @@ ambience.add_set("jungle", {

sounds = {
{name = "jungle_day_1", length = 7},
{name = "deer", length = 7},
{name = "deer", length = 7, ephemeral = true},
{name = "canadianloon2", length = 14},
{name = "bird1", length = 11},
{name = "peacock", length = 2}
{name = "peacock", length = 2, ephemeral = true}
},

nodes = {"default:jungletree"},
Expand All @@ -322,10 +322,10 @@ ambience.add_set("jungle_night", {
frequency = 200,

sounds = {
{name = "jungle_night_1", length = 4},
{name = "jungle_night_2", length = 4},
{name = "deer", length = 7},
{name = "frog", length = 1}
{name = "jungle_night_1", length = 4, ephemeral = true},
{name = "jungle_night_2", length = 4, ephemeral = true},
{name = "deer", length = 7, ephemeral = true},
{name = "frog", length = 1, ephemeral = true}
},

sound_check = function(def)
Expand All @@ -346,14 +346,14 @@ ambience.add_set("day", {
frequency = 40,

sounds = {
{name = "cardinal", length = 3},
{name = "craw", length = 3},
{name = "bluejay", length = 6},
{name = "robin", length = 4},
{name = "cardinal", length = 3, ephemeral = true},
{name = "craw", length = 3, ephemeral = true},
{name = "bluejay", length = 6, ephemeral = true},
{name = "robin", length = 4, ephemeral = true},
{name = "bird1", length = 11},
{name = "bird2", length = 6},
{name = "crestedlark", length = 6},
{name = "peacock", length = 2},
{name = "bird2", length = 6, ephemeral = true},
{name = "crestedlark", length = 6, ephemeral = true},
{name = "peacock", length = 2, ephemeral = true},
{name = "wind", length = 9}
},

Expand Down Expand Up @@ -382,11 +382,11 @@ ambience.add_set("night", {
frequency = 40,

sounds = {
{name = "hornedowl", length = 2},
{name = "wolves", length = 4, gain = 0.4},
{name = "cricket", length = 6},
{name = "deer", length = 7},
{name = "frog", length = 1}
{name = "hornedowl", length = 2, ephemeral = true},
{name = "wolves", length = 4, gain = 0.4, ephemeral = true},
{name = "cricket", length = 6, ephemeral = true},
{name = "deer", length = 7, ephemeral = true},
{name = "frog", length = 1, ephemeral = true}
},

sound_check = function(def)
Expand Down

0 comments on commit d5ff07a

Please sign in to comment.