User Details
- User Since
- Jul 2 2021, 4:03 PM (167 w, 2 d)
Yesterday
chn_getunr(): Use __assert_unreachable() instead of returning NULL.
An alternative approach using unr(9). Works with both ascending and descending order: https://reviews.freebsd.org/D46680
So, making this work when the list is sorted in descending order is quite more involved... The only viable solution I can think of is the following: 1) change from SLIST to TAILQ so that we can have TAILQ_FOREACH_REVERSE(), 2) introduce a CHN_FOREACH_REVERSE() macro, 3) store the sort type (i.e ascending or descending) in snddev_info, 4) check this sort type in chn_init(), and if it's ascending order, do what the patch does already, otherwise use CHN_FOREACH_REVERSE() instead instead of CHN_FOREACH(), so that the same code can keep working.
Fix.
Sat, Sep 14
Introduce -t option to print "Timing Clock" messages on-demand, in order to
declutter output.
Fri, Sep 6
Thu, Sep 5
Remove snd_maxautovchans checks in sysctl_dev_pcm_vchans() and vchan_setnew()
to preserve previous behavior. This way we can still disable VCHANs globally
through hw.snd.maxautovchans and enable them on demand through
dev.pcm.X.[play|rec].vchans.
Handle vchan_setnew() error case.
Read 2 bytes (instead of 3) in case byte1 in SysEx is 0.
Any comment related to the patch?
Wed, Sep 4
Tue, Sep 3
Update and depend on D46521.
I will also add a RELNOTES entry when I commit it.
Fix SysEx handling. In the case of 3-byte VendorID, I am not sure if we should
read 3 _additional_ bytes (what the patch does), or 2.
Mon, Sep 2
- read(2) on-demand. Introduce read_byte() function.
- Get rid of EVENT_MASK.
Sun, Sep 1
Sat, Aug 31
Fri, Aug 30
LGTM. I will commit the patch and add you as the author, as it needs some style(9) fix as well. Thanks!
Mon, Aug 26
Sat, Aug 24
Fri, Aug 23
Alright, didn't know we could use just GitHub for this. Thank you. :)
- Add bound check for ctls[].
- Use b2 instead of b1 for vendorid in SysEx.
Inspired by aseqdump, but more user-friendly (printing note names, frequencies, control names, ...), and also native so it does not require ALSA or any sound backend. In the future I would like to support MIDI 2.0 events as well, but I think for now we can roll with just MIDI 1.0.
Bump.
- Introduce play|rec.autoconv and realtime controls.
- Maybe the names could be improved
- See XXXs in mod functions
- In mod_realtime() the values are hard-coded to the defaults for when realtime=0, but I am not sure if that’s right.
- play|rec.rate and play|rec.format: Report vchanrate/format but made it read-only when VCHANs are disabled.
- Is OSS caps useful info?
- Future goals:
- Implement iostat -w <n>-like option as a future goal. I would like to think some more about a concise, yet useful/user-friendly output format, consider how many properties each channel has.
- Think about Florian's comment: “We can still show the hardware rate / format, but we don't have to show mixdown or virtual channel properties when VCHANs are disabled, nor do we have to show different formats when bitperfect is set. Part of the simplification is to hide what is not relevant in a situation.”.
- Improve the -v option in the future.
- Write a test script
Tue, Aug 20
Make reads more robust.
Use snd_aftm2str() instead of plain hex value for the rest of the feeder
classes.
Address Florian's comment.
Sat, Aug 17
Issue warning in case hw.snd.basename_clone is not set.