Skip to content

Instantly share code, notes, and snippets.

@skratchdot
Last active April 13, 2021 23:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skratchdot/6f98d30ae8d7a3de01feb475c4b6df93 to your computer and use it in GitHub Desktop.
Save skratchdot/6f98d30ae8d7a3de01feb475c4b6df93 to your computer and use it in GitHub Desktop.
web-audio-api pr: standardizing h3/h4/h4 interface and dictionary markup
#!/bin/bash
interfaces="AnalyserNode AudioBuffer AudioBufferSourceNode AudioContext AudioDestinationNode AudioListener AudioNode AudioParam AudioParamMap AudioProcessingEvent AudioScheduledSourceNode AudioWorklet AudioWorkletGlobalScope AudioWorkletNode AudioWorkletProcessor BaseAudioContext BiquadFilterNode ChannelMergerNode ChannelSplitterNode ConstantSourceNode ConvolverNode DelayNode DynamicsCompressorNode GainNode IIRFilterNode MediaElementAudioSourceNode MediaStreamAudioDestinationNode MediaStreamAudioSourceNode MediaStreamTrackAudioSourceNode OfflineAudioCompletionEvent OfflineAudioContext OscillatorNode PannerNode PeriodicWave ScriptProcessorNode StereoPannerNode WaveShaperNode"
dictionaries="AnalyserOptions AudioBufferOptions AudioBufferSourceOptions AudioContextOptions AudioNodeOptions AudioParamDescriptor AudioProcessingEventInit AudioTimestamp AudioWorkletNodeOptions BiquadFilterOptions ChannelMergerOptions ChannelSplitterOptions ConstantSourceOptions ConvolverOptions DelayOptions DynamicsCompressorOptions GainOptions IIRFilterOptions MediaElementAudioSourceOptions MediaStreamAudioSourceOptions MediaStreamTrackAudioSourceOptions OfflineAudioCompletionEventInit OfflineAudioContextOptions OscillatorOptions PannerOptions PeriodicWaveConstraints PeriodicWaveOptions StereoPannerOptions WaveShaperOptions"
for i in $interfaces; do
lcase="$(tr [A-Z] [a-z] <<< "$i")"
gsed -i -E "s/^<h3 .*[=\"]$i[\" \>].*$/<h3 interface lt=\"$lcase\" id=\"$i\">/" index.bs
gsed -i -E "s/^<h4 .*[=\"]$i[\" \>].*$/<h4 interface lt=\"$lcase\" id=\"$i\">/" index.bs
done
for i in $dictionaries; do
lcase="$(tr [A-Z] [a-z] <<< "$i")"
gsed -i -E "s/^<h4 .*[=\"]$i[\" \>].*$/<h4 dictionary lt=\"$lcase\" id=\"$i\">/" index.bs
gsed -i -E "s/^<h5 .*[=\"]$i[\" \>].*$/<h5 dictionary lt=\"$lcase\" id=\"$i\">/" index.bs
done

Interfaces

  1. AnalyserNode:
  2. AudioBuffer:
  3. AudioBufferSourceNode:
  4. AudioContext:
  5. AudioDestinationNode:
  6. AudioListener:
  7. AudioNode:
  8. AudioParam:
  9. AudioParamMap:
  10. AudioProcessingEvent:
  11. AudioScheduledSourceNode:
  12. AudioWorklet:
  13. AudioWorkletGlobalScope:
  14. AudioWorkletNode:
  15. AudioWorkletProcessor:
  16. BaseAudioContext:
  17. BiquadFilterNode:
  18. ChannelMergerNode:
  19. ChannelSplitterNode:
  20. ConstantSourceNode:
  21. ConvolverNode:
  22. DelayNode:
  23. DynamicsCompressorNode:
  24. GainNode:
  25. IIRFilterNode:
  26. MediaElementAudioSourceNode:
  27. MediaStreamAudioDestinationNode:
  28. MediaStreamAudioSourceNode:
  29. MediaStreamTrackAudioSourceNode:
  30. OfflineAudioCompletionEvent:
  31. OfflineAudioContext:
  32. OscillatorNode:
  33. PannerNode:
  34. PeriodicWave:
  35. ScriptProcessorNode:
  36. StereoPannerNode:
  37. WaveShaperNode:

Dictionaries

  1. AnalyserOptions:
  2. AudioBufferOptions:
  3. AudioBufferSourceOptions:
  4. AudioContextOptions:
  5. AudioNodeOptions:
  6. AudioParamDescriptor:
  7. AudioProcessingEventInit:
  8. AudioTimestamp:
  9. AudioWorkletNodeOptions:
  10. BiquadFilterOptions:
  11. ChannelMergerOptions:
  12. ChannelSplitterOptions:
  13. ConstantSourceOptions:
  14. ConvolverOptions:
  15. DelayOptions:
  16. DynamicsCompressorOptions:
  17. GainOptions:
  18. IIRFilterOptions:
  19. MediaElementAudioSourceOptions:
  20. MediaStreamAudioSourceOptions:
  21. MediaStreamTrackAudioSourceOptions:
  22. OfflineAudioCompletionEventInit:
  23. OfflineAudioContextOptions:
  24. OscillatorOptions:
  25. PannerOptions:
  26. PeriodicWaveConstraints:
  27. PeriodicWaveOptions:
  28. StereoPannerOptions:
  29. WaveShaperOptions:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment