Skip to content

Commit

Permalink
Ported source.php to plain html. Port hostapps to clientside-rendered…
Browse files Browse the repository at this point in the history
… javascript. Add titles for both, encoded with zopflipng. Minor cleanup
  • Loading branch information
tom7 authored and sophiapoirier committed Jul 12, 2020
1 parent ef6e042 commit b4b55c1
Show file tree
Hide file tree
Showing 10 changed files with 379 additions and 639 deletions.
2 changes: 1 addition & 1 deletion site/audiounits.html
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ <h4>MIDI</h4>
All of the MIDI features in our plugins are implemented in the AU versions.
<a href="#hosts">Hosts</a> that support sending MIDI to effects include Rax, Logic,
Metro, Digital Performer, Ableton Live, Spark, Peak, Numerology, Plogue Bidule, and
SonicBirth (<a href="hostapps.html?au=1&amp;midi=1">see details</a>).
SonicBirth (<a href="hostapps.html#au,midi">see details</a>).


<h4>Settings</h4>
Expand Down
2 changes: 1 addition & 1 deletion site/docs/geometer.html
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ <h1 class="title">Geometer</h1>
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Consider making a donation at:
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="http:https://destroyfx.org/donate.php">http:https://destroyfx.org/donate.php</a>
<a href="../donate.html">http:https://destroyfx.org/donate.php</a>
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(Go there for the cartoon, at least!)
</p>
Expand Down
14 changes: 7 additions & 7 deletions site/faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ <h3>Turntablist won't show up in my host application.</h3>
<h3>Who are you?</h3>

<p>We are Sophia Poirier and Tom Murphy 7. We are buddies from back since grade school. We like
to make music and, sometime around December 2000, making music software became a part of that
process. You can contact us using <a href="./#contact">this email form</a>.</p>
to make music and, sometime around December 1999, making music software became a part of that
process. You can contact us using <a href="index.html#contact">this email form</a>.</p>

<p>For more information about Tom, try <a href="http:https://tom7.org/">visiting</a>
<a href="http:https://spacebar.org/">one</a> <a href="http:https://carnage-melon.tom7.org/">of</a>
Expand All @@ -111,7 +111,7 @@ <h3>Who are you?</h3>
<div class="infobox q" id="needlessquestion">
<h3>How do I do <i>X</i>? Or can your software do <i>X</i>?</h3>

Please read the <a href="docs.php">documentation</a> included with the plugin before you write to us.
Please read the <a href="docs.html">documentation</a> included with the plugin before you write to us.
Most of the questions that we get are answered in the documentation.
</div>

Expand Down Expand Up @@ -168,7 +168,7 @@ <h3>How do I install your plugins?</h3>
<h4>Audio Units:</h4>

<p>To use Audio Unit plugins, you will need software (which we call the "host application")
that can load them. We try to maintain a <a href="hostapps.php">list of host applications</a>.</p>
that can load them. We try to maintain a <a href="hostapps.html">list of host applications</a>.</p>

<p>Audio Units for Mac OS X should be placed in: <code>Library/Audio/Plug-Ins/Components/</code>
<br />That can either be the user <code>~/Library</code> folder (then the plugin will be
Expand All @@ -193,7 +193,7 @@ <h4>Audio Units:</h4>
<h4>VST plugins:</h4>

<p>To use VST plugins, you will need software (which we call the "host application") that can
load them. We try to maintain a <a href="hostapps.php">list of host applications</a>.</p>
load them. We try to maintain a <a href="hostapps.html">list of host applications</a>.</p>

<p>Most of the time, you install VST plugins by placing the plugin files into a folder called
VstPlugIns. The VstPlugIns folder usually needs to be located in the same folder as the host
Expand Down Expand Up @@ -226,7 +226,7 @@ <h3>Your plugins won't show up. What can I do?</h3>

<p>Also, make sure that the host application that you are using supports the particular
plugin(s) that you are trying to use. You can find details about many host applications and
the sorts of plugins that they support in our <a href="hostapps.php">list of host applications</a>.
the sorts of plugins that they support in our <a href="hostapps.html">list of host applications</a>.
And also make sure that your system supports the plugin(s) by checking our <a href="sysreq.html">system
requirements</a>.</p>

Expand Down Expand Up @@ -365,7 +365,7 @@ <h3>Can we put your software on a CD/DVD that we will include with our magazine?
<li>make sure that you go to our web page at the last minute and get the most recent versions of our stuff</li>
<li>follow the redistribution terms of the software's license</li>
<li>if possible, include some piece about us in your magazine (review, news, interview)</li>
<li><a href="./#contact">contact us</a> first (we will probably say &quot;yes&quot; if you agree to these
<li><a href="index.html#contact">contact us</a> first (we will probably say &quot;yes&quot; if you agree to these
stipulations, but please still contact us first)</li>
</ul>
</div>
Expand Down
Binary file added site/hostapps-title.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
284 changes: 284 additions & 0 deletions site/hostapps.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,284 @@
<!doctype html>
<head>
<title>Destroy FX : Music plugin host softwares</title>
<link rel="stylesheet" type="text/css" href="dfx.css" />
<style>
tr.odd {
background-color: #F0FFF0;
}
tr.even {
background-color: #FFFFF0;
}
tr.header {
font-weight: bold;
}

td.colh {
cursor: pointer;
text-decoration: underline;
color: #3A3;
}

td.colh.enabled {
color: #000;
background-color: #FF0;
}

a {
color: #77F;
}

div.above {
font-size: 16px;
font-weight: bold;
margin: 4px auto;
width: 300px;
text-align: center;
color: #AAA;
}

div.reset {
color: #A33;
cursor: pointer;
text-decoration: underline;
}

body {
background: #000;
}

table {
background-color: white;
border-width: 2px;
border-style: solid;
border-color: #424242;
border-collapse: collapse;
margin-left: auto;
margin-right: auto;
}
td, tr {
border-width: 1px;
border-color: #919599;
border-style: solid;
padding: 3px;
}
td {
text-align: center;
}

div.legend {
color: #AAA;
text-align: center;
width: 600px;
margin: 6px auto;
}

</style>
</head>

<!-- old -->

<style>
</style>

<script>
const YES = '&bull;';
const NO = '&nbsp;';
const FREE = '&loz;';
const TEMPO = '*';
const FORTHCOMING = "&#9734;";
const UNSURE = '?';

const hosts = [
{'name': 'Logic', 'url': 'http:https://www.apple.com/logic/', 'au': '5.4', 'vst': null, 'tempo': '4.7', 'midi': '5.0', 'inst': '4.2', 'osx': '5.3', 'win': null},
{'name': 'Digital Performer', 'url': 'http:https://www.motu.com/', 'au': '4.1', 'vst': '8.0', 'tempo': YES, 'midi': '4.5', 'inst': YES, 'osx': '4.0', 'win': '8.?'},
{'name': 'Ableton Live', 'url': 'http:https://www.ableton.com/', 'au': '4.0', 'vst': YES, 'tempo': '2.0', 'midi': '4.0', 'inst': '4.0', 'osx': YES, 'win': YES},
{'name': 'Max/MSP', 'url': 'http:https://www.cycling74.com/', 'au': null, 'vst': YES, 'tempo': null, 'midi': YES, 'inst': YES, 'osx': '4.2', 'win': '4.3'},
{'name': 'Plogue Bidule', 'url': 'http:https://www.plogue.com/', 'au': YES, 'vst': YES, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': YES, 'win': YES},
{'name': 'Wave Editor', 'url': 'http:https://audiofile-engineering.com/', 'au': YES, 'vst': '1.4', 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'Peak', 'url': 'http:https://www.bias-inc.com/', 'au': '4.0', 'vst': '2.5', 'tempo': '5.0', 'midi': '5.0', 'inst': '5.0', 'osx': '3.0', 'win': null},
{'name': 'Deck', 'url': 'http:https://www.bias-inc.com/', 'au': null, 'vst': '3.0', 'tempo': null, 'midi': null, 'inst': null, 'osx': '3.5', 'win': null},
{'name': 'Cubase', 'url': 'http:https://www.steinberg.net/', 'au': null, 'vst': YES, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': YES, 'win': YES},
{'name': 'Nuendo', 'url': 'http:https://www.steinberg.net/', 'au': null, 'vst': YES, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': '2.0', 'win': YES},
{'name': 'WaveLab', 'url': 'http:https://www.steinberg.net/', 'au': null, 'vst': YES, 'tempo': null, 'midi': null, 'inst': null, 'osx': '7.0', 'win': YES},
{'name': 'Final Cut Pro', 'url': 'http:https://www.apple.com/finalcutpro/', 'au': '4.0', 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': '3.0', 'win': null},
{'name': 'Final Cut Express', 'url': 'http:https://www.apple.com/finalcutexpress/', 'au': '2.0', 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'Soundtrack', 'url': 'http:https://www.apple.com/soundtrack/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'GarageBand', 'url': 'http:https://www.apple.com/ilife/garageband/', 'au': YES, 'vst': null, 'tempo': YES, 'midi': null, 'inst': YES, 'osx': YES, 'win': null},
{'name': 'Ardour', 'url': 'http:https://ardour.org/', 'au': '2.2', 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': '2.2', 'win': null, 'free': YES},
{'name': 'Melodyne', 'url': 'http:https://www.celemony.com/', 'au': '2.0', 'vst': '2.0', 'tempo': null, 'midi': null, 'inst': YES, 'osx': YES, 'win': YES},
{'name': 'Metro', 'url': 'http:https://www.sagantech.biz/', 'au': '5.8', 'vst': '4.0', 'tempo': YES, 'midi': YES, 'inst': '6.0', 'osx': '5.8', 'win': null},
{'name': 'WaveBurner', 'url': 'http:https://www.apple.com/logicstudio/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'Studio One', 'url': 'http:https://www.presonus.com/', 'au': YES, 'vst': YES, 'tempo': YES, 'midi': null, 'inst': YES, 'osx': YES, 'win': YES},
{'name': 'Impromptu', 'url': 'http:https://impromptu.moso.com.au/', 'au': YES, 'vst': null, 'tempo': UNSURE, 'midi': YES, 'inst': YES, 'osx': YES, 'win': null, 'free': YES},
{'name': 'Sound Studio', 'url': 'http:https://felttip.com/ss/', 'au': '3.0', 'vst': null, 'tempo': UNSURE, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'Intuem', 'url': 'http:https://www.intuem.com/', 'au': '2.0', 'vst': null, 'tempo': null, 'midi': null, 'inst': YES, 'osx': YES, 'win': null},
{'name': 'SONASPHERE', 'url': 'http:https://www.sonasphere.com/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null, 'free': YES},
{'name': 'Numerology', 'url': 'http:https://www.five12.com/', 'au': '1.2', 'vst': null, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': YES, 'win': null},
{'name': 'DSP-Quattro', 'url': 'http:https://www.dsp-quattro.com/', 'au': '1.2', 'vst': '3.1', 'tempo': null, 'midi': null, 'inst': YES, 'osx': YES, 'win': null},
{'name': 'Amadeus Pro', 'url': 'http:https://www.hairersoft.com/', 'au': YES, 'vst': YES, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'Amadeus II', 'url': 'http:https://www.hairersoft.com/', 'au': '3.7.2', 'vst': '3.2', 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'Audacity', 'url': 'http:https://audacity.sourceforge.net/', 'au': '1.3', 'vst': YES, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': YES, 'free': YES},
{'name': 'Toast', 'url': 'http:https://www.roxio.com/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'TwistedWave', 'url': 'http:https://twistedwave.com/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'soundBlade', 'url': 'http:https://www.sonicstudio.com/', 'au': YES, 'vst': YES, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'XO Wave', 'url': 'http:https://www.xowave.com/', 'au': YES, 'vst': null, 'tempo': UNSURE, 'midi': UNSURE, 'inst': null, 'osx': YES, 'win': null},
{'name': 'AU Lab', 'url': 'http:https://developer.apple.com/audio/', 'au': YES, 'vst': null, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': YES, 'win': null},
{'name': 'SonicBirth', 'url': 'http:https://sonicbirth.sourceforge.net/', 'au': YES, 'vst': null, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': YES, 'win': null, 'free': YES},
{'name': 'Sample Manager', 'url': 'http:https://audiofile-engineering.com/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'WireTap Studio', 'url': 'http:https://www.ambrosiasw.com/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'CPS', 'url': 'http:https://cps.bonneville.nl/', 'au': FORTHCOMING, 'vst': '1.3 (Windows)', 'tempo': null, 'midi': YES, 'inst': YES, 'osx': '1.4', 'win': YES, 'free': YES},
{'name': 'Critters', 'url': 'http:https://www.grain-brain.com/critters.html', 'au': '2.0', 'vst': null, 'tempo': YES, 'midi': null, 'inst': YES, 'osx': YES, 'win': null, 'free': YES},
{'name': 'djay', 'url': 'http:https://www.algoriddim.net/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null, 'free': YES},
{'name': 'Neutrino', 'url': 'http:https://machinecodex.com/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null},
{'name': 'AudioMulch', 'url': 'http:https://audiomulch.com/', 'au': '2.1', 'vst': YES, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': '2.0', 'win': YES},
{'name': 'Audiohive', 'url': 'http:https://openstudionetworks.com/', 'au': YES, 'vst': null, 'tempo': UNSURE, 'midi': UNSURE, 'inst': UNSURE, 'osx': YES, 'win': null},
{'name': 'Rax', 'url': 'http:https://audiofile-engineering.com/rax/', 'au': YES, 'vst': null, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': YES, 'win': null},
{'name': 'SynthTest', 'url': 'http:https://www.manyetas.com/creed/synthtest.html', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': YES, 'osx': YES, 'win': null, 'free': YES},
{'name': 'Audio Hijack Pro', 'url': 'http:https://www.rogueamoeba.com/audiohijack/', 'au': YES, 'vst': YES, 'tempo': null, 'midi': YES, 'inst': YES, 'osx': YES, 'win': null},
{'name': 'AudioXplorer', 'url': 'http:https://www.arizona-software.ch/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null, 'free': YES},
{'name': 'Ouroboros', 'url': 'http:https://illposed.com/', 'au': YES, 'vst': null, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null, 'free': YES},
{'name': 'Sound Forge', 'url': 'http:https://www.sonycreativesoftware.com/', 'au': null, 'vst': '8.0', 'tempo': UNSURE, 'midi': null, 'inst': null, 'osx': null, 'win': YES},
{'name': 'ACID Pro', 'url': 'http:https://www.sonycreativesoftware.com/', 'au': null, 'vst': YES, 'tempo': YES, 'midi': UNSURE, 'inst': '4.0', 'osx': null, 'win': YES},
{'name': 'Vegas', 'url': 'http:https://www.sonycreativesoftware.com/', 'au': null, 'vst': '6.0', 'tempo': UNSURE, 'midi': null, 'inst': null, 'osx': null, 'win': YES},
{'name': 'Reaper', 'url': 'http:https://reaper.fm/', 'au': YES, 'vst': YES, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': YES, 'win': YES},
{'name': 'BUZZ', 'url': 'http:https://www.buzzmachines.com/', 'au': null, 'vst': YES, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': null, 'win': YES, 'free': YES},
{'name': 'FL Studio', 'url': 'http:https://www.flstudio.com/', 'au': null, 'vst': '3.0', 'tempo': null, 'midi': YES, 'inst': YES, 'osx': null, 'win': YES},
{'name': 'Tracktion', 'url': 'http:https://www.rawmaterialsoftware.com/', 'au': null, 'vst': YES, 'tempo': YES, 'midi': YES, 'inst': YES, 'osx': '1.4', 'win': YES},
{'name': 'SynthEdit', 'url': 'http:https://www.synthedit.com/', 'au': null, 'vst': YES, 'tempo': null, 'midi': YES, 'inst': YES, 'osx': null, 'win': YES},
{'name': 'Orion', 'url': 'http:https://www.synapse-audio.com/', 'au': null, 'vst': YES, 'tempo': '2.7', 'midi': '2.7', 'inst': YES, 'osx': null, 'win': YES},
{'name': 'Spark', 'url': 'http:https://www.tcelectronic.com/', 'au': '2.8', 'vst': YES, 'tempo': '2.8', 'midi': '2.0', 'inst': '2.0', 'osx': '2.1', 'win': null},
{'name': 'Spark ME', 'url': 'http:https://www.tcelectronic.com/', 'au': '2.8', 'vst': YES, 'tempo': null, 'midi': null, 'inst': null, 'osx': YES, 'win': null, 'free': YES},
];

function makeElement(what, cssclass, elt) {
var e = document.createElement(what);
if (cssclass)
e.setAttribute('class', cssclass);
if (elt)
elt.appendChild(e);
return e;
}
function IMG(cssclass, elt) { return makeElement('IMG', cssclass, elt); }
function DIV(cssclass, elt) { return makeElement('DIV', cssclass, elt); }
function SPAN(cssclass, elt) { return makeElement('SPAN', cssclass, elt); }
function A(cssclass, elt) { return makeElement('A', cssclass, elt); }
function TABLE(cssclass, elt) { return makeElement('TABLE', cssclass, elt); }
function TR(cssclass, elt) { return makeElement('TR', cssclass, elt); }
function TD(cssclass, elt) { return makeElement('TD', cssclass, elt); }
function TEXT(contents, elt) {
var e = document.createTextNode(contents);
if (elt)
elt.appendChild(e);
return e;
}

function redraw() {
// As column names, e.g. ['midi', 'mac']
let url_hash = window.location.hash;
let keys = url_hash.length > 0 ? url_hash.substr(1).split(',') : [];
let hasKey = (k) => {
for (let kk of keys) {
console.log(kk);
if (k == kk) return true;
}
return false;
};

let elt = document.getElementById('hosts');
elt.innerHTML = '';


let reset = DIV('above', elt);
if (keys.length == 0) {
TEXT('Click column headers to filter', reset);
} else {
reset.classList.add('reset');
TEXT('Clear filters', reset);
reset.onclick = () => {
window.location.hash = '';
redraw();
};
}

let table = TABLE('hosts', elt);

const cols = {'au': 'AU support',
'vst': 'VST support',
'tempo': 'Tempo sync',
'midi': 'MIDI for effects &dagger;',
'inst': 'Instruments &sect;',
'osx': 'Mac OS X',
'win': 'Windows'};

// Header
let hdr = TR('header', table);
TEXT('host name', TD('header', hdr));

for (let c in cols) {
let colh = TD('colh', hdr);
if (hasKey(c)) colh.classList.add('enabled');
colh.innerHTML = cols[c];
colh.onclick = () => {
// Toggle its presence in the list.
if (hasKey(c)) {
keys = keys.filter(k => k !== c);
} else {
keys.push(c);
}
console.log(keys);
window.location.hash = keys.join(',');
redraw();
};
}

// Now host data, filtered.
const included = (h) => {
for (let k of keys) {
if (h[k] === null) return false;
}
return true;
};

let even = true;
for (let host of hosts) {
if (included(host)) {
let name = host.name;
if (host.free != null) name += ' ' + FREE;
let row = TR(even ? 'even' : 'odd', table);
let hosttd = TD('', row);
let a = A('host', hosttd);
a.href = host.url;
TEXT(host.name, a);
if (host.free != null) TEXT(' ◊', hosttd);

for (let c in cols) {
if (host[c] == null) {
TD('', row).innerHTML = '&nbsp;'
} else {
TD('', row).innerHTML = host[c];
}
}
even = !even;
}
}
}

</script>

<body onload="redraw()">
<a href="index.html"><img class="centered" src="hostapps-title.png" alt="Destroy FX: Host App Information"></a>
<div id="hosts">
Please enable javascript or read the source code!
</div>

<div class="legend">
<br>* Buffer Override, EQ Sync, Scrubby, and Skidder have tempo sync features
<br>&dagger; Buffer Override, Geometer, MIDI Gater, Rez Synth, Scrubby, Skidder, and Transverb are effects that process audio and MIDI
<br>&sect; Turntablist is an "instrument" plugin
<br>&loz; = free
<br>&#9734; forthcoming version (not available yet)
</div>
</body>

</html>
Loading

0 comments on commit b4b55c1

Please sign in to comment.