Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions AALIB-GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
First, we breakdown the video into frames.
``` bash
ffmpeg -i asd.mp4 -vf "crop=900:860" frame%04d.png
```

Then we console log the arrays after all of the calculations have been done.

Note that you need to set the frame count in the for loop.
``` html
<script type="text/javascript">
let rickrollpc = []
let rickrollphone = []
// Function to pad numbers with leading zeros
function padNumber(num, length) {
let str = num.toString();
while (str.length < length) {
str = '0' + str;
}
return str;
}
for (let i = 1; i <= 54; i++) {
let frameNumber = padNumber(i, 4);
let filename = `./videos/frame${frameNumber}.png`;
aalib.read.image.fromURL(filename)
.map(aalib.aa({ width: 90, height: 40}))
.map(aalib.filter.inverse(true))
.map(aalib.render.html({ background: "#fff", fontFamily: "Ubuntu Mono, monospace", charset: "$1234567890{;:}(){}#$&*_+=-" }))
.do(function (el) {

rickrollpc[i-1] = el.innerText.split("\n");
})
.subscribe()
aalib.read.image.fromURL(filename)
.map(aalib.aa({ width: 40, height: 25}))
.map(aalib.filter.inverse(true))
.map(aalib.render.html({ background: "#fff", fontFamily: "Ubuntu Mono, monospace", charset: "$1234567890{;:}(){}#$&*_+=-" }))
.do(function (el) {

rickrollphone[i-1] = el.innerText.split("\n");
})
.subscribe()
}
setInterval(() => {
console.log('PC')
console.log(rickrollpc)
console.log('Phone')
console.log(rickrollphone)
},2500)
</script>
```
Afterwards, paste the Pre-Rendered AA animations as an array in your code.
20 changes: 18 additions & 2 deletions config/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,22 @@ const whoisRoot = "Root Ventures is a San Francisco-based deep tech seed fund ma
const timeUnit = 1000; // useful for development, set to 10 to run faster, set to 1000 for production
let killed = false;

function SpawnRickRollPointers() {
function padNumber(num, length) {
let str = num.toString();
while (str.length < length) {
str = '0' + str;
}
return str;
}

const colSize = term.cols >= 90 ? 39 : 24

for(let i = 0; i <= colSize; i++) {
term.stylePrint(`${colorText(`vsabnBRXofjub${padNumber(i,2)}`, "command")}`, false);
}
}

const commands = {
help: function() {
const maxCmdLength = Math.max(...Object.keys(help).map(x => x.length));
Expand Down Expand Up @@ -92,7 +108,7 @@ const commands = {
},

test: function() {
term.openURL("https://i.imgur.com/Q2Unw.gif");
SpawnRickRollPointers()
},

email: function() {
Expand Down Expand Up @@ -242,7 +258,7 @@ const commands = {
term.stylePrint(`No such file: ${filename}`);
}
if (filename == "id_rsa") {
term.openURL("https://i.imgur.com/Q2Unw.gif");
SpawnRickRollPointers()
}
},

Expand Down
20 changes: 18 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,9 @@

<script src="js/aalib.js"></script>
<script src="js/xterm.js"></script>
<script src="js/xterm-addon-fit.js"></script>
<script src="js/xterm-addon-web-links.js"></script>
<script src="js/addon-fit.js"></script>
<script src="js/addon-web-links.js"></script>
<script src="js/rickroll.js"></script>
<script src="js/terminal.js"></script>
<script src="js/terminal-ext.js"></script>
<script src="js/ascii-art.js"></script>
Expand Down Expand Up @@ -81,6 +82,21 @@ <h2 style="display: none;">Seed stage venture capital firm investing in deep tec
term.loadAddon(webLinksAddon);
extend(term);
runRootTerminal(term);

// MutationObserver listens to changes of .xterm-rows (term.onRender() doesn't work)
const targetNode = document.querySelector('.xterm-rows');
if (targetNode) {
const config = { childList: true, subtree: true, characterData: true };
const callback = function (mutationsList, observer) {
observer.disconnect();
RickRoll();
observer.observe(targetNode, config);
};
const observer = new MutationObserver(callback);
observer.observe(targetNode, config);
} else {
console.warn('No element with class "xterm-rows" found.');
}
</script>
</body>
</html>
Loading