nyanpasu64
0ee3f6af92
Remove LocalPostTriggerConfig from default_config (due to speed hit)
2018-10-30 18:01:38 -07:00
nyanpasu64
1f934c2b03
Demean data before triggering
...
CorrelationTrigger computes mean and stores into cache.
- Both input data and buffer-update data are demeaned.
LocalPostTrigger uses `cache.mean` to demean data.
2018-10-30 18:01:38 -07:00
nyanpasu64
a8a58cb3c0
Make LocalPostTrigger quit if edge correlation is negative
2018-10-30 18:01:38 -07:00
nyanpasu64
c15334fe54
Make PostTrigger normalize input data by peaks
...
Without normalization, the stronger the data is,
the larger correlation it has with the edge trigger.
The parabolic cost function is more effective at low signal strengths.
2018-10-30 18:01:38 -07:00
nyanpasu64
3beaee923c
[wip] Add PostTrigger and LocalPostTrigger
...
A post-processing trigger should have subsampling=1,
and no more post triggers.
LocalPostTrigger uses a parabolic cost function for shifting to find
edges. It doesn't work well and needs tweaking.
2018-10-30 18:01:38 -07:00
nyanpasu64
cc7b9b35ac
Add ITriggerConfig.post and Trigger.post for trigger chaining
...
One would think `use_edge_trigger` should be an InitVar.
But it breaks test_trigger_subsampling() which is parameterized on
`cfg.use_edge_trigger` (and I want to keep it that way, not peek at
`cfg.post`).
I also copied test_trigger_subsampling to test_post_trigger_subsampling,
to test `cfg.post`.
2018-10-30 18:01:38 -07:00
nyanpasu64
6c4e128031
Add PerFrameCache class to cache period over multiple triggers
2018-10-30 18:01:38 -07:00
nyanpasu64
34877f4f37
reconfigure pycharm
2018-10-30 18:01:38 -07:00
nyanpasu64
584b42ea19
[CorrelationTrigger] extract variable
2018-10-30 18:01:38 -07:00
nyanpasu64
15f7a1ec4a
Remove unneeded dependencies from setup.py
2018-10-30 01:15:38 -07:00
nyanpasu64
a2b10e8541
Fix bug which dumps empty lists to YAML (show_internals: [])
2018-10-29 22:21:38 -07:00
nyanpasu64
6073ec926e
Add 2-clause BSD license
2018-10-12 03:56:25 -07:00
nyanpasu64
3fd37133da
Fix test on Windows
2018-09-05 17:41:42 -07:00
nyanpasu64
dd1f2b7b1d
Merge pull request #52 from nyanpasu64/terminate-ffmpeg
...
Properly terminate FFmpeg output processes
2018-09-05 17:40:44 -07:00
nyanpasu64
355071d7c8
Add output test, ensure Ovgen closes pipe to ffmpeg
2018-08-29 01:08:05 -07:00
nyanpasu64
a62f1561cf
Fix output pipeline tests (unique Popen mocks)
2018-08-29 00:57:08 -07:00
nyanpasu64
a3e6db27b6
Add `-movflags faststart` to video template
...
Closing ffmpeg stdin properly causes `-movflags faststart` to no longer
produces corrupted video files.
2018-08-28 03:21:57 -07:00
nyanpasu64
8f521529c2
Disable unit test (creates a popup window)
2018-08-28 03:21:57 -07:00
nyanpasu64
aae4646157
Properly terminate output processes (including exceptions)
2018-08-28 03:21:49 -07:00
nyanpasu64
970fffef0c
Rename _FFmpegCommand to _FFmpegProcess
2018-08-28 03:03:11 -07:00
nyanpasu64
97c8f88c20
Merge pull request #51 from nyanpasu64/config-end-time
...
Add Config.end_time parameter
2018-08-27 21:34:40 -07:00
nyanpasu64
115222b1c9
Add Config.end_time parameter
...
Useful for truncating video rendering (via FFmpegOutput), since Ctrl+C
results in broken video files.
2018-08-27 20:58:31 -07:00
nyanpasu64
cc13f3c50c
Merge pull request #49 from nyanpasu64/fix-cli-dirs
...
Fix bugs when dumping/loading YAML in another directory
2018-08-27 16:55:15 -07:00
nyanpasu64
f917c3bdc6
Fix bug where test_output writes to ./- instead of stdout
...
Also remove gibberish from test_output
2018-08-27 14:57:40 -07:00
nyanpasu64
ba17f64618
[wip] Fix loading YAML config from another directory
...
Bugs: FFmpeg writes to file named "-"
2018-08-27 04:48:35 -07:00
nyanpasu64
590aad12ba
Add test for loading YAML config from another directory
2018-08-27 04:31:37 -07:00
nyanpasu64
e1c4bdbbdb
Fix CLI YAML output path (should write to current dir)
2018-08-27 01:47:39 -07:00
nyanpasu64
74f260711c
Add test for command-line write paths
...
Fails at the moment
2018-08-26 23:50:21 -07:00
nyanpasu64
7e93c60f9a
Fix tests (CLI sink fixtures)
2018-08-26 23:48:36 -07:00
nyanpasu64
7923812407
Update PyCharm config: add Git commit message limits
2018-08-26 23:47:44 -07:00
nyanpasu64
2042061633
Update .gitignore to exclude .orig merge files
2018-08-26 23:47:28 -07:00
nyanpasu64
de22e277f0
Make Config.subsampling optional ( #38 )
2018-08-26 22:10:38 -07:00
nyanpasu64
49640e60fb
Merge pull request #45 from nyanpasu64/improve-bass
...
Revamp support for long windows
2018-08-26 19:34:02 -07:00
nyanpasu64
29798e7343
Increase trigger performance, cache and reuse data window
...
Reuses data window if period is within 1 semitone of saved window.
2018-08-26 19:33:34 -07:00
nyanpasu64
3af6af7b99
Fix trigger crash bug
...
If get_period returns np.int64, `round(period * x)` (x=float) produces
np.float64 instead of int.
The previous commit changes (for x in cfg.trigger_falloff) from int to
float.
2018-08-26 18:44:55 -07:00
nyanpasu64
4c9b8f96ce
Reorganize CorrelationTriggerConfig
...
use_edge_trigger and edge_strength serve the same purpose.
trigger_falloff and lag_prevention both control input data windowing.
2018-08-26 18:31:16 -07:00
nyanpasu64
d8c3ef48ef
Increase trigger performance, don't calculate period twice per frame
2018-08-26 17:00:55 -07:00
nyanpasu64
cd0dbc5de6
Save CProfile snapshots to useful filenames
2018-08-26 16:10:02 -07:00
nyanpasu64
95895d8a07
Reorganize Config, add global trigger_width and render_width
...
`trigger/render_width` are grouped with `width_ms`, because they modify
`width_ms`.
`trigger/render_width/trigger` are grouped together, since `channels`
can override them.
2018-08-26 01:47:23 -07:00
nyanpasu64
e42d235343
Rename trigger/render_width_ratio to trigger/render_width
...
trigger/render_width multiplies how wide the window is, in milliseconds.
2018-08-26 01:24:26 -07:00
nyanpasu64
e491afce60
Add CorrelationTriggerConfig parameter validation
2018-08-26 01:19:47 -07:00
nyanpasu64
979c16d9c2
Add configurable lag_prevention parameter to trigger
...
lag_prevention ranges from 0 to 1. Lower values have a narrower fadeout
for old data, leaving more data untouched for the correlation process.
2018-08-26 01:19:33 -07:00
nyanpasu64
9b76cc1731
Remove unused broken function
2018-08-26 00:16:47 -07:00
nyanpasu64
93af9a9a58
Add `show_internals` option to show 'window' or 'buffer'
2018-08-26 00:16:47 -07:00
nyanpasu64
494ce2bf69
Add ability to load legacy YAML files
...
Add Ignored and Alias fields to Config and CorrelationTriggerConfig.
2018-08-25 22:44:42 -07:00
nyanpasu64
98a13e9c5b
Add Ignored object, for discarding config fields
2018-08-25 22:25:09 -07:00
nyanpasu64
56438bed5c
Add Alias class, for config field aliasing
2018-08-25 22:19:09 -07:00
nyanpasu64
acffc1a55e
Fix unit tests
2018-08-25 18:51:01 -07:00
nyanpasu64
a7b1c06114
Rename Channel.nsamp to window_samp
2018-08-25 18:50:57 -07:00
nyanpasu64
2f08ca9ad8
Rename Trigger(nsamp=) to tsamp
2018-08-25 18:50:20 -07:00