Skip to content

Commit 5571950

Browse files
committed
added fade-in vocals idea
also updated markdown.js (see evilstreak/markdown-js#98) to make the iframe work
1 parent ba9cd67 commit 5571950

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

ideas/fade-in-vocals.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Fade-in vocals
2+
==============
3+
4+
There is a certain effect in some of the music I listen to that used to intrigue me. It was the sound of the singer's vocals fading *in*, as if they were coming to you through some ethereal dimension. I wondered how it was done.
5+
6+
I figured it out at some point. It's actually quite simple: you *reverse* the vocal track, apply reverb to it, then reverse it back. I've used it several times in my music; here's an example where I go a little crazy with it (it's present through the entire song).
7+
8+
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F99370906"></iframe>
9+
10+
Obviously, a computer makes this a lot easier. It must have been a pretty tedious thing back in the days of recording to tape. But maybe there's another way to do it that I haven't thought of.

ideas/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<main>
1313
<h1>Ideas</h1>
1414
<ul id="ideas">
15+
<li><a href="/ideas/fade-in-vocals">Fade-in vocals</a></li>
1516
<li><a href="/ideas/abusing-gravatar">Using Gravatar as a random backdrop</a></li>
1617
<li><a href="/ideas/abusing-404">Abusing the 404 error page</a></li>
1718
<li><a href="/">Back</a></li>

lib/markdown.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,11 @@ Markdown.dialects = {};
310310
**/
311311
Markdown.dialects.Gruber = {
312312
block: {
313+
htmlBlock: function htmlBlock( block, next ) {
314+
if ( block.match( /^\s*<\w/ ) && block.match( /<\/\s*\w+\s*>\s*$/ ) )
315+
return [["__RAW", block.toString()]];
316+
},
317+
313318
atxHeader: function atxHeader( block, next ) {
314319
var m = block.match( /^(#{1,6})\s*(.*?)\s*#*\s*(?:\n|$)/ );
315320

@@ -1445,6 +1450,10 @@ function render_tree( jsonml ) {
14451450
return escapeHTML( jsonml );
14461451
}
14471452

1453+
if ( jsonml[0] == "__RAW" ) {
1454+
return jsonml[1];
1455+
}
1456+
14481457
var tag = jsonml.shift(),
14491458
attributes = {},
14501459
content = [];

0 commit comments

Comments
 (0)