Cthulhu is no longer a fork. Now it is a screen reader written in Golang.

This commit is contained in:
Storm Dragon committed 2026-10-14 00:16:34 -04:00
1 parent a998fe67de
commit 069fc674dc
708 files changed
+112482 -532

No files matched your search

+33
View File
@@ -0,0 +1,33 @@
// Copyright (c) 2026 Storm Dragon
// Authors: Storm Dragon, Angus Kola
// SPDX-License-Identifier: GPL-3.0-or-later
package sound
import (
"math"
"strconv"
"strings"
"time"
)
const positionCuePrefix = "generated-position-tone:"
// PositionCueName encodes relative position: zero is first, one is last.
func PositionCueName(position float64) string {
return positionCuePrefix + strconv.FormatFloat(position, 'g', -1, 64)
}
func set_position(cue string) (float64, bool) {
if !strings.HasPrefix(cue, positionCuePrefix) {
return 0, false
}
position, err := strconv.ParseFloat(strings.TrimPrefix(cue, positionCuePrefix), 64)
return position, err == nil && !math.IsNaN(position) && !math.IsInf(position, 0) && position >= 0 && position <= 1
}
func position_tone_wav(position float64) []byte {
// Two octaves distinguish the ends of a set. Smooth the edges of this
// short cue; the service supplies the user's volume and stereo position.
return tone_wav(220*math.Pow(4, position), 60*time.Millisecond, 0.5, 5*time.Millisecond)
}