Move old staff to /old

This commit is contained in:
Alexandr Bogomyakov
2019-05-26 12:26:18 +03:00
parent 5405ca18c2
commit 968985404e
196 changed files with 0 additions and 3269 deletions

201
LICENSE
View File

@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

527
css/normalize.css vendored
View File

@ -1,527 +0,0 @@
/*! normalize.css v1.1.0 | MIT License | git.io/normalize */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
* Known issue: no IE 6 support.
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/**
* 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
* `em` units.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-size: 100%; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/**
* Address `font-family` inconsistency between `textarea` and other form
* elements.
*/
html,
button,
input,
select,
textarea {
font-family: sans-serif;
}
/**
* Address margins handled incorrectly in IE 6/7.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/**
* Address `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/**
* Address font sizes and margins set differently in IE 6/7.
* Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
* and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
h2 {
font-size: 1.5em;
margin: 0.83em 0;
}
h3 {
font-size: 1.17em;
margin: 1em 0;
}
h4 {
font-size: 1em;
margin: 1.33em 0;
}
h5 {
font-size: 0.83em;
margin: 1.67em 0;
}
h6 {
font-size: 0.67em;
margin: 2.33em 0;
}
/**
* Address styling not present in IE 7/8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
blockquote {
margin: 1em 40px;
}
/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address differences between Firefox and other browsers.
* Known issue: no IE 6/7 normalization.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Address styling not present in IE 6/7/8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address margins set differently in IE 6/7.
*/
p,
pre {
margin: 1em 0;
}
/**
* Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
_font-family: 'courier new', monospace;
font-size: 1em;
}
/**
* Improve readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}
/**
* Address CSS quotes not supported in IE 6/7.
*/
q {
quotes: none;
}
/**
* Address `quotes` property not supported in Safari 4.
*/
q:before,
q:after {
content: '';
content: none;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Lists
========================================================================== */
/**
* Address margins set differently in IE 6/7.
*/
dl,
menu,
ol,
ul {
margin: 1em 0;
}
dd {
margin: 0 0 0 40px;
}
/**
* Address paddings set differently in IE 6/7.
*/
menu,
ol,
ul {
padding: 0 0 0 40px;
}
/**
* Correct list images handled incorrectly in IE 7.
*/
nav ul,
nav ol {
list-style: none;
list-style-image: none;
}
/* ==========================================================================
Embedded content
========================================================================== */
/**
* 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improve image quality when scaled in IE 7.
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/**
* Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/**
* Correct margin displayed oddly in IE 6/7.
*/
form {
margin: 0;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct color not being inherited in IE 6/7/8/9.
* 2. Correct text not wrapping in Firefox 3.
* 3. Correct alignment displayed oddly in IE 6/7.
*/
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/**
* 1. Correct font size not being inherited in all browsers.
* 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
* and Chrome.
* 3. Improve appearance and consistency in all browsers.
*/
button,
input,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */
}
/**
* Address Firefox 3+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button,
input {
line-height: normal;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
* Correct `select` style inheritance in Firefox 4+ and Opera.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
* 4. Remove inner spacing in IE 7 without affecting normal text inputs.
* Known issue: inner spacing remains in IE 6.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
*overflow: visible; /* 4 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* 1. Address box sizing set to content-box in IE 8/9.
* 2. Remove excess padding in IE 8/9.
* 3. Remove excess padding in IE 7.
* Known issue: excess padding remains in IE 6.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
*height: 13px; /* 3 */
*width: 13px; /* 3 */
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Remove inner padding and border in Firefox 3+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* 1. Remove default vertical scrollbar in IE 6/7/8/9.
* 2. Improve readability and alignment in all browsers.
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}

View File

@ -1,2 +0,0 @@
/*! normalize.css v1.1.0 | MIT License | git.io/normalize */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

View File

@ -1,213 +0,0 @@
@font-face {
font-family: amiga;
src: url("../fonts/amiga4ever_pro2.ttf");
font-weight: 400;
}
html, body {
width: 100%;
height: 100%;
}
.fileContainer {
overflow: hidden;
position: relative;
}
.fileContainer [type=file] {
cursor: inherit;
display: block;
font-size: 999px;
filter: alpha(opacity=0);
min-height: 100%;
min-width: 100%;
opacity: 0;
position: absolute;
right: 0;
text-align: right;
top: 0;
}
/* Example stylistic flourishes */
.fileContainer {
background: red;
border-radius: .5em;
float: left;
padding: .5em;
}
.fileContainer [type=file] {
cursor: pointer;
}
body {
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ff5c00), color-stop(100%, #ff5a00));
background: -webkit-linear-gradient(#ff5c00, #ff5a00);
background: -moz-linear-gradient(#ff5c00, #ff5a00);
background: -o-linear-gradient(#ff5c00, #ff5a00);
background: linear-gradient(#ff5c00, #ff5a00);
}
.bg {
width: 100%;
width: calc(100% - 4rem);
height: 100%;
height: calc(100% - 4rem);
position: absolute;
top: 2rem;
left: 2rem;
z-index: -90;
}
.bg.bg1 {
background-repeat: no-repeat;
background-size: contain;
background-position: center;
}
.banner {
font-family: amiga, sans-serif;
}
.banner + .banner {
margin-top: 2.4rem;
}
#headline, #demosong, #metadata, #controls, #choosefile {
text-align: center;
}
#info {
max-width: calc(100% - 2.6rem);
padding: 1.25rem 1.3rem;
background: rgba(20, 20, 20, 0.86);
color: #f9f9f9;
}
#list {
overflow-x: hidden;
}
#headline {
max-width: calc(100% - 2rem);
padding: 1.2rem 1rem;
background: white;
color: #232323;
}
#headline h1 {
margin: 0;
}
@media only screen and (max-width: 45rem) {
#headline h1 {
font-size: 3rem;
}
}
@media only screen and (min-width: 45rem) {
#headline h1 {
font-size: 4.5rem;
}
}
#demosong {
margin-top: 3rem;
}
#demosong a {
color: #232323;
font-size: 0.7rem;
}
#metadata {
display: block;
}
#choosefile input {
padding: 0.5rem;
background: #f7f7f7;
border-radius: 0.35rem;
border: 1px solid rgba(215, 99, 34, 0.78);
}
#choosefile, #controls {
margin-top: 1.9rem;
}
#demos {
text-align: center;
}
#demos > div {
display: inline-block;
margin: 0 auto;
text-align: left;
border: 1px solid rgba(215, 99, 34, 0.78);
padding: 1rem;
background: white;
width: 95vw;
}
#demos > div h2 {
margin: 0 0 0.5rem 0;
font-size: 1.3rem;
}
#demos > div .song {
display: block;
text-decoration: none;
color: #4c4cbd;
cursor: pointer;
}
#demos > div .song + .song {
margin-top: 0.65rem;
}
#demos > div .song .size {
vertical-align: super;
font-size: 0.6rem;
margin-left: 0.3rem;
}
#demos > div .song .size:before {
content: "(";
}
#demos > div .song .size:after {
content: ")";
}
.control {
width: 5rem;
height: 5rem;
border-radius: 2.5rem;
background-color: #505050;
display: inline-block;
box-shadow: 0px 9px 0px #323232, 0px 9px 25px rgba(0, 0, 0, 0.7);
transition: all 0.1s ease;
cursor: pointer;
}
.control:active, .control.pressed {
box-shadow: 0px 3px 0px #323232, 0px 3px 6px rgba(0, 0, 0, 0.7);
}
.control#play {
background-image: url("../img/play.svg");
background-size: 75%;
background-position: 16px 9px;
background-repeat: no-repeat;
}
.control#next {
background-image: url("../img/next.png");
background-size: 75%;
background-position: 16px 9px;
background-repeat: no-repeat;
}
.control#pause {
background-image: url("../img/pause.svg");
background-size: 75%;
background-position: center;
background-repeat: no-repeat;
}
.control#loop {
display: none;
}
.control#loop + label {
background-image: url("../img/loop.svg");
background-size: 75%;
background-position: center;
background-repeat: no-repeat;
}
.control#loop:checked + label {
box-shadow: 0px 3px 0px #323232, 0px 3px 6px rgba(0, 0, 0, 0.7);
}
li {
height:2em;
}

View File

@ -1,82 +0,0 @@
input[type=range].slider {
-webkit-appearance: none;
width: 100%;
margin: 0.7px 0;
}
input[type=range].slider:focus {
outline: none;
}
input[type=range].slider::-webkit-slider-runnable-track {
width: 100%;
height: 25.6px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #484d4d;
border-radius: 0px;
border: 0px solid #010101;
}
input[type=range].slider::-webkit-slider-thumb {
box-shadow: 0px 0px 1px #670000, 0px 0px 0px #810000;
border: 0px solid #ff1e00;
height: 27px;
width: 18px;
border-radius: 0px;
background: #ffae00;
cursor: pointer;
-webkit-appearance: none;
margin-top: -0.7px;
}
input[type=range].slider:focus::-webkit-slider-runnable-track {
}
input[type=range].slider::-moz-range-track {
width: 100%;
height: 25.6px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #484d4d;
border-radius: 0px;
border: 0px solid #010101;
}
input[type=range].slider::-moz-range-thumb {
box-shadow: 0px 0px 1px #670000, 0px 0px 0px #810000;
border: 0px solid #ff1e00;
height: 27px;
width: 18px;
border-radius: 0px;
background: #ffae00;
cursor: pointer;
}
input[type=range].slider::-ms-track {
width: 100%;
height: 25.6px;
cursor: pointer;
background: transparent;
border-color: transparent;
color: transparent;
}
input[type=range].slider::-ms-fill-lower {
border: 0px solid #010101;
border-radius: 0px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range].slider::-ms-fill-upper {
background: #484d4d;
border: 0px solid #010101;
border-radius: 0px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range].slider::-ms-thumb {
box-shadow: 0px 0px 1px #670000, 0px 0px 0px #810000;
border: 0px solid #ff1e00;
height: 27px;
width: 18px;
border-radius: 0px;
background: #ffae00;
cursor: pointer;
height: 25.6px;
}
input[type=range].slider:focus::-ms-fill-lower {
background: #484d4d;
}
input[type=range].slider:focus::-ms-fill-upper {
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

View File

@ -1,56 +0,0 @@
<?php
$inp = file_get_contents('mods.json');
$tempArray = json_decode($inp);
$time = time();
//print_r($tempArray);
//$id = uniqid();
$fileName = $_FILES['files']['name'];
$fileType = $_FILES['files']['type'];
$fileContent = file_get_contents($_FILES['files']['tmp_name']);
$dataUrl = 'data:' . $fileType . ';base64,' . base64_encode($fileContent);
$json = json_encode(array(
'name' => $fileName,
'type' => $fileType,
'dataUrl' => $dataUrl
));
$target = 'mods/'.$_FILES['files']['name'];
if (strpos($fileType, 'application') !== false) {
echo '{"type":"message","content":"go_to_the_hooy"}';
} else {
$md5 = md5_file($_FILES['files']['tmp_name']);
$item = null;
foreach($tempArray as $struct) {
if ($md5 == $struct->md5) {
$item = $struct;
break;
}
}
if ($item == null){
move_uploaded_file( $_FILES['files']['tmp_name'], $target);
$id = $tempArray[count($tempArray)-1]->id + 1;
$upl_file->filename = $_FILES['files']['name'];
$upl_file->md5 = $md5;
$upl_file->id = $id;
$upl_file->time = $time;
//echo $json.'<br>';
if ($upl_file->filename != null){
array_push($tempArray, $upl_file);
$jsonData = json_encode($tempArray, JSON_PRETTY_PRINT);
file_put_contents('mods.json', $jsonData);
}
}else{
echo "Warning. File has uploaded already.";
}
}
//$jsonData = json_encode($tempArray);
//file_put_contents('results.json', $jsonData);
//print_r($tempArray);
?>

View File

@ -1,9 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
<path fill="white" d="M15.281,66.527c-3.912-14.854-4.723-30.193,4.221-43.656C25.92,13.211,37.953,8.5,50.002,8.5 c12.957,0,23.095,4.306,29.938,13.516c9.817,13.212,8.66,29.667,4.718,44.511c-1.049,3.947,5.48,5.623,6.532,1.679 c4.446-16.748,5.107-35.397-5.4-50.375C78.008,6.744,64.612,0.327,50.527,0.011c-14.232-0.32-27.35,6.45-35.649,16.987 C3.384,31.587,4.354,51.523,8.751,68.206C9.79,72.154,16.323,70.479,15.281,66.527L15.281,66.527z"/>
<polygon fill="white" points="73.271,93.17 79.555,94.307 84.588,70.202 78.301,69.063 "/>
<path fill="white" d="M60.373,94.832c-0.48,2.3,1.84,4.65,5.178,5.258l0,0c3.338,0.604,6.435-0.77,6.916-3.07l6.876-32.961 c0.484-2.301-1.838-4.656-5.174-5.262l0,0c-3.338-0.604-6.437,0.771-6.912,3.071L60.373,94.832z"/>
<path fill="white" d="M82.131,89.794c-0.188,0.901,0.304,1.743,1.097,1.886l1.481,0.27c0.792,0.145,1.588-0.467,1.775-1.363l4.413-21.138 c0.187-0.899-0.305-1.739-1.098-1.886l-1.479-0.271c-0.795-0.144-1.592,0.472-1.779,1.366L82.131,89.794z"/>
<polygon fill="white" points="26.713,93.168 20.429,94.307 15.397,70.202 21.683,69.063 "/>
<path fill="white" d="M39.608,94.83c0.481,2.302-1.837,4.65-5.174,5.26l0,0c-3.338,0.604-6.438-0.77-6.917-3.07l-6.879-32.961 c-0.479-2.301,1.837-4.656,5.175-5.262l0,0c3.34-0.604,6.437,0.771,6.917,3.071L39.608,94.83z"/>
<path fill="white" d="M17.853,89.794c0.185,0.899-0.306,1.743-1.099,1.883l-1.479,0.271c-0.793,0.145-1.59-0.467-1.777-1.361L9.085,69.445 c-0.188-0.896,0.306-1.738,1.1-1.885l1.478-0.269c0.796-0.146,1.591,0.467,1.777,1.364L17.853,89.794z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- License Agreement at http://iconmonstr.com/license/ -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
<path fill="white" id="repeat-3-icon" d="M322.697,248.393v-44.592H142.5c-28.948,0-52.5,23.551-52.5,52.5c0,10.296,2.991,19.901,8.133,28.016
l-34.131,20.927C55.132,291.046,50,274.274,50,256.301c0-51.086,41.413-92.5,92.5-92.5h180.197v-45.387l105.996,64.989
L322.697,248.393z M447.727,206.924l-34.137,20.93c5.312,8.204,8.41,17.968,8.41,28.447c0,28.949-23.552,52.5-52.5,52.5H189.303
v-45.193L83.307,328.597l105.996,64.989v-44.785H369.5c51.087,0,92.5-41.414,92.5-92.5C462,238.144,456.765,221.212,447.727,206.924
z"/>
</svg>

Before

Width:  |  Height:  |  Size: 960 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- License Agreement at http://iconmonstr.com/license/ -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
<path fill="white" id="pause-icon" d="M217.679,462h-120V50h120V462z M414.321,50h-120v412h120V50z"/>
</svg>

Before

Width:  |  Height:  |  Size: 541 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- License Agreement at http://iconmonstr.com/license/ -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
<path fill="white" id="play-icon" d="M88.008,462V50l335.984,206.002L88.008,462z"/>
</svg>

Before

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,77 +0,0 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-4886067178571203",
enable_page_level_ads: true
});
</script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/screen.css">
<link rel="stylesheet" href="css/seekbar.css">
<script type="text/javascript" src="js/libopenmpt.js"></script>
<script type="text/javascript" src="js/chiptune2.js"></script>
<script type="text/javascript" src="js/logic.js"></script>
</head>
<body id="bgAudio">
<div class="bg bg1"></div>
<div id="content">
<div id="info" class="banner">
<p>Drop any module file (.mod, .xm, .it, etc.) on this page and hit play! </p>
</div>
<div id="headline" class="banner"><h1>hexound</h1></div>
<div id="metadata" class="banner">
<span id="title"></span>
<span id="artist"></span>
<p>Filename - <span id="filename"></span></p>
</div>
<div id="controls" class="banner">
<a onclick="pauseButton()" id="play" class="control"></a>
<a onclick="start_play()" id="next" class="control"></a>
</div>
<div style="margin:10px" class="banner">
<span class="banner" id="output">00</span>
<input id="rangeinput" class="slider banner" type="range" min="0" max="100" style="width:98%" step="0.01">
<span class="banner" id="duration">00</span>
<div style="clear:both"></div>
</div>
<div id="demos" class="banner">
<div id="list" style="overflow-y:scroll; height:400px;">
<h2># playlist</h2>
| <label>Shuffle <input type="radio" name="playmode" value="shuffle"/></label> |
<label>Loop <input type="radio" name="playmode" value="loop"/></label> |
<label>Direct order <input type="radio" name="playmode" value="direct_order" checked/></label> |
<p>
<input type="text" id="input" style="width:100%"/>
</p>
</div>
</div>
</div>
ver. <span id="version">0.0</span>
</body>
<script>
var interval;
$("#rangeinput").mousedown(function(event){
interval = setInterval(function(){
$("#output").html($("#rangeinput").val());
player.seek($("#rangeinput").val());
console.log("running");
},150);
});
$("#rangeinput").mouseup(function(event){
clearInterval(interval);
});
</script>
</html>

View File

@ -1,218 +0,0 @@
// audio context
ChiptuneAudioContext = AudioContext || webkitAudioContext;
// config
function ChiptuneJsConfig(repeatCount, context) {
this.repeatCount = repeatCount;
this.context = context;
}
// player
function ChiptuneJsPlayer(config) {
this.config = config;
this.context = config.context || new ChiptuneAudioContext;
this.currentPlayingNode = null;
this.handlers = [];
}
// event handlers section
ChiptuneJsPlayer.prototype.fireEvent = function (eventName, response) {
var handlers = this.handlers;
if (handlers.length) {
handlers.forEach(function (handler) {
if (handler.eventName === eventName) {
handler.handler(response);
}
})
}
}
ChiptuneJsPlayer.prototype.addHandler = function (eventName, handler) {
this.handlers.push({eventName: eventName, handler: handler});
}
ChiptuneJsPlayer.prototype.onEnded = function (handler) {
this.addHandler('onEnded', handler);
}
ChiptuneJsPlayer.prototype.onError = function (handler) {
this.addHandler('onError', handler);
}
// metadata
ChiptuneJsPlayer.prototype.duration = function() {
return Module._openmpt_module_get_duration_seconds(this.currentPlayingNode.modulePtr);
}
ChiptuneJsPlayer.prototype.metadata = function() {
var data = {};
var keys = Module.Pointer_stringify(Module._openmpt_module_get_metadata_keys(this.currentPlayingNode.modulePtr)).split(';');
var keyNameBuffer = 0;
for (var i = 0; i < keys.length; i++) {
keyNameBuffer = Module._malloc(keys[i].length + 1);
Module.writeStringToMemory(keys[i], keyNameBuffer);
data[keys[i]] = Module.Pointer_stringify(Module._openmpt_module_get_metadata(player.currentPlayingNode.modulePtr, keyNameBuffer));
Module._free(keyNameBuffer);
}
return data;
}
ChiptuneJsPlayer.prototype.seek = function(position) {
Module._openmpt_module_set_position_seconds(this.currentPlayingNode.modulePtr, position);
}
ChiptuneJsPlayer.prototype.getPosition = function() {
return Module._openmpt_module_get_position_seconds(this.currentPlayingNode.modulePtr);
}
// playing, etc
ChiptuneJsPlayer.prototype.load = function(input, callback) {
var player = this;
if (input instanceof File) {
var reader = new FileReader();
reader.onload = function() {
return callback(reader.result); // no error
}.bind(this);
reader.readAsArrayBuffer(input);
} else {
var xhr = new XMLHttpRequest();
xhr.open('GET', input, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
if (xhr.status === 200) {
return callback(xhr.response); // no error
} else {
player.fireEvent('onError', {type: 'onxhr'});
}
}.bind(this);
xhr.onerror = function() {
player.fireEvent('onError', {type: 'onxhr'});
};
xhr.onabort = function() {
player.fireEvent('onError', {type: 'onxhr'});
};
xhr.send();
}
}
ChiptuneJsPlayer.prototype.play = function(buffer) {
this.stop();
var processNode = this.createLibopenmptNode(buffer, this.config);
if (processNode == null) {
return;
}
// set config options on module
Module._openmpt_module_set_repeat_count(processNode.modulePtr, this.config.repeatCount);
this.currentPlayingNode = processNode;
processNode.connect(this.context.destination);
}
ChiptuneJsPlayer.prototype.stop = function() {
if (this.currentPlayingNode != null) {
this.currentPlayingNode.disconnect();
this.currentPlayingNode.cleanup();
this.currentPlayingNode = null;
}
}
ChiptuneJsPlayer.prototype.togglePause = function() {
if (this.currentPlayingNode != null) {
this.currentPlayingNode.togglePause();
}
}
ChiptuneJsPlayer.prototype.createLibopenmptNode = function(buffer, config) {
// TODO error checking in this whole function
var maxFramesPerChunk = 4096;
var processNode = this.context.createScriptProcessor(0, 0, 2);
processNode.config = config;
processNode.player = this;
var byteArray = new Int8Array(buffer);
var ptrToFile = Module._malloc(byteArray.byteLength);
Module.HEAPU8.set(byteArray, ptrToFile);
processNode.modulePtr = Module._openmpt_module_create_from_memory(ptrToFile, byteArray.byteLength, 0, 0, 0);
processNode.paused = false;
processNode.leftBufferPtr = Module._malloc(4 * maxFramesPerChunk);
processNode.rightBufferPtr = Module._malloc(4 * maxFramesPerChunk);
processNode.cleanup = function() {
if (this.modulePtr != 0) {
Module._openmpt_module_destroy(this.modulePtr);
this.modulePtr = 0;
}
if (this.leftBufferPtr != 0) {
Module._free(this.leftBufferPtr);
this.leftBufferPtr = 0;
}
if (this.rightBufferPtr != 0) {
Module._free(this.rightBufferPtr);
this.rightBufferPtr = 0;
}
}
processNode.stop = function() {
this.disconnect();
this.cleanup();
}
processNode.pause = function() {
this.paused = true;
}
processNode.unpause = function() {
this.paused = false;
}
processNode.togglePause = function() {
this.paused = !this.paused;
}
processNode.onaudioprocess = function(e) {
var outputL = e.outputBuffer.getChannelData(0);
var outputR = e.outputBuffer.getChannelData(1);
var framesToRender = outputL.length;
if (this.ModulePtr == 0) {
for (var i = 0; i < framesToRender; ++i) {
outputL[i] = 0;
outputR[i] = 0;
}
this.disconnect();
this.cleanup();
return;
}
if (this.paused) {
for (var i = 0; i < framesToRender; ++i) {
outputL[i] = 0;
outputR[i] = 0;
}
return;
}
var framesRendered = 0;
var ended = false;
var error = false;
while (framesToRender > 0) {
var framesPerChunk = Math.min(framesToRender, maxFramesPerChunk);
var actualFramesPerChunk = Module._openmpt_module_read_float_stereo(this.modulePtr, this.context.sampleRate, framesPerChunk, this.leftBufferPtr, this.rightBufferPtr);
if (actualFramesPerChunk == 0) {
ended = true;
// modulePtr will be 0 on openmpt: error: openmpt_module_read_float_stereo: ERROR: module * not valid or other openmpt error
error = !this.modulePtr;
}
var rawAudioLeft = Module.HEAPF32.subarray(this.leftBufferPtr / 4, this.leftBufferPtr / 4 + actualFramesPerChunk);
var rawAudioRight = Module.HEAPF32.subarray(this.rightBufferPtr / 4, this.rightBufferPtr / 4 + actualFramesPerChunk);
for (var i = 0; i < actualFramesPerChunk; ++i) {
outputL[framesRendered + i] = rawAudioLeft[i];
outputR[framesRendered + i] = rawAudioRight[i];
}
for (var i = actualFramesPerChunk; i < framesPerChunk; ++i) {
outputL[framesRendered + i] = 0;
outputR[framesRendered + i] = 0;
}
framesToRender -= framesPerChunk;
framesRendered += framesPerChunk;
}
if (ended) {
this.disconnect();
this.cleanup();
error ? processNode.player.fireEvent('onError', {type: 'openmpt'}) : processNode.player.fireEvent('onEnded');
}
}
return processNode;
}

File diff suppressed because one or more lines are too long

View File

@ -1,251 +0,0 @@
var player;
var interval;
var playlist = [];
var fileaccess = document.querySelector('*');
var current_mod;
var mode = "direct_order";
var VERSION = 0.07
function init() {
if (player == undefined) {
player = new ChiptuneJsPlayer(new ChiptuneJsConfig(0));
setInterval(progress, 200);
}
else {
player.stop();
playPauseButton();
}
}
function getRandomInt(max) {
min = 0;
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
function start_play(id, action) {
document.getElementById("mod_"+current_mod).style.color = "#4c4cbd";
if (action == "user") {
var result = $.grep(playlist, function(e){ return e.id == id; });
console.log(result[0].name);
console.log("Currently playing: "+current_mod)
document.getElementById("mod_"+current_mod).style.color = "#4c4cbd";
id = result[0].id;
name = result[0].name;
console.log('PLaying ' + name + ". Initiated by User.");
loadURL('/mods/' + name);
document.getElementById('filename').innerHTML = name
window.location.hash = '#' + (id);
document.getElementById("mod_" + id).style.color = "#b30059";
current_mod = id;
} else {
if (check_mode() == "shuffle") {
var next = getRandomInt(playlist.length);
console.log('PLaying ' + playlist[next].name + ". Initiated by System. Shuffle");
loadURL('/mods/' + playlist[next].name);
document.getElementById('filename').innerHTML = playlist[next].name
window.location.hash = '#' + playlist[next].id
document.getElementById("mod_" + playlist[next].id).style.color = "#b30059";
current_mod = next;
} else if (check_mode() == "direct_order") {
var next = playlist.findIndex(x => x.id == current_mod) + 1;
id = playlist[next].id;
name = playlist[next].name;
console.log('PLaying ' + name + ". Initiated by System. Direct order.");
loadURL('/mods/' + name);
document.getElementById('filename').innerHTML = name
window.location.hash = '#' + id
document.getElementById("mod_" + id).style.color = "#b30059";
current_mod = id;
} else if (check_mode() == "loop") {
var next = playlist.findIndex(x => x.id == current_mod);
id = playlist[next].id;
name = playlist[next].name;
console.log('PLaying ' + name + ". Initiated by System. Loop.");
loadURL('/mods/' + name);
document.getElementById('filename').innerHTML = name
window.location.hash = '#' + id
document.getElementById("mod_" + id).style.color = "#b30059";
current_mod = id;
}
}
}
function setMetadata(filename) {
var metadata = player.metadata();
if (metadata['title'] != '') {
document.getElementById('title').innerHTML = metadata['title'];
}
else {
document.getElementById('title').innerHTML = filename;
}
if (metadata['artist'] != '') {
document.getElementById('artist').innerHTML = '<br />' + metadata['artist'];
}
else {
document.getElementById('artist').innerHTML = '';
}
}
function toInt(n) {
return Math.round(Number(n));
};
function progress() {
document.getElementById('rangeinput').value = player.getPosition();
$("#output").html(toInt(player.getPosition()));
if (toInt(player.getPosition()) == toInt(player.duration()))
start_play(0, "system")
}
function loadURL(path) {
clearInterval(interval);
init();
player.load(path, function (buffer) {
player.play(buffer);
setMetadata(path);
$("#rangeinput").attr('max', player.duration());
$("#rangeinput").attr('value', 0);
$("#duration").html(toInt(player.duration()));
pausePauseButton();
});
}
function pauseButton() {
player.togglePause();
switchPauseButton();
}
function switchPauseButton() {
var button = document.getElementById('pause')
if (button) {
button.id = "play_tmp";
}
button = document.getElementById('play')
if (button) {
button.id = "pause";
}
button = document.getElementById('play_tmp')
if (button) {
button.id = "play";
}
}
function playPauseButton() {
var button = document.getElementById('pause');
if (button) {
button.id = "play";
}
}
function pausePauseButton() {
var button = document.getElementById('play')
if (button) {
button.id = "pause";
}
}
fileaccess.ondrop = function (e) {
e.preventDefault();
var file = e.dataTransfer.files[0];
var fd = new FormData();
fd.append("files", file);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'handle_file_upload.php', true);
xhr.upload.onprogress = function (e) {
if (e.lengthComputable) {
var percentComplete = (e.loaded / e.total) * 100;
console.log(percentComplete + '% uploaded');
}
};
xhr.onload = function () {
if (this.status == 200) {
var resp = JSON.parse(this.response);
console.log('Server got:', resp);
};
};
xhr.send(fd);
init();
player.load(file, function (buffer) {
player.play(buffer);
setMetadata(file.name);
pausePauseButton();
});
get_files();
}
fileaccess.ondragenter = function (e) { e.preventDefault(); }
fileaccess.ondragover = function (e) { e.preventDefault(); };
function get_files() {
$.getJSON('library.php', function (data) {
$('#list').append('<ul style="list-style-type: none;margin: 0;padding: 0;">')
$.each(data, function (key, val) {
//if(val.time == undefined){val.time = 1493299893}
var tmp = {
'name' : val.filename,
'id' : val.id
//'uploaded': val.time
};
$('#list').append('<li style="list-style-type: none;" class="thumb selectable arrow light" ><span class="song name" onclick="start_play('+val.id+',\'user\')"><a href="mods/' + val.filename + '"><img style="height:1em;" src="/img/save1.png"></a> <span id="mod_' + val.id + '" class="name_song">' + val.filename + '</span></span></li>');
console.log(key, val.id);
tmp
playlist.push(tmp);
});
console.log('Summary:', playlist.length, 'tracks.')
current_mod = playlist.length - 1;
$('#list').append('</ul>')
var mod_number = parseInt(window.location.hash.substr(1));
if (window.location.hash.substr(1) != "") {
start_play(mod_number,"user")
console.log("Playing from url mod # " + window.location.hash.substr(1));
}
});
$(window).on('hashchange', function() {
var mod_number = parseInt(window.location.hash.substr(1));
if (window.location.hash.substr(1) != "") {
start_play(mod_number,"user")
console.log("Playing from url mod # " + window.location.hash.substr(1));
}
});
}
get_files();
window.onload = function up() {
var input = document.getElementById('input');
document.getElementById('version').innerHTML =VERSION;
input.onkeyup = function () {
var filter = input.value.toUpperCase();
var lis = document.getElementsByTagName('li');
for (var i = 0; i < lis.length; i++) {
var name = lis[i].getElementsByClassName('name_song')[0].innerHTML;
//if (name.toUpperCase().indexOf(filter) == 0)
if (name.toUpperCase().includes(filter) == true) {
lis[i].style.display = 'list-item'
}
else
lis[i].style.display = 'none';
}
};
}
function check_mode()
{
var inp = document.getElementsByName('playmode');
for (var i = 0; i < inp.length; i++) {
if (inp[i].type == "radio" && inp[i].checked) {
return inp[i].value;
}
}
}

Binary file not shown.

View File

@ -1,5 +0,0 @@
<?php
$inp = file_get_contents('mods.json');
$library = json_decode($inp);
echo json_encode($library);
?>

808
mods.json
View File

@ -1,808 +0,0 @@
[
{
"md5": "34c2f5f654270e2f5a70d6e5c72a5861",
"filename": "daddy_freddy-under_the_bridge.mod",
"id": 2
},
{
"md5": "c4744d262f21231968b72e5e59c64989",
"id": 3,
"filename": "AGGRESSiON - Anti-Trojan Elite 3.4.3crk.mod"
},
{
"filename": "AERiS - Hod Dog King +7trn_02.mod",
"id": 4,
"md5": "08f21ad17f132c666835c73baba7d906"
},
{
"md5": "91118bb9e2bfcd0f24923495098973d2",
"filename": "4mat-menu3.mod",
"id": 5
},
{
"md5": "5e5c0af1c302d1b4a3216039fc24b115",
"id": 6,
"filename": "MYTH - Star Trek Voyager - Elite Force installer.XM"
},
{
"md5": "093c1a085bf9eb7c316c5b85025777f3",
"filename": "MYTH - Age Of Empires 2. Conquerorsinstaller.XM",
"id": 7
},
{
"md5": "b368c12784a41617895f1df9ef03602d",
"id": 8,
"filename": "Mp2k - Speeder XP 1.xcrk.mod"
},
{
"md5": "c00b2a95f6e75f88dd0cd92e7caead3d",
"id": 9,
"filename": "Lucid - Compare It! 3.81.1660kg.XM"
},
{
"md5": "0f2a289f47333ff61d13156b85644a43",
"filename": "vim-nuff_naff_ness.mod",
"id": 10
},
{
"filename": "technix-android.mod",
"id": 11,
"md5": "262de0c4bf31e18d823fbce9da1f1494"
},
{
"md5": "57e0e75881814972f59bcbcc5b77ecd8",
"filename": "AAOCG - mIRC 6.xkg.xm",
"id": 12
},
{
"filename": "ACME - Acronis TrueImage 10kg.mod",
"id": 13,
"md5": "350717915ad3e74ebfc6885e80001f93"
},
{
"id": 14,
"filename": "ADMINCRACK - Image Resize Guide 1.4 crk.it",
"md5": "757519ed54131077d2c7ba8d6bee97c1"
},
{
"filename": "AGAiN - AutoShutdownkg.xm",
"id": 15,
"md5": "f077d40adf510bcc32e98a5da67e1856"
},
{
"md5": "0d8bbb9c784a5a1f56d7ad5f25c56304",
"filename": "AGAiN - EIQ FirewallAnalyzer 3.2.10kg.xm",
"id": 16
},
{
"filename": "AGAiN - Novelty Pro 8.24 kg.xm",
"id": 17,
"md5": "dff17b7c1d9d88ee83352d0e8ab0d313"
},
{
"md5": "783bf8ee97a1591e6da19a8a41f43c08",
"filename": "BAKA! - DigiTV-HD 3.7.10 crk.xm",
"id": 18
},
{
"id": 19,
"filename": "banana_skin.mod",
"md5": "f9d82a6fa78c5414ffe79ea5d801b0ba"
},
{
"md5": "9ba16f9f58bdafc22d4dbcd236aa1bf3",
"id": 20,
"filename": "BetaMaster - Easy CD-DA Extractor 8.2.1crk.xm"
},
{
"filename": "Black Magic - Alien Shooter 1.2 +1trn.xm",
"id": 21,
"md5": "7304ab95990a00e05db0d02db7f1f03d"
},
{
"md5": "5e0b3daa184cdfb15e5dc2a746de4230",
"filename": "BRD - No.1 Video Converterkg.xm",
"id": 22
},
{
"md5": "4e7887bcd4495e8ad2147a17057fb94e",
"filename": "BRD - Teleport Prokg.xm",
"id": 23
},
{
"md5": "1d8def01b93ea0bd97ad8af40425df42",
"id": 24,
"filename": "Canterwood - Hex Workshop v4.22kg.xm"
},
{
"filename": "chipsounds.mod",
"id": 25,
"md5": "85428bb7ac13730d2576f0904eb7d019"
},
{
"md5": "d3e2910ade401a9a607570eee77e20ae",
"filename": "CiM - Nero 6kg.xm",
"id": 26
},
{
"md5": "e3967a2d4ffe25e4e6c17f6616adf7d6",
"id": 27,
"filename": "civilian.xm"
},
{
"md5": "1c17ef518924e9df6af67d3673452a63",
"id": 28,
"filename": "CORE - Power ISO 3.1kg.xm"
},
{
"md5": "20260901aedf916a922a739bb082673c",
"filename": "cydonian sky.xm",
"id": 29
},
{
"md5": "edcde32277e426ec6920575360d92840",
"filename": "db_vod4k.xm",
"id": 30
},
{
"md5": "e41394a3efbf0f6368a84e7d4074c725",
"filename": "DiGERATi - CHM To PDF Converter Professional 3.4crk.XM",
"id": 31
},
{
"id": 32,
"filename": "DiGERATi - FontLab Studio 5.0crk.XM",
"md5": "43981fda7802564a2dce4f7e3ba4fd6b"
},
{
"filename": "doors_light_my_fire.xm",
"id": 33,
"md5": "f798ab94a67c386af12733096c38206b"
},
{
"md5": "17f1e6d22dbb8ff23f622022af5cbfab",
"filename": "dtn-super_mario_brothers.xm",
"id": 34
},
{
"md5": "82593ac53dec8396b748d21f5d3fc4dc",
"filename": "ECLIPSE - Recover My Files 3.94kg.xm",
"id": 35
},
{
"md5": "eed4e6ae80a01b7c78ca10088f4f02c5",
"id": 36,
"filename": "fuck_sopa.xm"
},
{
"id": 37,
"filename": "fuck_techno2.mod",
"md5": "28e6e43e1154ffafec19768a06bd46c9"
},
{
"id": 38,
"filename": "gandbox-mimi_mati_show.mod",
"md5": "3f49172fc36ed1225c12b21d00a8e5e1"
},
{
"md5": "1a2d9883717f27efbfea196dbeb5aa2f",
"id": 39,
"filename": "imploder.xm"
},
{
"md5": "2857fbace6b8f4773fb98f119ef0b5be",
"filename": "instant_remedy-giana_sisters.xm",
"id": 40
},
{
"id": 41,
"filename": "jozz-cognition.mod",
"md5": "9e6249bae45c2679f2c4e91a2e879ade"
},
{
"filename": "kabcorp_-_cracktro_vs_game.mod",
"id": 42,
"md5": "cecfbd229da317120e1891cc03d888e7"
},
{
"filename": "Kindly - Another World 1.1cinstaller.mod",
"id": 43,
"md5": "73b2e755d0bcff40fbb6bb728f92601c"
},
{
"id": 44,
"filename": "Kindly - HyperSnap 6.40.06crk.S3M",
"md5": "cdfe714f37b2354216b945a354318a80"
},
{
"id": 45,
"filename": "mcmp-happy_new_year93.mod",
"md5": "2d2822cdd56d3c791b1d8b5aff5b0384"
},
{
"id": 46,
"filename": "mktheme.it",
"md5": "61b1bd9b662b85eb988716837c0ea675"
},
{
"id": 47,
"filename": "Monday.mod",
"md5": "ec7b7e2756b698cfed265d59c5f6d526"
},
{
"id": 48,
"filename": "mysteristerium.mod",
"md5": "42bd323219feee18d24fbd807cc1d8f3"
},
{
"filename": "popcorns.mod",
"id": 49,
"md5": "429e39302641b5681c6afcb4d8bf73a5"
},
{
"md5": "ceae1bc5b9a6fdc52497eee53eb1c025",
"id": 50,
"filename": "psycho_force.xm"
},
{
"md5": "28b3016c2ea7b306cd25a8ff2a369e86",
"filename": "Razor1911 - Crysiskg.xm",
"id": 51
},
{
"md5": "47ab4ab78f11abd14712a3306edf8a3f",
"id": 52,
"filename": "RELOADED - Resident Evil 6 installer.xm"
},
{
"md5": "7a6fe486c260ccd93704b303f2d219e5",
"filename": "rfchip001.xm",
"id": 53
},
{
"md5": "e95976a08b6ffd09cbca52d52f0b38b1",
"id": 54,
"filename": "riders_on_the_storm.mod"
},
{
"filename": "SnD - Internet Download Manager 6.xx kg.xm",
"id": 55,
"md5": "b28edfbfea13631e5dc697d912aa4a83"
},
{
"md5": "63f3abd118a87ef6db6bdffb4b627046",
"filename": "SoS - Crackme25.xm",
"id": 56
},
{
"md5": "4c0ac335c82f59e72fb6aca1f2433e2c",
"id": 57,
"filename": "sound-of-da-lunatic.mod"
},
{
"md5": "a8f1570e9304f16597fd860a04a08e4b",
"id": 58,
"filename": "spoon-arkanoid.mod"
},
{
"md5": "9c0c477aeec397c14a07cae68a6fa209",
"filename": "StardustMemories.mod",
"id": 59
},
{
"filename": "tdk-russian_theme.mod",
"id": 60,
"md5": "b257cb601eeea4e67bf90fe60d4fb611"
},
{
"md5": "a82972add4a7917f77687e3115ceca56",
"filename": "team_destruction.xm",
"id": 61
},
{
"md5": "c03287aabaaaeac781c4946badaee564",
"id": 62,
"filename": "tinybrai.mod"
},
{
"md5": "2d1eb17e622ffc3608c1c53a496b1bbd",
"filename": "UnderPl - FlashGet 1.71kg.xm",
"id": 63
},
{
"filename": "_) - WinRAR and RAR unblacklister.xm",
"id": 64,
"md5": "b2dcf05d1f0fdda0370d2d620cca9a6d"
},
{
"md5": "99afd2250d8269c735e40f36be24ffc2",
"id": 65,
"filename": "wltrs_-_sunset.xm"
},
{
"filename": "FFF - EA Games Multikg.xm",
"id": 66,
"time": 1493299894,
"md5": "a7a6c5f93034b71b0c6d8d5a83c90da1"
},
{
"md5": "01e93348dfe58327a84dec3bf432da59",
"id": 67,
"filename": "F4CG - Moleskinsoft Clone Removercrk.xm",
"time": 1493301160
},
{
"md5": "cb2a73af74a63fe05887abed34a73466",
"time": 1493415017,
"id": 68,
"filename": "emax-its_grim_up_north.mod"
},
{
"md5": "8fbe59de618c0c247ea7bc48ef58c872",
"id": 69,
"filename": "floppi-valon_lapsi.xm",
"time": 1493974897
},
{
"id": 73,
"filename": "shout-fresh_juice2.mod",
"time": 1494529235,
"md5": "ab475a04377775d00b7e7d01d83ef13c"
},
{
"filename": "kollaps-coming_soon.mod",
"id": 74,
"time": 1495043261,
"md5": "44785ca97e6fc246ab2867f1f3b5b49e"
},
{
"md5": "abc983a21ae038398b4e60ef6a9edde0",
"time": 1495195119,
"filename": "pricky-hopper_dopper_popper.xm",
"id": 75
},
{
"md5": "57916e7c7f13365ebddb45a5c228be40",
"id": 76,
"filename": "minimum_velocity.s3m",
"time": 1496708803
},
{
"filename": "the_song.mod",
"id": 77,
"time": 1496709826,
"md5": "20bbc8e035928a4896f29588daf11fe1"
},
{
"time": 1496709838,
"filename": "razor_1911.mod",
"id": 78,
"md5": "ba6b5d633d1e6fec84819a24b0e5e25a"
},
{
"md5": "f347a8257b97a8d3c09ded3524d652ed",
"time": 1496780994,
"filename": "revenge.it",
"id": 79
},
{
"md5": "d9f4a42b6a1e220665e1907967449079",
"time": 1496781493,
"id": 80,
"filename": "radix-weather_girl.xm"
},
{
"id": 81,
"filename": "BReWErS - Timeshift 1.2 +6trn.xm",
"time": 1497050367,
"md5": "461c7639f1903ecbd0dd1613f2788d2c"
},
{
"filename": "BReWErS - Mass Effect 2 +15trn.xm",
"id": 82,
"time": 1497050371,
"md5": "286c3cdfcb3328b89c4137e54e487aa1"
},
{
"md5": "ef55a65773c1f4a053e5ab2758dbbd40",
"time": 1497050373,
"id": 83,
"filename": "BReWErS - Star Wars Force Unleashed Ultimate Sith Edition 1.1 +4trn.xm"
},
{
"md5": "00ad171aa8f89c6fab88ed62b25cdb83",
"time": 1497051131,
"filename": "BReWErS - Mirrors Edge 1.01 +7trn.xm",
"id": 84
},
{
"time": 1497052044,
"id": 85,
"filename": "BReWErS - X Blade +7trn.xm",
"md5": "6bb9c2f043f164a9b62b0c420fd28d68"
},
{
"md5": "99ada7b5a2efd94ecbcb4ee75e3f3641",
"id": 86,
"filename": "Orion-Nero6.3.1.6.xm",
"time": 1497052105
},
{
"time": 1497052213,
"filename": "Again - Link Stash 1.6.8.0kg.XM",
"id": 87,
"md5": "2a59014789ded1bc0f137b5bb180641e"
},
{
"time": 1497052308,
"filename": "AGAiN - FlashGetkgl_converted.xm",
"id": 88,
"md5": "be4a24b398c91852d0208fc5c107a8c0"
},
{
"id": 89,
"filename": "AGAiN - Stream SubText 2.1.14 DC 121003 kg.mod",
"time": 1497052310,
"md5": "d7e6956de806f74b43090e73c23d8f31"
},
{
"md5": "705ff5427f931071feb84616b69b2452",
"time": 1497052568,
"filename": "AGAiN - Swift 3Dkg.xm",
"id": 90
},
{
"md5": "212964b45d696e71ec452ed10036c67f",
"filename": "AiR - Nomad Factory All Products kg.it",
"id": 91,
"time": 1497052907
},
{
"filename": "TSRh - FlashGet1.65kg.xm",
"id": 92,
"time": 1497052978,
"md5": "9e01f1250ec175743bd00e8823ee4295"
},
{
"time": 1499670676,
"filename": "sf2megam.xm",
"id": 93,
"md5": "3ada68fd1a7bb8524bc0487302861631"
},
{
"id": 94,
"filename": "loxley-das_model.mod",
"time": 1500154189,
"md5": "9ca89fbb023fece3d746437c30af55d5"
},
{
"time": 1500287899,
"id": 95,
"filename": "lesnik-rob_mat_reyn_pink.xm",
"md5": "f9635d78466456d3b4796970e92d81c8"
},
{
"id": 96,
"filename": "maktone-the_crazy_dentist.mod",
"time": 1500325565,
"md5": "15bf49e3749473b20aa383fffd71d40e"
},
{
"md5": "68f8d4b824ff660d799b06e38e9293b8",
"time": 1500487726,
"id": 97,
"filename": "radix_xyce_-_rainbow_dash_.xm"
},
{
"md5": "48e1381bdf5aa9344bc56e1d00e8bbdc",
"time": 1500607726,
"id": 98,
"filename": "floppi_dreamchip_megamix2.xm"
},
{
"filename": "95-GABBA-MEGAMIX.MOD",
"md5": "a9cb37ec290e62575ee646dbd0f52dd0",
"id": 99,
"time": 1501138138
},
{
"filename": "algar-five.xm",
"md5": "d73fd7d61f389218b316a3136eec10b2",
"id": 100,
"time": 1501385077
},
{
"filename": "CORE - BoostSpeed3.0.2.451Keygen.xm",
"md5": "f4d0b1f6d0f6406dfbe65a137b2c1627",
"id": 101,
"time": 1501484486
},
{
"filename": "Deviance - Yeti Sports Arctic Adventurestrn.xm",
"md5": "438b4c46ac27979a5050e7fcb1745d12",
"id": 102,
"time": 1501510869
},
{
"filename": "maktone-class10.mod",
"md5": "53949e6a0c2dd47262f53200fd0a5465",
"id": 103,
"time": 1502214804
},
{
"filename": "maktone-2000ad_cracktro2.mod",
"md5": "d976d97769484c8bd746f888cc6e6f33",
"id": 104,
"time": 1502216328
},
{
"filename": "maktone-castlevania1.mod",
"md5": "73e3867a267a7edda6e9408280a06f78",
"id": 105,
"time": 1502216328
},
{
"filename": "maktone-class3.mod",
"md5": "89ea3039b1808298bf0a8dfe2ffe14c0",
"id": 106,
"time": 1502216329
},
{
"filename": "maktone-class5.mod",
"md5": "805224e3e09871652da22ed995fd2636",
"id": 107,
"time": 1502216329
},
{
"filename": "maktone-class6.mod",
"md5": "c4540d316b5d85d99575d7e8e147ef74",
"id": 108,
"time": 1502216329
},
{
"filename": "maktone-class9.mod",
"md5": "e09ed85e3d7ce90f0498d546ee17febc",
"id": 109,
"time": 1502216329
},
{
"filename": "maktone-class_cracktro15.mod",
"md5": "b812d1ae5ebc9e6a43028f2df5b70439",
"id": 110,
"time": 1502216329
},
{
"filename": "maktone-class_installer2.mod",
"md5": "715162a6a811761247ec3e0f2f978c37",
"id": 111,
"time": 1502216329
},
{
"filename": "maktone-false_alarm.mod",
"md5": "b357ef811e148b99b56a1bc3c6adced6",
"id": 112,
"time": 1502216330
},
{
"filename": "maktone-freedom.mod",
"md5": "6780799e65056d04314b39923fa7874f",
"id": 113,
"time": 1502216330
},
{
"filename": "maktone-invite_intro2001.mod",
"md5": "2f879958129ba77705d1b4543a9dc142",
"id": 114,
"time": 1502216330
},
{
"filename": "maktone-meskalin.mod",
"md5": "454a9bfa1cf62e223974d47ed1677fb3",
"id": 115,
"time": 1502216330
},
{
"filename": "maktone-paint_it_black.mod",
"md5": "22c52117dceff39d8ae53fa5b1e6cf69",
"id": 116,
"time": 1502216330
},
{
"filename": "maktone-razor1911_chipdisk1.mod",
"md5": "c9d11b96b6ce52ab9b18be34282c10ea",
"id": 117,
"time": 1502216330
},
{
"filename": "maktone-razor1911_chipdisk2.mod",
"md5": "7e93d8724fe8ac0c40c2d0db4160b64c",
"id": 118,
"time": 1502216330
},
{
"filename": "maktone-revenging_cops.mod",
"md5": "d291b5766a64b96e7ebd97fc678e34bc",
"id": 119,
"time": 1502216330
},
{
"filename": "maktone-sae3.mod",
"md5": "1d80e40b8da7b42c0811089c1fa1bdbe",
"id": 120,
"time": 1502216330
},
{
"filename": "maktone-sae4.mod",
"md5": "7bc7b5f8cb95205c6d20a93e351f7f22",
"id": 121,
"time": 1502216330
},
{
"filename": "maktone-super_mario_world.mod",
"md5": "22f89872e8dcb55b84d0af9797c77d61",
"id": 122,
"time": 1502216331
},
{
"filename": "maktone-white_widow.mod",
"md5": "c1aac174e91c4c4ef731cb6548ec4ff8",
"id": 123,
"time": 1502216331
},
{
"filename": "maktone-xps_introtune3.mod",
"md5": "487c7e958795112bf3121f58552faa5f",
"id": 124,
"time": 1502216331
},
{
"filename": "rez-little_wings.mod",
"md5": "e4115fb58683c87d033a0a5fb3bb9138",
"id": 125,
"time": 1503930930
},
{
"filename": "tRUE - Watermark Master 1.2.13crk.mod",
"md5": "d31fc4780cbc42e050f3331d8322b612",
"id": 126,
"time": 1503930935
},
{
"filename": "CROME - Nova superb.xm",
"md5": "a0b450aaa78abab2bd8ae9037f126487",
"id": 127,
"time": 1503930941
},
{
"filename": "dubmood-ninja_starts_school.xm",
"md5": "b0d27276c24e75828cc84b2059e18182",
"id": 128,
"time": 1503939165
},
{
"filename": "dubmood&nadom-prask.xm",
"md5": "b5f34b4158af8e8dd69b73be5408b226",
"id": 129,
"time": 1504008134
},
{
"filename": "burning_binary.it",
"md5": "eccb87bc977dbb36dba7ac7625413876",
"id": 130,
"time": 1504189088
},
{
"filename": "dubmood&zabutom-oh_2149_sexy_thing.xm",
"md5": "3d856fcf1c8791a01df0675f31435318",
"id": 131,
"time": 1504523316
},
{
"filename": "powerplant.mod",
"md5": "7249adb5def58a107ac9f12b674bd5cd",
"id": 132,
"time": 1504551882
},
{
"filename": "softworld.mod",
"md5": "a1ad01a92f6a05f4542ed2de0c2fdc47",
"id": 133,
"time": 1504552154
},
{
"filename": "sourcream_chips.xm",
"md5": "fb1ee2c4970d6606eef4ca1665919bd9",
"id": 134,
"time": 1504552641
},
{
"filename": "_high_tension_.mod",
"md5": "1ecbc6db2d86ea5880b1608353e129c8",
"id": 135,
"time": 1504553132
},
{
"filename": "jelly&dalezy&skeema-cocain-theme.xm",
"md5": "9140c7c94e1c24258318d2a88b530e69",
"id": 136,
"time": 1505392907
},
{
"filename": "chromag-aetsch!.mod",
"md5": "1ff1e63d1abc0cd200efba301755c675",
"id": 137,
"time": 1506024945
},
{
"filename": "estrayk-bwalls.mod",
"md5": "9fcb61e84eb694b160fd980f4bbe2aa4",
"id": 138,
"time": 1506371196
},
{
"filename": "dubmood-rez_1911_cracktro_6.xm",
"md5": "2004c50cf8025492ee2ea9d646618348",
"id": 139,
"time": 1506415533
},
{
"filename": "lhs_rld10.xm",
"md5": "8044f35901666d8ca4c887f4f67ba0d8",
"id": 140,
"time": 1506923851
},
{
"filename": "pink-the_last_remix.mod",
"md5": "77e876f309bc11e531cbc4ee6d875983",
"id": 141,
"time": 1508907875
},
{
"filename": "wire-last_ninja_remix.xm",
"md5": "223cd5cfcf1c41fd43edb4f5f8a99c17",
"id": 142,
"time": 1509188775
},
{
"filename": "bit-neological.mod",
"md5": "22fc4f89e0e31456c928347a18b2c27e",
"id": 143,
"time": 1510332676
},
{
"filename": "nugget-kinesisk_polka.mod",
"md5": "092116048288198eb52bd5b29261cd8d",
"id": 144,
"time": 1510814626
},
{
"filename": "jellydog-chippie2.xm",
"md5": "c9331a0846a7820e551239c3718eccc4",
"id": 145,
"time": 1512541903
},
{
"filename": "diesel-fucked.mod",
"md5": "88213bb750fe4a32eebc2ae7e419ba77",
"id": 146,
"time": 1521741316
},
{
"filename": "DesertDream-end.mod",
"md5": "ba9cd7ebe9653b44bd1ee9f934459208",
"id": 147,
"time": 1528630147
},
{
"filename": "inco-byggsats13.mod",
"md5": "9a821a493094c9aef6114050b18c10d9",
"id": 148,
"time": 1537185191
},
{
"filename": "wingsofd.XM",
"md5": "a6d407a587217e3d01c9beb8364ee13d",
"id": 149,
"time": 1538069576
}
]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More