CDP Library

Started by loganmcbroom, November 27, 2019, 02:53:22 AM

Previous topic - Next topic

loganmcbroom

A month or two ago I was discussing with another CDP user the discontent we felt with the difficulty of building additional software on top of the CDP. The codebase is, frankly, a nightmare. It isn't extensible or maintainable, or even comprehensible. I figured I should try to fix that, so I'm working on an audio processing library that aims to maintain the spirit of the CDP, but with a modern codebase and in library form. I'm not aiming for a one-to-one recreation, but I am aiming to recreate a large majority of the existing functionality in a form that is greatly simplified by having an entire programming language (c++) to work with. The naming convention will be different but I'm planning to create a mapping between cdp names and my own so long time CDP users know where everything is.

Here's a link to the repo (name suggestions are welcome): https://github.com/loganmcbroom/XCDP

I haven't used cmake before so the build might be rough at the moment, but I'd like the library to be cross-platform and it seemed like the de-facto option for that. It's also a work in progress, but it works, and passing lambda functions into blur_blur instead of time-value files warms my heart. If you've wanted to mess around with the nuts and bolts of the CDP but were scared off by if(sloom) and dz->bigBufbuf[buf], I hope you'll check it out and write some processes of your own. If you want help building or anything really, I'm always around the discord: https://discord.gg/QmQuJKB

p8rpp

This looks like a cool project! On which OS are you developing? I am still looking for help building CDP from git on 64bit Debian linux in another thread...

joehuergo

Quote from: p8rpp on November 27, 2019, 05:40:52 AM
This looks like a cool project! On which OS are you developing? I am still looking for help building CDP from git on 64bit Debian linux in another thread...
We are developing on Windows, but as Logan said ideally it should work cross-platform. We've only tried Windows so far though.

loganmcbroom

No idea on building CDP, but if you want to try building xcdp the prereqs are all made for Linux, so I can only assume it will be simpler there.

loganmcbroom

If anyone is interested, the latest push of this has gpu based audio-pvoc converters. I haven't heavily tested it (or anything else) so it's probably unstable, but it's quite fast.

loganmcbroom

I made all dependencies optional recently so this should be quite easy to build now. I imagine there are some bugs in terms of endianness that are hard for me to check, but little-endian systems should be able to hit compile and go.