Activity

Bye

This took FAR too long… but!

Finally, a window! A lot of this was fiddling with a “shadow dom” (a new concept for me) containing an iFrame. Is this overkill? could i just use an iframe? yeah. idk, i guess it just turned out like this. Time to design like a “welcome” screen now, or maybe the taskbar im not sure

Attachment
0
Bye

implemented some wallpaper stuff, it can either be a solid colour or an image filling the screen.
the ui automatically adjusts based on the window size (important because i might add fixed screen resolutions in the future for some fun stuff) now.
i also added something that will be the taskbar in the future… yeah its based on Windows 9x lol
i also implemented a cursor, but I’m just reusing an asset from a previous project.

what i’m going to do next is adding a window and the logic surrounding that. i’ve done something like this before but i’m going to implement it from scratch

Attachment
Attachment
0
Bye

Built the boilerplate for ByeOS (i.e. the element where all the windows are going to be put), but really I spent most of my time on the bluescreen for when there’s no javascript

Attachment
Attachment
0
Bye

Re-worked how browsers are detected, I was using a really old way of how Windows determines what browser to display in the Start menu. Now it checks every application to see if they register themselves as handling HTTP(S). Nothing interesting to look at here because the output is the same.

Attachment
0
Bye

Shipped this project!

Hours: 13.16
Cookies: 🍪 148
Multiplier: 11.22 cookies/hr

My website has a thing that pulls my currently playing song from ListenBrainz. I didn’t want to hammer them with web requests every time someone loaded a page so I made this to run on the server to make those requests instead. And then I decided to make a nice little debugging page to make sure everything is working and…

So now its a dedicated website to what I’m listening to! It tries to get the right album art, has a bunch of cool animations and stuff. I think it’s nice to look at. Honestly the main challenge is that some of the APIs are slow. I may need to write a proxy for those, too… :D but that’s for my next ship probably

Bye

I got really into doing animations for this huh…

since my last devlog, I…

  • grabbed data live using SignalR, updating the current song but also updating any listens if they change (i sometimes go in and fix broken ones)
  • made the listen list update when there’s a new listen
  • added a ton of animations. there’s ones for listens being added, text being changed, the cover art loading
  • changed the backgroudn from blurred cover art to getting the prominent colours of the cover art (using an npm library called color.js) and setting a bunch of rectangles to those colours, mimicking Apple Music basically. change the colour each rectangle gets assigned to and it looks like its moving!! i like how it looks when the colours change
  • fixed some reliability issues with getting the right cover art, but sometimes it takes ages im not sure what i can do about that without proxying musicbrainz and adding 3 million hours to my project..
  • changed the font
  • prepared it for shipping!

i’ve shown some of these off in the attached video

so!! it’s ready to ship. yippie!!

0
Bye

Mmmkay I’m not getting this done on time am I lol

After a lot of fiddling, here’s a text renderer!! You can drag the text around!! Next up, actually editing the text lmao

0
Bye

it draws pictures to the thing now!!
that’s enough work for today, i forgot how tiring javascript canvas is to work with
tomorrow i’m going to add the concept of a text box and let you position it anywhere (this is a limitation of the previous version: i wasn’t planning on using it for more than one year and hardcoded the location of text. this rewrite will fix it!! i hope)

the image i used is the picture i used for the previous version of this project last year. lets see if i can pull something together this year lol

Attachment
0
Bye

Set up a new vite project and imported some styles from my website, made a canvas and made it a blank screen, now its time to write some code :D

Attachment
0
Bye

Made the page a little bit nicer to look at.. now I need to make it push data to clients live lol
(i love SCSS)

Attachment
0
Bye

I wasn’t initially going to put this in flavortown so I didn’t make any devlogs for reading data from listenbrainz ;-;

AAnyway, I made it pull data from my ListenBrainz profile to get my recent listens and what I’m currently listening to. It grabs extra data from MusicBrainz (i.e. the cover art) and exposes that over an API. I made a little webpage to show this off but… it needs some styling work lol

Attachment
0
Bye

I made some small changes and fiddled with the installer a little bit, the program now has a Settings button when it’s running just in case you can’t find where it’s installed. It is now actually ready to ship!! I’ve made the GitHub release, so now it’s time..

Attachment
0
Bye

Huh.. that was quick. I’m almost ready to ship!!
Launching the browsers wasn’t that hard, maybe two hours? The rest of the work was trying to get an installer that actually showed up as a default browser lol. I have attached some video demos.
I also created a settings page that lets you configure things like what browser to target by default and how long it should wait until it automatically launches. There’s a few things I might want to change for stability and maybe I should add custom browser support, but I’m happy to ship it as it is right now!! (I do need to get the installer to create a shortcut to the .exe file so i’ll have to wait until i can get it to dothat…)

0
Bye

Started on basic UI and installed browser detection. People install all sorts of weird browsers, so it actually checks what programs have registered themselves as browsers in the Windows Registry rather than using a hardcoded list. Hopefully this works out!! (this took ages to get working)

Attachment
1

Comments

Bye
Bye about 2 months ago

yeah i’m aware the icons are kinda cooked i’m not sure what i can do about that without hardcoding them or poking it even more but we’ll see

Bye

I finally added support for checking a file against multiple sources for data and picking the best one! In my first screenshot you can see it failing to check against a Wii game database, GameTDB, so it uses the name of the game on the disc (which isn’t very accurate). With the database downloaded, it correctly identifies the game.

I also added a menu for downloading these files! I’ll show off the download dialog when I flesh it out a little.

Attachment
Attachment
Attachment
0
Bye

I added a thing to detect the types of files I’m detecting! So now I don’t need to check it with the Wii Disc Scanner if its not even a Wii game. That said… I still haven’t built in the online features, but I can pull some information from Wii games directly. Sadly, this is the easy system to support (the other being the PlayStation 3 purely because i’ve done all the work for that on a different project). Older systems that predate the console telling you what the game is called will be more challenging to show detailed information about. We’ll see how it goes…

(if you’re curious how this took so long, I’m still learning how Winforms works… AND I made the silly decision to write this program in .NET Framework, which isn’t actually updated (other than security) anymore. the library I use for magic number checking, Mime-Detective, is intended for .NET core (the open source version), and it uses a newer C# version as it uses features not available in the version used on netstandard2.0, which is a set of standard APIs for sharing code between .NET Framework and .NET Core. Turns out you can just… change the C# version in the .csproj file. It feels suuuper wrong but hey i’m not stuck coding like it’s {{release date of c# 7.8 here}} so that’s a neat bonus, and it works so i can’t really complain can i)

Attachment
Attachment
0
Bye

okay, so i did a couple of things:

  • i’m using an older .net version (framework 4.7) and I had to enable high-dpi manually
  • the program can now read the title id from an RVZ file (compressed disc image used by the Dolphin emulator), and later I’ll add pulling title information from GameTDB to add support for Wii and GameCube.

Initially, I was going to embed DolphinTool to read the title id, but it turns out its stored uncompressed at the beginning of the file so i can just yoink it out of there.
I still need to make it more generic though!! i’m figuring out how to make it deal with roms that are redump or no-intro verified.

anyway here’s the title id grabbing working

Attachment
0
Bye

Took a while to figure out how drag-n-drop works in winforms, now I’ve got a thing that can tell me the file extension of a given file! Using this I should be able to work out the type of rom and search against a database of some kind, but the logic for that will have to wait until tomorrow

Attachment
0
Bye

Created a boilerplate Winforms project in Visual Studio! Going to start with the basic UI design before I work out the identification logic.

Attachment
0