Many thanks to all that responded to my request for help.
This is really a worldwide community!
Each one of the responses received so far have taught me something interesting, has given me a better insight into Etoys.
The original problem is however still unsolved.
I shared a project:
http://squeakland.org/showcase/project.jsp?id=7829
which is a translation of another project, used in the Virgin Islands pilot project.
You may see one of the suggestions for improvements was to correct a problem:
If the user changes pages too fast, the sound in the new page starts, whether or not the sound on the previous page has ended.
We hear both, one on top of the other.
Karl mentions the problem is the sound to be stopped cannot be easily identified.
My problem would be resolved if I could stop all sounds, then I would have silence to start the sound for the new page.
The other answers bring very interesting possibilities which I was not aware of but, again, I don't seem to be able to apply to the problem in front of me.
Thanks again,
Carlos Rabassa Montevideo, Uruguay
On Jan 5, 2010, at 5:02 PM, Karl Ramberg wrote:
On 2010-01-05 18:33, Carlos Rabassa wrote:
This is my request:
http://docs.google.com/View?id=dg7q79cx_668g4d6bqg7
Any help will be appreciated.
Carlos Rabassa Montevideo, Uruguay
Hi there is a bug in the system. SoundService/BaseSoundSystem creates its unique instances without leaving a reference as far as I can tell. When we tell the sound to stop we don't know which sound to stop...
Here is a proposed fix to that:
Player>>beep: anObject "Play given sound or at least beep." | sound | anObject isString ifTrue: [sound _ SoundService default soundNamed: anObject. SoundPlayer playSound: sound. self costume setProperty: #playingSound toValue: sound. ] ifFalse: [SoundPlayer resumePlaying: anObject quickStart: true. self costume setProperty: #playingSound toValue: anObject]
Karl