nyanpasu64
0283f760ab
Slope Triggering (for PSG/C64/FM)
2019-04-11 14:08:11 -07:00
nyanpasu64
9f68bff952
Make renderer backends pluggable, store constants inside ( #267 )
2019-04-11 07:57:05 -07:00
nyanpasu64
59965cc789
Eliminate print() from test_trigger.py
2019-04-10 03:39:38 -07:00
nyanpasu64
99a81d3635
Make corrscope window size dpi-independent, widen window ( #238 )
...
Tested on Linux, Wine, and Windows 10.
2019-04-09 06:28:25 -07:00
nyanpasu64
452bf29d5e
Add configurable grid line width ( #265 )
2019-04-08 23:54:00 -07:00
nyanpasu64
fa8b77794d
Add configurable grid line width
2019-04-08 12:07:20 -07:00
nyanpasu64
13ccf4685e
Add _axes_factory().cfg local variable
2019-04-08 07:41:28 -07:00
nyanpasu64
8783fc7f92
Switch renderer to 72 px/inch
...
Eliminates all pixel conversions. Adds font size conversions.
2019-04-08 07:41:28 -07:00
nyanpasu64
ec13f6cf91
Remove unneeded GUI default for render.line_width
...
render.line_width has been non-None since 0.2.0.
2019-04-08 06:28:40 -07:00
nyanpasu64
2bece4f193
Update CHANGELOG.md
2019-04-08 06:20:48 -07:00
nyanpasu64
b8b8627923
Remove unused strings from GUI
2019-04-08 06:13:29 -07:00
nyanpasu64
10142f5bb4
Fix label scaling, rewrite resolution divisor ( #264 )
...
- Alter DPI (pixel/inch) instead of scaling each UI element individually
- Fix matplotlib output dimension mismatches with nonstandard DPIs
(which may not have occurred at 96dpi).
2019-04-08 05:23:01 -07:00
nyanpasu64
8300ec3682
Add support for per-channel labels ( #256 )
...
Known issue: matplotlib's font weight handling is often wrong.
2019-04-08 03:42:46 -07:00
nyanpasu64
ba4326fc4a
Replace output/renderer RGB_DEPTH with BYTES_PER_PIXEL ( #262 )
...
The new name expresses the semantic meaning of this constant.
The old name is tied to its current value (RGB 3-byte color depth).
2019-04-07 09:10:15 -07:00
nyanpasu64
1c0e66c45f
gui: Prevent AttributeError from leaking outside property ( #260 )
...
Leaking AttributeError causes hasattr() to return False,
which creates misleading PresentationModel stack traces.
2019-04-07 06:38:42 -07:00
nyanpasu64
c0acffb32f
model_bind: Allow both underscores and dots in rgetattr ( #258 )
2019-04-05 19:46:54 -07:00
nyanpasu64
5ec7b463aa
Dump underscore-prefixed fields, refactor config dumping ( #255 )
...
If I decide to revert to not dumping _fields:
keep the tests and refactorings, and manually rewrite the changes.
2019-04-04 19:08:59 -07:00
nyanpasu64
3849f7fe85
Refactor renderer API
2019-04-04 18:12:43 -07:00
nyanpasu64
2fc908dd5a
Remove code for showing internals
...
It was untested, already broken since stereo was implemented,
and the multiple ffplay outputs would desync upon pausing.
2019-04-04 18:12:43 -07:00
nyanpasu64
bb84e69b5e
Update DumpableAttrs doc comment
2019-04-04 04:12:09 -07:00
nyanpasu64
38a7c34f2e
Quit GUI when pressing Ctrl-C in terminal ( #252 )
2019-04-02 02:41:03 -07:00
nyanpasu64
323ce36137
Make GUI not rely on bool(), remove BoundWidget.__bool__() ( #251 )
2019-04-01 04:03:22 -07:00
nyanpasu64
bd34d5cf93
Reorganize GUI, move trigger settings to tab ( #245 )
2019-04-01 03:11:01 -07:00
nyanpasu64
ca563d30ca
Switch to bugfix fork of pyinstaller, fix Appveyor builds ( #249 )
...
Editing poetry.lock should be performed through
https://github.com/nyanpasu64/poetry .
Otherwise, pyinstaller and all its dependencies will erroneously
be marked as "main". Effects:
pyinstaller is installed when running poetry install --no-dev.
pyinstaller is not included into poetry build (neither setup.py nor whl).
does not affect pyinstaller/Appveyor builds.
2019-04-01 02:52:01 -07:00
nyanpasu64
e812bdfc9e
Switch data window to Gaussian ( #244 )
...
Seems to reduce jerking and triggering errors.
Remove cosine_flat().
2019-03-28 13:47:46 -07:00
nyanpasu64
3ae86de830
Add keyboard shortcuts to switch tabs ( #246 )
...
ctrl+tab, ctrl+pageup/down
2019-03-28 08:24:06 -07:00
nyanpasu64
ca01b8c422
Always draw vertical midline between <0 and >0 samples ( #243 )
...
- Add comments on Wave.get_around() even/odd conventions
2019-03-26 16:17:08 -07:00
nyanpasu64
13fb2f31c4
Edit CHANGELOG: 0.4.0 sets default mean responsiveness to 0.05
2019-03-26 04:07:20 -07:00
nyanpasu64
b5c713b403
poetry update
2019-03-26 02:46:01 -07:00
nyanpasu64
5e83abd3aa
0.5.0-pre
2019-03-26 02:21:46 -07:00
nyanpasu64
f9ebbf4a64
0.4.0
2019-03-25 23:08:08 -07:00
nyanpasu64
f591f783b1
Update changelog
2019-03-25 23:05:59 -07:00
nyanpasu64
27b5fc5106
Add Help menu pointing to Github Pages ( #242 )
...
Edit GUI backend to allow creating QAction via `create_element(QAction, **kwargs)`
2019-03-25 16:18:19 -07:00
nyanpasu64
030e769413
Mark Channel.render_samp, *_stride as private
2019-03-25 04:37:17 -07:00
nyanpasu64
1ce1e77fb7
Add Channel.get_render_around(trigger_sample)
2019-03-25 04:37:17 -07:00
nyanpasu64
a44cf11525
Merge pull request #241 from nyanpasu64/custom-stereo
...
Add custom stereo downmixing modes
corrscope treats:
- Flatten.SumAvg -> "sum of all channels"
- "1 1" -> "assert nchan == 2, left + right".
- "1 0" -> "assert nchan == 2, left".
I specifically make `Flatten == str` false,
to prevent the GUI from seeing "1 1" and loading Flatten.SumAvg
into the combo box.
Is this the best choice?
- [ ] In case of dimension mismatch,
generalize string inputs to multiple channels, by right-padding with
`if (max(entries) > 0 and min(entries) < 0) 0 else min(abs(entries))`.
## Quirks
- [ ] Logically speaking, taking a mono wav and applying -1 would invert it.
But mono tracks skip downmixing (`self._flatten = Flatten.Mono`)
so that doesn't work.
2019-03-25 04:04:41 -07:00
nyanpasu64
0ed61ff7a4
Add custom stereo downmixing and GUI
2019-03-25 02:16:55 -07:00
nyanpasu64
267d1387be
Allow multiple widgets updated by each model path
2019-03-25 02:16:31 -07:00
nyanpasu64
4575718e48
Add support for Custom combo box items
2019-03-25 02:16:26 -07:00
nyanpasu64
dcac99c0f0
Add documentation (docs/index.md)
2019-03-25 01:26:07 -07:00
nyanpasu64
573ceb0ec5
Reorganize GUI table, add buffer responsiveness
2019-03-22 23:36:19 -07:00
nyanpasu64
f8f50b25d8
Add screenshot to README
2019-03-22 04:13:17 -07:00
nyanpasu64
eed5ffddb8
Refactor and reorganize trigger GUI ( #236 )
...
- Separate trigger options into groups
- Enhance GUI framework
- `append_widget(name, layout, **kwargs)`
- `add_row(**kwargs{name=})`
2019-03-21 03:09:57 -07:00
nyanpasu64
ecfa452255
Make trigger/render subsampling preview-only ( #235 )
...
- Defaulting to render subsampling=2 leads to ugly Youtube uploads.
In particular, render subsampling hurts fm and high treble freq bands,
which i did not encounter during earlier testing.
- Render subsampling has marginal performance gain I think.
2019-03-14 17:14:16 -07:00
nyanpasu64
418da820f2
Add configurable mean subtraction responsiveness ( #234 )
2019-03-14 06:00:00 -07:00
nyanpasu64
407454a126
Add slope-detection triggering ( #228 )
2019-03-14 05:26:41 -07:00
nyanpasu64
c8a598fe68
Speed up mean calculation (?)
2019-03-14 03:38:13 -07:00
nyanpasu64
08458c8906
Move code from triggers.py to new files
2019-03-14 03:26:35 -07:00
nyanpasu64
58b43266b4
[gui] Implement add_row(name=str)
2019-03-14 03:07:05 -07:00
nyanpasu64
c0b68bfd33
Fix crash on unrecognized channel-trigger-dict fields
2019-03-14 02:41:27 -07:00