Released our AUDIO pack to play sounds in Coda

We have finished the Beta-Test phase of our Audio Pack

This is our first ‘useful’ “PLUGIN” type pack, which a pack that runs on the client-side, in you browser, inside your Coda document, where it can play sounds and display graphics.


OMG Max this is so cool !
This is something I was waiting for, with so much use case !

In a very short time : finalize my workout apps, allowing coutdown bip between exercices !

I’ll have a look quickly on this pack !

Do not hesitate to contact me if you encounter any problems.
Its still early days - so there may be bugs or use-cases we have not supported yet.

Bear in mind that

  • Sound(URL) displays the control but does not play the sound until you click play.
  • Play(URL) will attempt to play the URL every time it changes (but sometimes you have to nudge it by hitting the play symbol)

So far we have not figured out how to make a Button formula pack to do this, because it needs to display the audio controls on the screen in order to play the sound (its a HTML5 thing).


Doesn’t autoplay for me.

I tried the same without the pack: just force embedding audio files. But I never got the autoplay to work, or it was very flaky. I think, the embed has configuration properties that forbid the browser to autoplay anything.

UPD: It only autoplays after you play a loaded sound manually at least once.

yep, you must hit play first,
still working on that wrinkle

we have a solution in the next release.

as well as a frequency generator and envelope tool etc.
so makers can generate sounds from formulas and button events.

p5 is amazing and has almost the full library.
we are just learning what is possible, scratching the surface.


1 Like

@Xyzor_Max Have you considered building each plugin as a full page embed? I have had good success triggering videos (that contain audio tracks) this way. Wondering if there’s a more elegant pathway to play reliability.

yes, we tried that - but for some strange reason the full-page-embed does not allow a formula for the URL, only a literal constant - which limits its usefulness. we need to generate a different webapp URL for each invocation.

in your use-case, where you have a limited number of tracks to use, you presumably set up one full-page-embed for each track, then programmatically open the desired page?

our use-case means we need to open any arbitrary sound-file URL and be able to play it.

also; when a pack returns an Embed() result object, the schema does not allow us to set the size of the embed - otherwise we could ‘simulate’ a full-page-embed by setting the size to the whole canvas.

instead, the maker must adjust the size of the Embed() iframe manually on the page.

Yes. I would like to fully automate that, but the library of sounds is essentially one sound per page.

I love the idea of this pack.

:cry: I can’t get the doc to work for me. When I click the buttons on the embedded doc, nothing happens. When I click the “open in Coda” button, the doc is in View Only mode and the buttons are disabled.

You also have a typo in the Play() function description: immidiately should be immediately



thanks for spotting the typo - will fix.

looks like i have some permissioning issues with the docs - will fix those in the morning


@Kuovonne can you try again please.
Note you must hit the little play button first before the other buttons will work.
Its a bug we are fixing.

The sample doc is still published in “View only” mode which means I still cannot push the buttons in the published version of the doc.

If I copy the doc, I can push the buttons in my copy of the doc and the sounds play.

1 Like

This will be very helpful!

One question, though: In the example template, if you pus one of the buttons twice, the sound only plays the first time. Any suggestions for how to fix this?

@Xyzor_Max this is amazing. I set up a table with a ‘file’ column and uploaded my sound there. Then I created a URL column = _Deref_Object(_Merge(thisRow.File), "publicUrl") which provides the url of the uploaded sound.

Then creating a text column =play(URL) generates a play control.

It will be awesome when a button can fire this! Please let us know when its working!