Activity

samhith (dont ooc)

Add export mixdown and user-configurable directories

  • Add user prompts for recording and export directories in session setup
  • Implement full-song mixdown export with multi-track mixing
  • Add ‘E’ key to export all tracks to single stereo WAV file
  • Use miniaudio decoder for reading segments during mixdown
  • Apply normalization to prevent clipping in mixed output
  • Update recording path to use user-specified directory
  • Add file/directory helper functions (ensureDir, joinPath, baseName, copyFile)
  • Fix ma_decoder_read_pcm_frames call to use 4-arg signature (oh my gosh this was a pain)
  • Update function signatures to pass recordDir/exportDir through session flow
Attachment
0
samhith (dont ooc)

I’m planning on adding a live visualiser next for the actual audio aspect of this.
But here’s what I have worked on so far:

  • I integrated the recording aspect with the tracks and made it so that you can record and add it to tracks and play it back!
  • I did some optimization and spent like 30 minutes fixing a mistake that I made regarding linking C and C++ with a header file and then went into a wikipedia deep dive about function overloading.
Attachment
0
samhith (dont ooc)

I added basic audio functionality (hackatime is being weird and only adding 40 minutes on this devlog, but It’s alright though). This audio functionality just includes a basic test right now and I am yet to link it with the rest of my code and add a way to actually record, I’m 99% sure that’s a job that takes like ~30 minutes just because of how smoothly everything works and how easy the awesome library that I am using is to use. Check out my recent commit on my GitHub for this project to see which library (its really just one header file in the dependencies folder).

Attachment
0
samhith (dont ooc)

I added:

  • Basic functionality to the main menu and the actual DAW itself.
  • You can make a session (like a project/song) and navigate around the basic interface.
  • No recording or actual sound interface yet, it’s just a basic UI that I got going here.
  • Sessions don’t actually get stored anywhere, thinking of making a file format for that, so that you can load them in that would be neat.
  • You can change basic project settings, but buffer length currently does nothing.
  • Exit option works too, it just quits the program (what else would it do).
1

Comments

Charmunk
Charmunk 3 months ago

woahh cool