summaryrefslogtreecommitdiff
path: root/blog/post/2018-03-17.html
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2024-06-22 19:59:16 -0400
committerGravatar Chris Xiong <chirs241097@gmail.com> 2024-06-22 19:59:16 -0400
commit4e1a29cab8d31cff30d88d2dfc0f526372fc33bd (patch)
tree7a0c9b5d4a57ed734018b447eafdf5f51ab43151 /blog/post/2018-03-17.html
parente81928f76ab105c65a0a0997c289f0f521589128 (diff)
downloadweb-4e1a29cab8d31cff30d88d2dfc0f526372fc33bd.tar.xz
Move blog posts out of the tree.
Diffstat (limited to 'blog/post/2018-03-17.html')
-rw-r--r--blog/post/2018-03-17.html142
1 files changed, 0 insertions, 142 deletions
diff --git a/blog/post/2018-03-17.html b/blog/post/2018-03-17.html
deleted file mode 100644
index bd32d58..0000000
--- a/blog/post/2018-03-17.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html><html><head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="theme-color" content="#000000">
-<title>Chrisoft::Blog(r#"Some rants on SMELT, QMidiPlayer and Virtools")</title>
-<meta name="description" content="«Some rants on SMELT, QMidiPlayer and Virtools» de spelunca ursae">
-<meta name="author" content="Chris Xiong">
-<script type="text/javascript" src="/panel.js"></script>
-<script type="text/javascript" src="/themer.js"></script>
-<script type="text/javascript" src="/blog/footnoter.js"></script>
-<script type="text/javascript" src="/blog/aes-js.js"></script>
-<script type="text/javascript" src="/blog/scrypt.js"></script>
-<script type="text/javascript" src="/blog/sha256.js"></script>
-<script type="text/javascript" src="/blog/decryptor.js"></script>
-<link rel="stylesheet" type="text/css" href="/common.css">
-<link rel="stylesheet" type="text/css" href="/panel.css">
-<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
-<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
-<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
-<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
-<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
-<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
-<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
-<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
-<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
-<script>
-function ol()
-{
- window.onresize=function()
- {
- if(window.innerWidth<768)
- setupevents();
- else unsetevents();
- }
- window.onresize();
- loadTheme();
- _decryptonload();
-}
-</script>
-</head>
-<body onload="ol()" style="overflow-x:hidden;">
- <div id="panel" class="TText">
- <ul id="panellist">
- <li><a href="/"><h1>Chrisoft</h1></a></li>
- <li><a href="/blog"><h2>Blog</h2></a></li>
- <li><a href="#"><h3 id="title">Some rants on SMELT, QMidiPlayer and Virtools</h3></a></li>
- <li><span>Tags</span>
- <ul id="tagslist">
- <li><a href="/blog/list/devel/">devel</a></li><li><a href="/blog/list/qmidiplayer/">qmidiplayer</a></li><li><a href="/blog/list/opengl/">opengl</a></li></ul>
- </li>
- <li id="tocouter" style="display: none;">
- <span>Table of Contents</span>
- <ul id="tocroot">
- </ul>
- </li>
- <li style="margin-left:-0.5em"><a id="prevp" href="2018-02-05.html">Prev post</a></li>
- <li style="margin-left:-0.5em"><a id="nextp" href="2018-04-17.html">Next post</a></li>
- </ul>
- </div>
- <div id="content">
- <h2 id="titleh" class="TText" style="font-wight:normal;">Some rants on SMELT, QMidiPlayer and Virtools</h2>
- <div id="datetags" class="TText" style="margin-bottom:1em;">2018-03-17<br>#devel #qmidiplayer #opengl</div>
- <hr><div id="article" class="TText">
-<article>
-<p>
-Well, I have to admit that creating a new blog post but not writing the
-actual content until more than a month later is <b>bullshit</b>. I've
-almost forgotten what I was thinking about when I created the post...
-</p>
-<p>
-But as you can tell from my recent activity, development of QMidiPlayer
-seemed to be stalled. No new features has been added since the rewrite
-of the MIDI mapper. However the rewrite is actually for the next planned
-major feature: an OPL3 emulator plugin and probably a VST host plugin.
-I spent one third of my winter break on reading the specs of the YMF262
-chip but made no real progress, which is a real shame.
-</p>
-<p>
-As for SMELT, I ported it to OpenGL 3.3+ but this is definitely not in
-my original schedule. The initial port has a whole bunch of bugs and
-quirks, also its performance was poor. Most of these were fixed later on
-with the help of <a href="https://github.com/apitrace/apitrace">apitrace</a>.
-However currently the new port still makes way more OpenGL calls than
-expected.
-</p>
-<p>
-Planned features for SMELT include vertex array switching, material,
-lighting and custom shaders. Adding these features will likely make the
-older version deprecated though. Plus there's no strong demand for these
-features. Therefore they may not be added any time soon.
-</p>
-<p>
-The Virtools part is an entirely accident. 2jjy and I suddenly got excited
-with the Virtools SDK and decided to find out what can it achieve. Before
-long 2jjy managed to analyze the internal structure of a Virtools
-<i>behavior</i>. These data determines how the behavior graph is presented
-in the schemetic interface. Checking 'hide script representation in
-schemetic' while saving simply discards these data, effectively obfuscating
-the script. The final tool we made public reconstructs the base of this
-structure using the logic of the script and tries to arrange behavior
-building blocks in a more human-readable way. It definitely helps future
-analysis of our old pal (Ballance), but not so much in my opinion. Porting
-the custom DLLs used by Ballance to a "newer" Virtools verion might be way
-more important.
-</p>
-<p>
-The tool has been
-<a href="https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation">made public</a>.
-As the job it does falls into a "grey zone", we don't know whether it is
-legally acceptable to use it. Use at your own risk!
-</p>
-</article>
-<!--
-vim:syntax=html
--->
-</div><br><hr>
- <div class="TText" id="notediv" style="font-size:80%;"></div>
- <div id="insanch" style="height:3em;"></div>
- <div id="footer" style="">
- <div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
- <div style="text-align:center;" class="TText">
- Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
- <br>
- Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
- </div>
- </div>
- <div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
- </div>
- </div>
- <div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
- <div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
- <div id="keyhint" style="margin-bottom:8px;"></div>
- <div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
- <div style="height:2.25em;">
- <button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
- <button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
- </div>
-
- </div>
-
-
-</div></body></html> \ No newline at end of file