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
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
graphtool-demo.harutohiroki.com
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# For Contributors
- The code is a mess, I know. I'm working on it. I'm sorry.
- If you want to contribute and help translate the tool, all the source English text is in the `en.json` file. Just copy the file and rename it to your language code (make sure to use ISO 639-1 Language Codes for auto-detection e.g. `fr.json` for French) and translate the text. I'll take care of the rest.
- The translation feature will always prioritize what's in the language files. If a text is missing in the translation file, it will default to the text in the `config.json` file.
- Please don't make any text/value `null`. If you want to not have a text/value, just leave it empty (e.g. `""` or `[]`).
- For targets, each target `"type"` is a key in the language files. The value of the key is the name of the category of targets.
24 changes: 2 additions & 22 deletions Configuring.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,12 @@ page works and isn't claiming it's crinacle.com.
* Remove or change the watermark.
* Remove the `targets`, replace them with your own, or get permission
from Crinacle to use the ones in the CrinGraph repository.
* If you are using a free/premium model, change `premium_html` in
`config_free.js` to point to your own site(s).

## Configuring CrinGraph

The main page used to display graphs is [graph.html](graph.html), which
The main page used to display graphs is [index.html](index.html), which
defines the basic structure of a page and then includes a bunch of
Javascript files that do the real work (at the end of the file).
[graph_free.html](graph_free.html) is identical but uses a different
configuration file to remove some functionality. You will only need to
use it if you intend to have both a free and a paid graph tool.

Ideally all configuration can be done simply by changing
[config.js](config.js). However, there are currently not very many
Expand All @@ -72,7 +67,7 @@ Here are the current configuration parameters:
key) is. You probably don't need to change this.
* `targets` lists the available target frequency responses. If you don't
want to display any targets set it to `false`. If you do use targets,
each one should be a file named `... Target.txt` in the `DIR`
each one should be a file named `... Target.txt` in the `DIR/targets`
directory you specified. The targets which are already there were
provided by Crinacle so make sure you have his permission before using
them.
Expand All @@ -81,21 +76,6 @@ Here are the current configuration parameters:
its value is multiplied by `scale_smoothing` to get the actual level
of smoothing.

The following parameters can be set to configure a restricted version
of the graph tool. They are only present in
[config_free.js](config_free.js). If you don't set them the tool will
be unrestricted.

* `max_compare` is the maximum number of graphs allowed at a time.
* `disallow_target` prevents target FRs from ever being loaded.
* `allow_targets` is a list of target names, and overrides
`disallow_target` for those targets, so they can be loaded. If
`disallow_target` isn't set, it has no effect.
* `premium_html` is the message shown when a user tries to do something
which isn't allowed according to the previous two settings. Given that
it points to Crinacle's patreon and not yours, you probably want to
change it.

The following parameters are used to allow multiple samples per channel
and different channel configurations than L/R. For example,
`config_hp.js` is intended for headphones and shows only the right
Expand Down
16 changes: 8 additions & 8 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
BSD Zero Clause License
Copyright (c) 2019 Marshall Lochbaum <mwlochbaum@gmail.com>

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
9 changes: 9 additions & 0 deletions MIGRATING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Migrating to Haruto's GraphTool version of CrinGraph for existing users of Squig.link

## Steps

1. Drag and drop your data folder over, overwriting the existing data folder.
2. (RECOMMENDED BUT OPTIONAL) Separate targets in your data folder to a separate folder named "targets" for each data folders.
3. Make changes to `config.js` and `config_hp.js` as necessary, should just be copy pastes from your old files as I've standardized the naming.
4. Make changes to `index.html` (your IEM page), and `index_hp.html` (your headphones page) as necessary, make sure to not touch anything outside the `<head>` tag.
5. Deploy and enjoy your new functionalities!
56 changes: 56 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,59 @@
# Demo Page
https://graphtool-demo.harutohiroki.com/

# Changes
- Added Equalizer (cred to Rohsa)
- Added Uploads
- Added Targets
- Added Website link on graph (cred to MRS)
- Re-themed graph window
- Re-done Frequency Range definitions
- Changed parser to universal parser
- Removed Restricted mode (cuz I want to keep it free)
- Reorganised code
- Moved targets to a different folder for organization
- Moved phone_book outside for easier access (reverted for squiglink compatibility)
- Added a function to average all active graphs (requested by listener)
- Custom Diffuse Field Tilt (requested by listener)
- Restyled EQ tab
- EQable pink noise in EQ tab (requested by listener)
- Added the ability to upload your own test track to EQ (requested by rollo)
- Added a button to disable and enable all EQ bands (requested by SK)
- Tone generator now EQable (requested by SK)
- Added a Channel balance slider
- Added a song progress slider to the EQ demo section (requested by XiaoShe)
- Added Ear Gain customisation to custom tilt (requested by listener)
- Made any target tiltable (requested by listener)
- Added Treble customisation to custom tilt (requested by listener)
- Added a button to swap between different y-axis scales (requested by rollo)
- Added Preference Bounds and Preference Bound scaling (requested by listener)
- Reversed the "any target tiltable" feature, now applying tilt on target automatically if supported (requested by listener)
- Per-measurement compensation (requested by listener)
- Added support for Haruto's Graph Extension to apply eq to browserwide
- Made Preference Bounds better and not relying on a png anymore
- Downloadable CSV of all active graphs
- Per page Y scaling (requested by listener)
- Added a Graph Customisation menu
- Added Translations (Thanks to potatosalad775) (removed for now due to not having enough translations, will be added back soon)
- Added the 90% Inclusion Zone feature (requested and long awaited by the community)

# TODO
- Implement a way to measure the SPL of an IEM and decide whether to upload it or not, skipping REW
- ability to select which mic/output to use
- ability to select calibration files
- ability to apply smoothing
- Trace Arithmetic
- Realtime Analysis
- EQ upload to hardware

# Contributors
<a href="https://github.com/HarutoHiroki/PublicGraphTool/graphs/contributors">
<img src="https://contrib.rocks/image?repo=HarutoHiroki/PublicGraphTool&max=15">
</a>

# P.S.
- If you do implement code in here, do leave credits to the original author (me) and the contributors (Rohsa, MRS, potatosalad775)

# The In-Ear Graphing Library

If you're not weirdly obsessed with headphones you can leave at any time.
Expand Down
Binary file added assets/audio/Scarlet_Fire-Otis_McDonald.mp3
Binary file not shown.
Binary file added assets/audio/pinknoise.wav
Binary file not shown.
File renamed without changes.
Loading