Commits
- Commit:
f0814f307bb304b10bf2a3603952fbf4d70b00b3
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
stick to rand for portable
This backs out commit 40c37b5c (use arc4random) except for the header
include.
Crappy old rand(3) is fine for this program. It's just bad form on
OpenBSD and its linker spews an annoying warning about it.
FWIW, Linux finally got arc4random(3) with glibc >= 2.36 (2022) so it
could actually be considered fairly portable now. However, for the time
being, I'd like to still support older systems. NB, the closest "native"
alternative, getentropy(3), appears in glibc >= 2.25 (2017), so even it is
not exactly ancient, yet. Thus, instead of mucking around with wrappers,
feature flags and conditional compilation, rand() is still it for portable.
- Commit:
aba7856aa944db993d533420fa5861adfb294a7f
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
add a note about sndiod
- Commit:
87510752bd6ec00630640f064e393047da725e22
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
note FreeBSD support
- Commit:
e89d56a85faf221d44b065198485aee1dab98650
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
add /usr/local to search paths
- Commit:
2fa1ee118e7f181bdcf5fbdc43670ff169e2e902
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
update README (portable version, supporting Linux)
- Commit:
a29471d25a84a96ed12b8a7b484a91f9073e95f5
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
define a replacement for getprogname on Linux
- Commit:
d9e925017c18eb73146d32306317be707e71176e
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
replace pledge with a no-op outside of OpenBSD
- Commit:
8bf45581e9d9b5fd2c32633ecf3fcd800090b66e
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
define timespec helpers if missing
- Commit:
76906c96c9ae0469191ea7b65a1c9bb2eb38e85c
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
add platform.h
(Empty for now.)
- Commit:
164e782ea2f158653acce2644ad4ef4da32ed7c6
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
support gmake
GNU make does not have $> (.ALLSRC) but $^ instead. The trick is to just
use both since each implementation defines one but not the other. XD
- Commit:
40c37b5c53a2635cfb1f4cb3a29c2a5f6648a0ea
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
use arc4random
While crappy old rand(3) is fine for this program and uses arc4random(3)
on OpenBSD anyway, the linker spews a warning about it and the noise
during compilation is annoying me.
FWIW, Linux finally got arc4random(3) with glibc >= 2.36 (2022) so it
could actually be considered fairly portable now. However, for the time
being, I'd like to still support older systems. NB, the closest "native"
alternative, getentropy(3), appears in glibc >= 2.25 (2017), so even it is
not exactly ancient, yet. Thur, instead of mucking around with wrappers,
feature flags and conditional compilation, rand() is still it for portable.
- Commit:
7100fec23ecb5b29fc48094dfc0c63b0a9f8f32f
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
add coefficient (basemul) for base weight
- Commit:
d01528a063b3d747c9fe5ea5b7e56c7e85fef0a1
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
use overall rate as baseline weight
- Commit:
7e15a2c893e203a68e2edce3688ffbecb938cd8e
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
slightly reorder the code in cwinit
- Commit:
0f4e0bbca959251f256a285d829b6517430e7401
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
clean up return latency code in cwstop
- Commit:
02b03fabec05c9e959d5b89c8a5b06c5e4c1d330
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
remove debug output
- Commit:
237ea00efb38e4f4408ead5b7805aa612769e323
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
reset the clock in cwstart
This is a workaround to guard against the possibility that the onmove
callback is not called at all. This happens if playback has not started
before cwstop(), and hence sio_stop(), is called.
- Commit:
3f64dc1f60040ec3263499bb414cb69aefe967d9
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
fix timing calculation
Measure and take into account the "return latency" of cwstop(), i.e. the time
it took between playback stopping ang cwstop() returning, usually negative.
- Commit:
b232461a63350252e93337c1c0c30e53f2a8cb0a
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
try to figure out proper timing
This is an intermediate commit of some experimental changes:
- playback in synchronous mode (par.xrun = SIO_SYNC)
- tracking of play position via sio_onmove() and total frames written
- (broken/ignored) reporting of "time remaining" from sound() and friends
- debug instrumentation (#ifdef DEBUGTIME)
- Commit:
ed992560fbc706d9790080ef4361e6a48790dd69
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
UI styling
- Commit:
2a60333bac6c807055d7d87aa9eaff5ffd18e587
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
fix two typos
Turns out my times were measured in centiseconds rather than milliseconds
as advertised. Oops.
Only discovered when looking to make them exact for the first time. Had
mostly ignored the values as "probably way off anyway". That appears to
have been an accurate assessment. X)
It does show nicely how the algorithm doesn't care about absolute values.
It operated just fine on centiseconds.
- Commit:
7feee87ca3ff925f86f779cc9e50e989431906c3
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
mention MORSE_LEVEL again in README
- Commit:
658c8904c0678f0c8fbfaf4c752bd5fcf43b4d05
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
fix default values in NOTES
- Commit:
4ff4e76f99c53a244e00f23c1ab69fe22f00b5aa
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
add CW_AMPLITUDE variable
- Commit:
a7dafd6f194e81639c91e50d75f205343d02eef2
- From:
- Sven M. Hallberg <pesco@khjk.org>
- Date:
add toc section to README