You're really overcomplicating this! It's very simple: use Autoplay for everything, and an action to set the parameters of the last autoplayed channel to control them.
[quote="konjak":2dmvivwn]And mind you, the current use for it I would have would be for a character who has all the sounds played AT the character, with a channel associated with the character. That would affect multiple samples playing at once, no?[/quote:2dmvivwn]
No: you can only play one sound on one channel at a time. To achieve mixing (playing multiple sounds at once), you must play two simultaneous sounds on different channels. This is what autoplay
is for - it picks a free channel and uses that to play the sound, and that channel number is what the 'get last channel autoplayed on' expression returns, so you can control every sound individually.
[quote:2dmvivwn](can you stop specific samples now?).[/quote:2dmvivwn]
Yes, you have always been able to in XAudio2, just pass the channel number to stop.
[quote:2dmvivwn]If I don't associate the character with a channel, does Construct make a new channel for every consecutive sample being played, for any object?[/quote:2dmvivwn]
As I said, autoplaying will assign a sound to a free channel automatically.
[quote:2dmvivwn]Also, needing a new event to make the settings of a sample seems annoying. Maybe you play two samples in the same event, how does getting the last channel used work then?[/quote:2dmvivwn]
I don't see a problem here. You'd just do something like
-> Autoplay "sound1.wav"
-> Set channel <last channel autoplayed> volume to 90
-> Autoplay "sound2.wav"
-> Set channel <last channel autoplayed> volume to 80
Voila, two independent volume sounds, all in one event.
I think you're trying to control the specific channel on which every sound plays. That is unecessary. You should be taking advantage of autoplay.