Introducing NODE!
Community Forums/Showcase/Introducing NODE!
| ||
Why is it called NODE? Well... you see... it just sounded cool, k? So, NODE. It's a livestream friendly music player that I made and is now open source! I'd love some feedback on it, so if you're willing, give it a try! Link: https://github.com/adiaden/node If you're new to GitHub, go into the releases folder and right click the .zip file and 'save link as'. And I would prefer feedback as an issue. Sure, it's meant for actual issues but... you see... it's just an easy way to leave a comment (I get emailed whenever there is an issue). Anyway, thanks everyone! Have a nice day! |
| ||
Maybe post a screenshot and a brief video to demonstrate what is your program ? |
| ||
Hi adiaden, this Node player is fantastic. It does have a tiny app window. ---------------------------------------------------------------------------- Update! As an app comparison, NODE uses approx 15% CPU VLC uses approx 1% CPU ---------------------------------------------------------------------------- Mysteriously, after running NODE for about 30 minutes the NODE window disappeared and the program crashed. (on Windows 10, 64bit) |
| ||
v perhaps it should be called 'nope'? ...and I'll see myself out. |
| ||
Sounds interesting. https://github.com/adiaden/node/blob/master/files/build10/src.bb#L108 Now there's I've not seen in a long while. |
| ||
Yes, adiaden's "Gosub logic" code is unusual, and may cause a stack imbalance. |
| ||
adiaden's "Gosub logic" code is unusual, and may cause a stack imbalance. He is using Gosub in the Right way. He makes sure that each Gosub call is ended with return and thus he is using it similar as a function call. Can you explain us what you mean with the Stack imbalance, because, when i run following code, there is no stack imbalance even after 10000 calls. And in this way is his code written: |
| ||
You're right Dan, I didn't see the bigger picture. There is no stack imbalance, (not in this case). Any Gosub followed by a Return should work just fine. |
| ||
Haha thanks for the input Yeah, Node is still in development I know it uses more CPU than VLC but it's supposed to be a program for streaming, not normal playback. As for Gosub, I really don't want to deal with a lot of function calls. It's kinda frustrating and Gosub seems to do the job quite well. EDIT: I looked through the code and found no trace of what could be causing it to crash on Windows 10. Since I don't have Windows 10, I probably won't find the cause any time soon. EDIT 2: About CPU usage... why is it using 15%? That's a lot for an audio player, let alone most Blitz programs... EDIT 3: WOAH... It uses 50% of my CPU without playing any music at all! Either I should slow down the Gosub calls or I should switch to functions. Or maybe perhaps BlitzMax... I'm considering a rewrite. |
| ||
Just found out why it used so much CPU... I needed a 60hz timer... *sigh* xD |
| ||
cool program and even better with bb platform. blitz3d or plus? |
| ||
@RustyKristi Plus I wouldn't be able to achieve that non-windows style GUI without using a GUI window and canvas. Otherwise it would just take up more screen space which is the opposite of what I was going for :P |
| ||
nice. Actually, it makes no difference as they can be all achieved either in max,b3d,plus even monkey. :-) That's why I'm asking because most bb code they can converted across these platforms if the code is not that complicated (at least for me). |
| ||
Wait... you can't use GUI in B3D, can you? With the exception of 3rd party libs/dlls or rebuilds, of course. |
| ||
EDIT 3: WOAH... It uses 50% of my CPU without playing any music at all!... Hmmm, maybe you can include some SetPriorityClass function into the NODE, to enable less CPU usage. SetPriorityClass(GetCurrentProcess(), PROCESS_MODE_BACKGROUND_BEGIN); Change own process priority in C: http://stackoverflow.com/questions/29621/change-own-process-priority-in-c MSDN SetPriorityClass Function: https://msdn.microsoft.com/en-us/library/ms686219(v=vs.85).aspx SetThreadPriority and SetPriorityClass on StackOverflow : http://stackoverflow.com/questions/13631644/setthreadpriority-and-setpriorityclass (.. If necessary, allow the program to restart itself into a low-priority mode, especially if it does not have superuser status.) SUPERUSER - Changing Windows process priority via command line : http://superuser.com/questions/620724/changing-windows-process-priority-via-command-line In Windows, run command from batch file with reduced priority : http://superuser.com/questions/285840/in-windows-7-run-command-from-batch-file-with-reduced-priority Okay, I'm out of ideas now. |
| ||
Wait... you can't use GUI in B3D, can you? With the exception of 3rd party libs/dlls or rebuilds, of course. non Windows GUI, yes you can. Actually, blitz3d and blitzplus almost the same except blitzplus has native Windows GUI support but no built-in 3D and vice versa. |
| ||
@Virtlands It's actually because the program is fast enough to cycle through the loop more than 20K times per second. I made a patch this morning, so now NODE uses only 1% of CPU on my end (60hz timer is what I used, in case someone has a 144hz or higher monitor.) @RustyKristi That's cool, I'll try that out sometime. EDIT: NODE version 0.14 (the latest one) now uses less CPU than VLC. I will be releasing the patch soon! |
| ||
I made a patch this morning, so now NODE uses only 1% of CPU. That's very clever. (I'm not familiar with "timers" in programs; It's the first time I've herd of it.) |
| ||
Yes try it and btw, it looks like you're new to github but there's a proper way to create releases instead of just committing exes and zips in a folder. https://help.github.com/articles/creating-releases/ So they can find it here when you have created them: https://github.com/adiaden/node/releases It's a good way to separate source code and binaries. It will also be easy for other github users. Example Blitz3D and BlitzMax repo release are here: https://github.com/blitz-research/blitz3d/releases https://github.com/blitz-research/blitzmax/releases But it's still up to you since it is your repo. ;-) NODE Looks nifty and interesting btw, I will check it out |
| ||
@virtlands It's a very useful command, especially when you want to limit the FPS or rather Hz of the game's logic and graphics controls. I recommend you try it out :) @RustyKristi Thanks! That should be a lot nicer than what I have right now (right now the source code is bundled with the release, which I'd like to avoid in the future). |
| ||
THanks for all that information. I still have a lot to learn about GitHub, and those timer things. Will be back. I have the username "Vitty" on VitHub. |
| ||
no prob, your player project looks good. |