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
nyanpasu64
a8e91f0a1b
Replace Trigger(nsamp_frame) parameter with fps
2018-08-25 18:18:47 -07:00
nyanpasu64
878d03517d
Remove debug prints, render buffer (not window).
2018-08-25 17:48:24 -07:00
nyanpasu64
88355f5cb0
Reorganize Config class.
...
Reasoning: subsampling does not affect trigger duration. Only width_ms
and channels[].width_ratio are involved.
2018-08-25 17:44:41 -07:00
nyanpasu64
5d0155fab3
Properly subsample 1-frame windows of CorrelationTrigger
2018-08-25 17:38:46 -07:00