Šerif Rami
d35da0e547
feat: Refactor and optimize TASCAM US-144MKII driver
...
This commit includes:
- Reverted audio stream decoupling to restore original behavior.
- Implemented SysEx state machine and error retry for MIDI handling.
- Performed memory leak audit and confirmed no obvious leaks.
- Optimized playback and capture data copying for efficiency.
- Reordered `tascam_card` structure for improved cache locality.
- Fixed `active_urbs` counter management to prevent "URBs still active" errors.
2025-08-06 17:35:22 +02:00
Šerif Rami
db5df99677
Merge branch 'main' of https://github.com/serifpersia/us144mkii
2025-08-06 13:48:31 +02:00
Šerif Rami
fcfad9bfc2
proper kernel code formatting
2025-08-06 13:40:07 +02:00
Šerif Rami
f44b75094c
proper kernel code formatting
2025-08-06 13:25:01 +02:00
Šerif Rami
5777265466
Reapply "GUI fixes"
...
This reverts commit f861106f1b22a2819f88389742569e99ff646f27.
2025-08-06 13:24:59 +02:00
Šerif Rami
8c047e6f7e
Revert "GUI fixes"
...
This reverts commit 8b522452ed8bda17033d02620b72a406adb248ec. Driver logic caused capture regression.
2025-08-06 13:24:59 +02:00
serifpersia
81c133fb52
GUI fixes
2025-08-06 13:24:59 +02:00
Šerif Rami
1f8b9c3fd9
potential support for US-144
2025-08-06 13:24:43 +02:00
Šerif Rami
652814585c
fix N/A driver version
2025-08-03 11:30:25 +02:00
serifpersia
b06eca1e68
rename & cleanup for ALSA submission candidate
2025-08-02 15:25:09 +02:00
serifpersia
4a1008d070
more modular refactoring
2025-08-02 11:53:36 +02:00
serifpersia
9f0c814b2d
fix incomplete refactor
2025-08-02 00:49:58 +02:00
serifpersia
5675faf5d3
suspend & resume fixes
2025-07-31 15:02:15 +02:00
serifpersia
ac0175e10d
more midi improvements
2025-07-26 14:31:56 +02:00
serifpersia
ea5b6e6b8e
fixed capture regression
...
capture was not working revert fixes this, midi keep alive still to be implemented correctly
2025-07-24 13:55:43 +02:00
serifpersia
9ec14ffdcc
better midi handling
2025-07-24 12:13:40 +02:00
serifpersia
60b0430678
more playback/feedback sync up to spec changes
2025-07-22 12:34:38 +02:00
serifpersia
3fc054f4c3
better error handling and midi optimizations
2025-07-22 09:58:04 +02:00
serifpersia
6d4bf9d360
config handshake fix
2025-07-21 18:18:53 +02:00
serifpersia
e6b9599f55
major improvements to stability and robustness
2025-07-21 15:05:39 +02:00
serifpersia
4d4204a174
removed info logs for midi events
2025-07-20 11:34:18 +02:00
serifpersia
8f78ebe3a3
conform to linux kernel code styles
2025-07-20 11:32:43 +02:00
serifpersia
d22558abb8
Update us144mkii.c
2025-07-19 23:09:05 +02:00
serifpersia
7284fb4c42
initial midi(not functional)
2025-07-19 20:18:11 +02:00
serifpersia
91da2b8342
routing and single latency update
2025-07-18 19:34:05 +02:00
serifpersia
90c454ec4c
Update us144mkii.c
2025-07-17 22:57:55 +02:00
serifpersia
507fb082ef
Merge branch 'main' into wip-capture
2025-07-17 22:53:25 +02:00
serifpersia
2b6fe98021
round of driver optimizations
2025-07-17 22:21:11 +02:00
serifpersia
2b8520aff3
working capture
...
using correct decode func fixed capture. Needs more optimization to work in lower latency
2025-07-17 20:34:58 +02:00
serifpersia
10142e053c
working duplex
...
JACK/ALSA can now use capture streams. Needs bug hunting for kernel panics & proper usb capture decode logic as current implementation only gives left channel distorted audio(to be fixed)
2025-07-16 22:33:08 +02:00
serifpersia
8259275c9e
dummy capture & playback routing
2025-07-16 22:27:11 +02:00
serifpersia
5b572c0df2
playback fix: reconfigure interface every time desktop audio/alsa tries to use the device
2025-07-16 15:40:29 +02:00
serifpersia
de039d531b
more feedback sync fixes for playback
...
this manages to run at 64 buffer default period around 1.6ms of latency and its stable, but driver needs to be reloaded to get stable audio again if app ran for the second time. Need to find fix for this.
2025-07-16 15:29:51 +02:00
serifpersia
cb93e4d905
revert to playback only, capture feat migrated to separate branch
2025-07-15 18:46:57 +02:00
serifpersia
d1cf14f8b7
feat: initial capture + exact routing & python control panel gui updated
2025-07-15 15:53:51 +02:00
serifpersia
a61ad1d1e9
playback optimizations
2025-07-15 11:12:13 +02:00
serifpersia
049e12fd1e
playback up to spec, alsa mixers and python gui control panel
2025-07-12 21:42:15 +02:00
serifpersia
fc3a76c66e
more up to spec changes for playback
2025-07-06 09:47:08 +02:00
serifpersia
a948d2eec3
Revert "commented out the highest latency (currently causing issues on some cases)"
...
This reverts commit 074c971fd5 .
2025-07-06 08:10:49 +02:00
serifpersia
074c971fd5
commented out the highest latency (currently causing issues on some cases)
2025-07-06 08:09:56 +02:00
serifpersia
2ab4797401
playback optimizations
2025-07-05 20:26:35 +02:00
serifpersia
df642295da
suspend & resume implementations
2025-07-04 20:31:05 +02:00
serifpersia
76a3719cf9
Align driver with kernel coding standards + pcm bug fix
2025-07-04 17:31:12 +02:00
serifpersia
b88d64867b
feat: Playback goal complete. Fully working up to spec audio playback handling
...
The ALSA driver properly transfers audio data to the device, using JACK with 48 samples and -n 3 gives stable lowest latency possible for it at 48khz. Future goals are stablity on resume and shutdown, MIDI, audio routing, alsa mixers and GUI tool to trigger these mixers.
2025-07-01 21:17:26 +02:00
serifpersia
b870235238
3 latency profiles for better buffers for vsts
2025-07-01 13:51:00 +02:00
serifpersia
ab377f904c
feat:stability and spec, new libusb tool for testing audio performance
2025-06-30 14:51:17 +02:00
serifpersia
ded6ed5652
more up to reverse eng report spec improvements
...
Still not happy with latency logic, earlier commits managed 1.3ms at 48khz while this can only do 10.7ms. Still more room for fixing before moving to capture
2025-06-29 19:15:41 +02:00
serifpersia
f9475374a7
better stability with JACK and DAW's
...
This commit fixes freezes and crashes. There is still room to improve the latency which will future commits provide hopefully.
2025-06-29 11:13:21 +02:00
serifpersia
fab76233a5
better performance using lower latency profile
...
Even after matching 1:1 the buffer and period sizes and overall buffer logic needs to be smarter to fix issues with latency and crashing on JACK and VSTS
2025-06-28 20:48:43 +02:00
serifpersia
fb27eab405
improved driver stability & performance
2025-06-28 15:16:20 +02:00