Jollailija / nettiradio

A simple client for Finnish net radios
Other
6 stars 5 forks source link

Maintenance #4

Open direc85 opened 5 years ago

direc85 commented 5 years ago

Hello, finally found my way here!

So I'd like to help maintaining Nettiradio, as I use it and would like to keep it functional. I suggest we start by me just making pull requests if you could then push the compiled packages to Harbour?

I'd rather not publish my own fork to Jolla Store, because that would require users to remove your app and install mine, but if it is later justified, I can of course do it.

Thanks!

direc85

Jollailija commented 5 years ago

Greetings and welcome!

Thanks for reaching out, I'm currently real busy with the usual life stuff and it's getting in the way of my hobbies in a nasty way. I greatly appreciate your help and am sure the 2.5k users of Nettiradio will too! Pull requests work for me, I’ll be happy to also include you in the store description and the about page as the (station list) maintainer, if you are willing to take the blame when something stops working ;)

I built Nettiradio over a fifth of my life ago, so I’m a little hazy on the details, but it’s somewhat reasonably sensibly split into parts for easier maintenance- in this repo, there’s the master branch with the code for the app and the gh-pages branch, where the station list lives, allowing the two to be updated separately.

The app itself is a bunch of qml+js spaghetti held together with rubber bands and tooth picks, spread over a bunch of files, each consisting of a single UI component or page. There’s also the aptly named functions.js with a bunch of random js functions and the lib Item, which basically evaluates to global variables re-invented by someone who used text boxes drawn off-screen to store strings because they didn’t know better- what I’m trying to say is that this was my first “real” app and one which I started building before fully understanding the fundamentals of coding, and thus I pity the one who has to maintain it. Luckily, unless an OS update breaks a bunch of stuff, there shouldn’t be anything to fix! (Famous last words...) Adding new features might be tough without a rewrite, but feel free to try!

Now that that’s out of the way, let’s get down to business.

Maintenance priority number one is the station list. It’s here and pretty straight forward to edit. It includes a link to Mediamonitori, but you might need to find stream urls from elsewhere for a few of the stations. If you happen to find a more complete source, use and link it. The nation-wide channels have more listeners than the smaller ones [citation needed, Nettiradio doesn’t track its users], so any station list update should always cover at least all of them. If you have the time, feel free to add the temporary stations from Mediamonitori under the respective category. The list should always be categorially and alphabetically sorted, as I don’t remember implementing any sorting on the client side. I’ve always tested by pushing to prod, but that’s not a habit you should pick up. Fork the repo, change the url here to point to your fork, do your magic and make a pull request if everything works.

I’ll grant you push rights to the branch after you’ve proven to be worthy, ie. when I get tired of reviewing PRs :)

Regarding the app, there are several features and enchantments I’ve in mind for Nettiradio 2.0, some of which are listed in the README. I’ll follow up with more info about those later, if you’re willing to stick your fork into that plate of spaghetti.

Thank you once more, I'll be waitin' for those sweet PRs!

Cheers,
jollailija

direc85 commented 5 years ago

Thanks for the reply! I'm quite familiar with spaghetti code, and I think I'll rewrite some parts of the app, but I don't plan to do anything major, unless it's really bad spahgetti code. It's going to be a while until I get to Nettiradio, as I have quite many a hot potatoes in the air at the moment... Don't we all :)

I'm totally fine with taking things slow, and starting by pushing some PRs. I think I would use the same approach myself, should I hand over my project to somebody else.

Let the pull requiests begin ;)

Jollailija commented 3 years ago

from #5

Yeah, I should add myself to the copyright headers. Good point.

I went ahead and added you, didn't check if the format is right but we're in Finland so it doesn't really matter- all rights are automatically reserved and a bad license just fails to give them away

You are using 3-clause-BSD license, am I right? I could check the source files for consistency and actually add the license file to the project.

Yep! I made #7 in haste; feel free to push a LICENSE file & correctly formatted headers to the source files. My pull request over at AllRadio made it through so if you like GPLv3 better we can maybe re-license to bring some goodies back upstream without needing his cooperation.

PS Are you willing to push updated builds to Jolla Store as progess is made, or how should we proceed in the long run?

I went totally wild and pushed 1.9.2 to Jolla Store, I hope there's still time to get it out before xmas- according to Harbour there are still 2.5k+ active installs ie. a bunch of people whose holidays we can make a tiny bit better :)

Jollailija commented 3 years ago

Re: #6 I've made a script thingy, the almost-unmodified output of which can be seen here: ff00922 (for now I need to run it manually on my dev machine, after it has matured a bit I'll publish the source and add it to my server's crontab). It's been almost 4 years in making so you can believe it feels good to have it come this far. It scrapes the data from the source's html tables and applies some modifications, mostly explained at the wiki

Jollailija commented 3 years ago

So here's where we stand: