Wykres commitów

165 Commity (acffc1a55ef3a88f040bb6fe6607ffb81e17d9f7)

Autor SHA1 Wiadomość Data
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
nyanpasu64 b2ebc2189d Fix trigger falloff windowing 2018-08-25 17:06:25 -07:00
nyanpasu64 cf0f716593 Add data padding/truncation functions (and unit tests) 2018-08-25 17:06:13 -07:00
nyanpasu64 a2051cc988 [wip] Add trigger_falloff parameter 2018-08-25 16:35:15 -07:00
nyanpasu64 55de73ebd7 Don't shrink data_window due to subsampling (erroneous assumptions)
If subsampling doubles, halfN *2 and _subsampling *2. data_window should
/2, but would previously / 2√2.

(Note: data_window(std=) is in units of samples, whose size is
proportional to _subsampling.)
2018-08-25 16:10:31 -07:00
nyanpasu64 9ddef6d20c Add trigger_diameter parameter (distance to shift data) 2018-08-25 16:10:31 -07:00
nyanpasu64 f2f873707d Fix lag when using long input windows
Prevent CorrelationTrigger from looking backwards >= 1 frame in time.
Left half of data window is min()-tapered by a padded half-Hann window.

Primarily useful for bass.
2018-08-25 16:10:31 -07:00
nyanpasu64 f62b3ce471 Add debugging option to show buffers (Config.show_buffer) 2018-08-25 15:59:24 -07:00
nyanpasu64 aa3e4fb8e1 Rename RENDER_PROFILING to PRINT_TIMESTAMP 2018-08-25 15:46:39 -07:00
nyanpasu64 dbebff7439 Remove unused local variable 2018-08-25 03:16:40 -07:00
nyanpasu64 162cb453fd Fix nsamp used for rendering, when render_subsampling > 1 2018-08-24 01:47:23 -07:00
nyanpasu64 ce3849cd54 Rename Wave.get_around(region_len) to region_nsamp 2018-08-24 01:05:46 -07:00
nyanpasu64 8a781c9d3a Disable Ovgenpy print(time) when RENDER_PROFILING=False 2018-08-24 01:04:42 -07:00
nyanpasu64 3c97c0dbcf Raise error when constructing Ovgen with 0 channels 2018-08-24 01:03:17 -07:00
nyanpasu64 5c38445d56 Move Ovgen renderer construction to private method 2018-08-24 01:02:13 -07:00
nyanpasu64 1dc071a7de Raise error when calling Ovgen.play() more than once 2018-08-24 00:27:06 -07:00
nyanpasu64 6d028c1dc5 Fix FPS calculation when begin_time is not 0 2018-08-24 00:25:58 -07:00
nyanpasu64 2a23dedc55 Fix subsampling 2018-08-24 00:05:57 -07:00
nyanpasu64 e9c0a21469 Remove unused Config.wav_prefix and update tests
It was intended that Channel.wav_path was stored and loaded relative to
Config.wav_prefix, but this was never implemented (neither saving nor
loading.)

This change simplifies code, and eliminates some inconsistency (Config.
master_audio was never planned to be relative to Config.wav_prefix).
2018-08-20 01:13:47 -07:00
nyanpasu64 652847028c Add NullTrigger 2018-08-20 01:02:04 -07:00
nyanpasu64 55573852e6 Add unit tests for loading folders via CLI 2018-08-20 00:38:20 -07:00
nyanpasu64 2a19afce5f [wip] Add unit tests for CLI parser 2018-08-20 00:38:13 -07:00
nyanpasu64 47a8450669 Improve error message for nonexistent files 2018-08-20 00:38:13 -07:00
nyanpasu64 7eb9cea766 CLI: Remove --write path argument, automatically generate path
If audio is present, use `audio without .wav`.yaml. If not present,
default to ovgenpy.yaml.
2018-08-19 19:08:49 -07:00
nyanpasu64 590185ae5c Rename --write-cfg to --write 2018-08-19 18:53:52 -07:00
nyanpasu64 75d2e066c0 Create Click parameter type OutFile 2018-08-19 18:53:13 -07:00
nyanpasu64 cb19417787 Reformat command-line parser to reduce visual clutter 2018-08-19 18:51:13 -07:00
nyanpasu64 910dd507d9 Validate parameters when loading YAML config
Call the dataclass constructor, which raise TypeError on extra or
missing arguments.
2018-08-19 15:59:39 -07:00
nyanpasu64 b4104185f4 Make begin_time optional, defaulting to 0 2018-08-19 15:33:47 -07:00
nyanpasu64 716f799c42 Add `begin_time` parameter, to skip ahead in rendering.
CorrelationTrigger starts with zeroed-out buffer, so triggering will
differ from not seeking.
2018-08-18 15:58:36 -07:00
nyanpasu64 3cec61a2ac Ensure that Ovgen.outputs are closed upon exceptions
channels and outputs are loaded upon Ovgen.play(), not __init__ creation
2018-08-18 02:57:03 -07:00
nyanpasu64 8f228d2da7 [PipeOutput] Combine all return codes from pipeline.
This allows the caller to detect whether intermediate commands (eg.
ffmpeg | ffplay) failed.
2018-08-18 02:57:03 -07:00
nyanpasu64 2c48de88af Terminate ffmpeg and ffplay on exception 2018-08-18 02:57:03 -07:00
nyanpasu64 1e09f2af40 [wip] Kill ffplay on exception, refactor Popen handling 2018-08-18 02:57:03 -07:00
nyanpasu64 30425e5375 Merge pull request #28 from nyanpasu64/layout-config
Always write layout orientation to YAML
2018-08-17 16:55:59 -07:00
nyanpasu64 4289ff2d81 Merge pull request #27 from nyanpasu64/benchmark
Add benchmarking support
2018-08-17 14:54:42 -07:00
nyanpasu64 f6b554fe86 Fix dumping benchmark_mode to YAML 2018-08-17 14:50:28 -07:00
nyanpasu64 c58fb527cc Add config parameter for benchmarking 2018-08-17 01:56:34 -07:00
nyanpasu64 3324ed1568 [renderer] Test default colors, and channel line-color overrides 2018-08-17 00:00:36 -07:00
nyanpasu64 b1688f9d54 Always write layout orientation to YAML 2018-08-16 22:37:39 -07:00
nyanpasu64 74f47a6525 Add test for rendering to output 2018-08-16 22:21:18 -07:00
nyanpasu64 d94d6b235f Add line width support to MatplotlibRenderer 2018-08-16 22:21:18 -07:00
nyanpasu64 33166f19a2 Mark MatplotlibRenderer attributes as protected 2018-08-16 22:21:18 -07:00
nyanpasu64 5f94be0329 Add test for renderer background/foreground colors 2018-08-16 22:21:18 -07:00
nyanpasu64 b0de9be500 Switch to blue line by default 2018-08-16 22:21:18 -07:00