From 5390fdf4e0f804073be1292bdbc33259c91d8b76 Mon Sep 17 00:00:00 2001 From: David Reid Date: Sun, 5 Jul 2020 19:52:15 +1000 Subject: [PATCH] Add website to the main repository. --- website/.webplate/config.webplate | 5 + website/.webplate/miniaudio-footer.html | 15 +++ website/.webplate/miniaudio-header.html | 41 ++++++ website/CNAME | 1 + website/css/main.css | 108 +++++++++++++++ website/docs/examples/simple_playback.html | 0 website/docs/index.html | 3 + website/docs/ma_context_init.html | 0 website/docs/ma_device_init.html | 0 website/img/Discord-Logo-White.svg | 1 + website/img/favicon.png | Bin 0 -> 832 bytes website/img/github_white.png | Bin 0 -> 1571 bytes website/img/logo1_large.png | Bin 0 -> 1198 bytes website/img/logo1_large_white.png | Bin 0 -> 1193 bytes website/img/miniaudio_wide.png | Bin 0 -> 8642 bytes website/img/twitter_white.png | Bin 0 -> 2292 bytes website/index.html | 150 +++++++++++++++++++++ 17 files changed, 324 insertions(+) create mode 100644 website/.webplate/config.webplate create mode 100644 website/.webplate/miniaudio-footer.html create mode 100644 website/.webplate/miniaudio-header.html create mode 100644 website/CNAME create mode 100644 website/css/main.css create mode 100644 website/docs/examples/simple_playback.html create mode 100644 website/docs/index.html create mode 100644 website/docs/ma_context_init.html create mode 100644 website/docs/ma_device_init.html create mode 100644 website/img/Discord-Logo-White.svg create mode 100644 website/img/favicon.png create mode 100644 website/img/github_white.png create mode 100644 website/img/logo1_large.png create mode 100644 website/img/logo1_large_white.png create mode 100644 website/img/miniaudio_wide.png create mode 100644 website/img/twitter_white.png create mode 100644 website/index.html diff --git a/website/.webplate/config.webplate b/website/.webplate/config.webplate new file mode 100644 index 00000000..a52d6bbd --- /dev/null +++ b/website/.webplate/config.webplate @@ -0,0 +1,5 @@ +author = "David Reid" +google-analytics-tracking-id = "UA-81135233-2" + +miniaudio-header = "{{ include \".webplate/miniaudio-header.html\" }}" +miniaudio-footer = "{{ include \".webplate/miniaudio-footer.html\" }}" \ No newline at end of file diff --git a/website/.webplate/miniaudio-footer.html b/website/.webplate/miniaudio-footer.html new file mode 100644 index 00000000..78e9198d --- /dev/null +++ b/website/.webplate/miniaudio-footer.html @@ -0,0 +1,15 @@ + + + + + + + +
+ +
+ Copyright © {{ year }} David Reid
+ Developed by David Reid - davidreidsoftware@gmail.com +
+ + diff --git a/website/.webplate/miniaudio-header.html b/website/.webplate/miniaudio-header.html new file mode 100644 index 00000000..7bf2da39 --- /dev/null +++ b/website/.webplate/miniaudio-header.html @@ -0,0 +1,41 @@ + + + + miniaudio - A single file audio playback and capture library. + + + + + +{{ google-analytics }} + + + + + +
+
+ + + + + + + + +
+
\ No newline at end of file diff --git a/website/CNAME b/website/CNAME new file mode 100644 index 00000000..2bb96a05 --- /dev/null +++ b/website/CNAME @@ -0,0 +1 @@ +miniaud.io \ No newline at end of file diff --git a/website/css/main.css b/website/css/main.css new file mode 100644 index 00000000..5619ef57 --- /dev/null +++ b/website/css/main.css @@ -0,0 +1,108 @@ +body{ + font-family:sans-serif; + font-size:11pt; + line-height:18pt; + background-color:#003800; +} + +a { + text-decoration:none; + color:#28f; +} +a:hover { + text-decoration:underline; + color:#26d; +} + +.a-download { + text-decoration:none; + color:#ddd; + border:solid 1px #000; + border-radius:4px; + padding:16px 32px; + background-color:#003800; +} +.a-download:hover { + background-color:#003000; + text-decoration:none; + color:#ddd; +} + +.a-sublink { + font-size:11pt; +} + +#preview { + font-family:monospace; + font-size:10pt; + text-align:left; +} + +.footer-links { + margin: 0px; + margin-bottom: 10px; + padding: 0px; +} +.footer-links li { + display: inline; + padding: 0 2px; +} +.footer-links li:first-child { + padding-left: 0; +} + +.feature-header { + color:#666; + font-size: 24pt; + font-weight:bold; +} +.feature-header2 { + color:#444; + font-size: 1.5em; + font-weight:bold; + /*margin-bottom:1em;*/ + line-height: 1em; + text-align:left; +} + +.header-link-table { +} +.header-link-table td { + padding:0.5em 0; + padding-right:2em; + vertical-align:center; +} +.header-link-table a { + color:#e0d7cf; + text-decoration:none; +} +.header-link-table a:hover { + color:#ffffff; +} + +.footer-link { + color:#e0d7cf; + text-decoration:none; +} +.footer-link:hover { + color:#ffffff; +} + + + +.mobile-main-link { + text-align:left; + background-color:#e0d7cf; + color:#036; + border-bottom:solid 1px #333; + padding-left:16px; +} +.mobile-main-link a { + display:block; + padding-top:8px; + padding-bottom:8px; + color:#036; + width:100%; + height:100%; + max-width:100%; +} \ No newline at end of file diff --git a/website/docs/examples/simple_playback.html b/website/docs/examples/simple_playback.html new file mode 100644 index 00000000..e69de29b diff --git a/website/docs/index.html b/website/docs/index.html new file mode 100644 index 00000000..d2dd7624 --- /dev/null +++ b/website/docs/index.html @@ -0,0 +1,3 @@ +{{ miniaudio-header }} + +{{ miniaudio-footer }} \ No newline at end of file diff --git a/website/docs/ma_context_init.html b/website/docs/ma_context_init.html new file mode 100644 index 00000000..e69de29b diff --git a/website/docs/ma_device_init.html b/website/docs/ma_device_init.html new file mode 100644 index 00000000..e69de29b diff --git a/website/img/Discord-Logo-White.svg b/website/img/Discord-Logo-White.svg new file mode 100644 index 00000000..4613aa9a --- /dev/null +++ b/website/img/Discord-Logo-White.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/img/favicon.png b/website/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..d36f6fbd43bed0f5d3b351d3267010977fa667df GIT binary patch literal 832 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 P3m^thS3j3^P6G$rO*z! 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 literal 0 HcmV?d00001 diff --git a/website/index.html b/website/index.html new file mode 100644 index 00000000..21fa63de --- /dev/null +++ b/website/index.html @@ -0,0 +1,150 @@ +{{ miniaudio-header }} + + + +
+
+
A single file audio playback and capture library.
+ +
+ +
+
+
+ miniaudio is a single file audio playback and capture library written in C. Written from scratch, it has no + external dependencies with the exception of the C standard library and necessary platform-specific backends. +
+ + + + + + + +
+
It Just Works
+
+ Just add to your source tree and go. There's no need to install any dependencies or development + packages, nor are there any build systems to waste time on. +
+
+
Cross Platform
+
+ miniaudio works on all the major desktop and mobile platforms, including Windows, macOS, + Linux, BSD, iOS, Android and Web (via Emscripten). +
+
+
Simple
+
+ miniaudio has a simple, yet flexible low-level API that gets out of your way. Just initialize a + device and start sending audio data via a callback. +
+
+ +
+ And best of all, it's free and open-source! +
+
+ You can find miniaudio on GitHub +
+
+ +
+
Features
+ + + + + +
+
    +
  • Supports playback, capture, full-duplex and loopback (WASAPI only).
  • +
  • Device enumeration for connecting to specific devices, not just defaults.
  • +
  • Connect to multiple devices at once.
  • +
  • Shared and exclusive mode on supported backends.
  • +
  • Backend-specific configuration options.
  • +
  • Device capability querying.
  • +
  • Automatic data conversion between your application and the internal device.
  • +
  • Sample format conversion with optional dithering.
  • +
  • Channel conversion and channel mapping.
  • +
  • Resampling with support for multiple algorithms. +
      +
    • Simple linear resampling with anti-aliasing.
    • +
    • Optional Speex resampling (must opt-in).
    • +
    +
  • +
  • Filters. +
      +
    • Biquad
    • +
    • Low-pass (first, second and high order)
    • +
    • High-pass (first, second and high order)
    • +
    • Second order band-pass
    • +
    • Second order notch
    • +
    • Second order peaking
    • +
    • Second order low shelf
    • +
    • Second order high shelf
    • +
    +
  • +
  • Waveform generation. +
      +
    • Sine
    • +
    • Square
    • +
    • Triangle
    • +
    • Sawtooth
    • +
    +
  • +
  • Noise generation. +
      +
    • White
    • +
    • Pink
    • +
    • Brownian
    • +
    +
  • +
  • Decoding (requires external single-file libraries). +
      +
    • WAV via dr_wav
    • +
    • FLAC via dr_flac
    • +
    • MP3 via dr_mp3
    • +
    • Vorbis via stb_vorbis
    • +
    +
  • +
  • Encoding (requires external single-file libraries). +
      +
    • WAV via dr_wav
    • +
    +
  • +
  • Lock free ring buffer (single producer, single consumer).
  • +
+
+
    +
  • Your choice of either public domain or MIT No Attribution.
  • +
  • Entirely contained within a single file for easy integration into your source tree.
  • +
  • No external dependencies except for the C standard library and backend libraries.
  • +
  • Written in C and compilable as C++, enabling miniaudio to work on almost all compilers.
  • +
  • Supports all major desktop and mobile platforms, with multiple backends for maximum compatibility. +
      +
    • WASAPI (Windows Vista+)
    • +
    • DirectSound (Windows XP+)
    • +
    • WinMM (Windows)
    • +
    • Core Audio (macOS, iOS)
    • +
    • ALSA (Linux)
    • +
    • PulseAudio (Cross platform, disabled on Windows, BSD and Android)
    • +
    • JACK (Cross platform, disabled on BSD and Android)
    • +
    • sndio (OpenBSD)
    • +
    • audio(4) (NetBSD, OpenBSD)
    • +
    • OSS (FreeBSD)
    • +
    • AAudio (Android 8+)
    • +
    • OpenSL|ES (Android API level 16+)
    • +
    • Web Audio (Web, via Emscripten)
    • +
    • Null (Cross platform, not used on Web)
    • +
    +
  • +
+
+
+
+{{ miniaudio-footer }}