diff --git a/src/renderer/components/ScopeSettingsSection.tsx b/src/renderer/components/ScopeSettingsSection.tsx
index 1be5d92..2961589 100644
--- a/src/renderer/components/ScopeSettingsSection.tsx
+++ b/src/renderer/components/ScopeSettingsSection.tsx
@@ -440,7 +440,7 @@ export default function ScopeSettingsSection({
onChange={(value) => onUpdate('spectrogram', { colorScheme: value as ScopeSettings['spectrogram']['colorScheme'] })}
>
-
+
{
+ const imageData = renderSpectrogramColumnImage({
+ colorScheme: 'mono',
+ lineColor: 'rgb(10, 20, 30)',
+ }, [0, 0.5, 1])
+
+ assert.deepEqual(imageData.slice(0, 3), [10, 20, 30])
+ assert.equal(imageData[3], 0)
+ assert.deepEqual(imageData.slice(4, 7), [10, 20, 30])
+ assert.equal(imageData[7], 128)
+ assert.deepEqual(imageData.slice(8, 11), [10, 20, 30])
+ assert.equal(imageData[11], 255)
+})
+
+test('Spectrogram solid color honors authored tint alpha', () => {
+ const imageData = renderSpectrogramColumnImage({
+ colorScheme: 'mono',
+ lineColor: 'rgba(100, 150, 200, 0.5)',
+ }, [0.5, 1])
+
+ assert.deepEqual(imageData.slice(0, 3), [100, 150, 200])
+ assert.equal(imageData[3], 64)
+ assert.deepEqual(imageData.slice(4, 7), [100, 150, 200])
+ assert.equal(imageData[7], 128)
+})
+
test('Spectrogram keeps the historical display dB range for line thickness', () => {
const dom = installFakeCanvasDom()
const dataSource = {