You are browsing as a guest. Sign up (or log in) to start making projects!

Toluene

  • 11 Devlogs
  • 36 Total hours

digital audio workspace utilizing a text user interface.

Open comments for this post

3h 7m 37s logged

rendering and… GDB.
today i implemented rendering for tui, tried cleaning up code and documentation, and had trouble with using shared_ptrs to store window references. no lifetime guarantee anymore… i replaced them with regular pointers instead, and ill just give them to the tui, which will also delete them. good for temporary popups and constant visuals! copies or instances within the tui aren’t so robust…
i gotta admit though. figuring out shared_ptrs slice classes took me way. too. LONG. in the image below you can see an accurate depiction of how i felt doing that!

… in more detail though, i intend the tui to store pointers which point to dynamically allocated windows made with new. however, the pointers will be inside a class, and though the class allows full access to the pointer, the destructor makes sure to delete the store pointer. dynamically allocated windows are good because temporary, unimportant windows (like popups, or a dropdown) can be created locally and just added to the tui, they don’t have to be kept in members or vectors, and they’ll stay alive!! yippers! but if you want a pointer in a member or vector, thats no problem! this is much easier than hacky solutions with shared_ptrs, or instances, let alone copies in the tui…
all of that though, just to allow classes which inherit Toluene::Window to override base functions. i think it will be okay, though!
woah, uh, this is a bit of a long devlog. it… may be because i’m really unsure whether this “creative” solution will work… and cuz i’m angry. and tired

0
0
5
Open comments for this post

2h 32m 5s logged

got windows (as in text boxes) for the tui working. should’ve been like 20 more lines in a couple of minutes, ended up falling into endless debugging hell. call stack did not help one bit. nor did the decompiled library and assembly code.

pro tip: always use make_shared() to make shared_ptrs.

0
0
4
Open comments for this post

3h 46m 26s logged

so… i have been feeling really demotivated for a long time now, and so i did very little work. mainly because it turns out planning out software is really damn hard, and structuring, and everything is really hard to wrap my head around it. i also have some more personal stuff, like loneliness, to deal with, but that’s not important
what IS important is that i know how ill make tui work, and i’ve done a bit of cleaning up, making core stuff, and added more features. they’re minor though

i have very little to show, so ill just show a bit of code

0
0
3
Open comments for this post

2h 55m 46s logged

started work on making the text user interface do something. ncurses is a pain to work with, but i managed to get wide characters working too! also, i learnt you can put parameter names in header files… so imma do that now. in the screenshot below you can see unicode working!… and the code is beautiful.

0
0
3
Open comments for this post

3h 49m 6s logged

i spent time in Slovenia, visiting stuff like Vintgar gorge and Planica zipline. boohoo, could’ve used that time for toluene 😒
ok to be fair vintgar is beautiful in retrospect
luckily i had my laptop! i cleaned up a lot of code, mostly relating to the audio backend, and now im starting with the tui… and im struggling really hard (just look at the time).
… but it’s fine! ill probably handle it…

0
0
5
Open comments for this post

1h 26m 27s logged

SOUND!

this program officially makes sound! after looking at raw disassembles, library code and trying out random c++ nonsense, it’s worth it! my audio streams work (although very barebones), and i quickly made a funny sound with interaction :D

0
0
1
Open comments for this post

1h 32m 31s logged

???
i have been trying to get the audio streams to start, but i get some really weird runtime exceptions, or aborts, or something? im trying to debug the issues, but..?

0
0
2
Open comments for this post

3h 54m 4s logged

did a lot of work! a lot of annoying work. its 2:10am. two git commits, for things like making casts, and opening/closing audio stream stuff. i also fixed a function to get audio devices, which was a pain. i can (maybe) successfully open an audio stream with my wrapper!- but it doesn’t make sound yet, gotta add that. my code for everything is a mess, and it’s getting worse, but i’ll get to it one day! before that, here’s a demonstration of some kinda (albeit empty) audio stream coming into existence:

0
0
2
Open comments for this post

3h 7m 6s logged

i am COMPLETELY rethinking my knowledge of c++. i thought i had an idea of what references, or pointers were, and how i should use them, but ive been struggling and procrastinating the last few days because of how confused i am. this is just PAIN! ive done close to NOTHING!

0
0
3
Open comments for this post

4h 6m 6s logged

first tangible progress! modified the inner workings, but you can also now choose a wanted audio api and it will detect devices! making it wasn’t too smooth, seems my c++ knowledge is rustier than i thought… the linker didn’t like what i was doing, especially with constructors and destructors. nonetheless, here is an actual recording of something working :D

0
0
1
Open comments for this post

5h 19m 51s logged

spent 3h tugging with cmake, trying to get it to cooperate, contemplated giving up on libraries altogether, and wanted to just give up on the idea of cross-platform as well. ncurses is a curse. wanted to get help, but too socially anxious to actually ask stuff, and the only time i sent anything i was ignored ;-; . writing the wrapper for a backend audio engine was annoying, i wanna work with RtAudio, but in case i ever wanna switch, i wanna make it easy for myself. unfortunately, that includes a lot of writing, and learning headers, which is something i didnt know i didnt know. i can work with this for now though. heres a successful build message with nice code above :D

0
0
5

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…