Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Register view improvements #118

Merged
merged 26 commits into from
May 10, 2022
Merged

Register view improvements #118

merged 26 commits into from
May 10, 2022

Conversation

Gumball2415
Copy link
Collaborator

@Gumball2415 Gumball2415 commented Jan 9, 2022

No description provided.

- Arrange register layout to 4 bytes per row
- Add modulation pitch and depth
- Arrange waveform view
@Gumball2415 Gumball2415 changed the title Improve FDS register layout Register view improvements Jan 10, 2022
Gumball2415 and others added 16 commits January 10, 2022 12:25
- Placed "rate" instead of pitch when sample rate is measured instead
- Justify and align frequency hertz text
- Put misc. GUI settings into its own config tab
- Fix warning being treated as error for x86 builds
- Put misc. GUI settings into its own settings category and registry
Even with this fix, both the oscilloscope and spectrum visualizer rely
on the visualizer thread processing incoming data faster than the audio
thread can write new data, on a "best-effort" basis. If the visualizer
falls behind, the oscilloscope or spectrum will show a discontinuity in
incoming data. The discontinuity will appear at a random point of the
oscilloscope. In spectrum mode, it will affect the entire spectrum, but
only appears at buffer lengths below 2048 samples.
- Arrange register layout to 4 bytes per row
- Add modulation pitch and depth
- Arrange waveform view
- Placed "rate" instead of pitch when sample rate is measured instead
- Justify and align frequency hertz text
- Put misc. GUI settings into its own config tab
- Fix warning being treated as error for x86 builds
- Put misc. GUI settings into its own settings category and registry
text.Format(_T("%s, %s, size = %i byte%c"), GetPitchTextFunc(1, period & 0x0F, freq),
(reg[0] & 0x40) ? _T("looped") : _T("once"), (reg[3] << 4) | 1, reg[3] ? 's' : ' ');
vol = 15 *!pSoundGen->PreviewDone();
text.Format(_T("%s, %-5s size = %-4i byte%c"), GetPitchTextFuncLong(1, (period & 0x0F), freq, 1),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be cool if, in DPCM mode, sufficiently short looped samples had their periodicities plotted. Not sure if this will suffer from wrong frequencies so often it's useless in practice. For example, https://www.youtube.com/watch?v=v-gdIjKd7Ic has a looped sample of a high note, but the loop length is like 17 wave periods long or something, so the register viewer shows a period 4 octaves down at the wrong note, and every DPCM sample has a differently wrong loop length.

Will a DPCM pitch viewer be right or wrong more often, or not show up at all in nearly all modules?

Gumball2415 and others added 9 commits May 1, 2022 18:11
Does not change name in registry!
 - Add wavetable register view
 - Add modulation register data
 - Add output modulation pitch in volume row
 - Use a filled wide rectangle instead of an extra colored rectangle
 - Get output frequency directly from FDS emulation
@Gumball2415 Gumball2415 merged commit fc88aab into master May 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants