projects
/
fishladder.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
small animation to ball dying
[fishladder.git]
/
vg
/
vg_audio.h
diff --git
a/vg/vg_audio.h
b/vg/vg_audio.h
index e375a5bf087159f74bd0a4dabdc0b5275a965326..0c9a666691e64f62f4926041d41f4fc0679e33cf 100644
(file)
--- a/
vg/vg_audio.h
+++ b/
vg/vg_audio.h
@@
-28,6
+28,8
@@
struct sfx_system
// Source buffer start
float *source, *replacement;
// Source buffer start
float *source, *replacement;
+ u32 clip_start, clip_end, buffer_length;
+
// Modifiers
sfx_vol_control *vol_src;
float vol;
// Modifiers
sfx_vol_control *vol_src;
float vol;
@@
-639,6
+641,11
@@
static void sfx_set_playrnd( sfx_set *source, sfx_system *sys, int min_id, int m
sys->end = source->segments[ pick*2 + 1 ];
sys->ch = source->ch;
sys->end = source->segments[ pick*2 + 1 ];
sys->ch = source->ch;
+ // Diagnostics
+ sys->clip_start = sys->cur;
+ sys->clip_end = sys->end;
+ sys->buffer_length = source->segments[ (source->numsegments-1)*2 + 1 ];
+
sfx_save( sys );
}
}
sfx_save( sys );
}
}
@@
-647,13
+654,21
@@
static void sfx_system_fadeout( sfx_system *sys, u32 length_samples )
{
if( sfx_begin_edit( sys ) )
{
{
if( sfx_begin_edit( sys ) )
{
- sys->fadeout_current = length_samples;
- sys->fadeout = length_samples;
+ if( sys->end )
+ {
+ sys->fadeout_current = length_samples;
+ sys->fadeout = length_samples;
+
+ if( sys->thread_clone )
+ sys->cur = sys->thread_clone->cur;
- if( sys->thread_clone )
- sys->cur = sys->thread_clone->cur;
-
- sfx_save( sys );
+ sfx_save( sys );
+ }
+ else
+ {
+ // Sound was not initialized
+ MUTEX_UNLOCK( sfx_mux_t01 );
+ }
}
}
}
}