atari-legend / legacy

Source code for the legacy AtariLegend site (Still used for the CPANEL)
https://legacy.atarilegend.com/
GNU General Public License v3.0
3 stars 0 forks source link

CPANEL/MAIN SITE - FEATURE - Music structure & features #232

Open stgraveyard opened 7 years ago

stgraveyard commented 7 years ago

Hey all,

Because of the release of this piece of javascript coolness (http://www.stef.be/bassoontracker/), I was wondering : 1) Is there something like this available already on the internet? I mean, a cool webbrowser player that suppports all Atari ST formats? Because I think this thing looks amazing, I'm in touch with the coder and I could ask for features like YM and SND support? 2) Do we need to enhance our music structure in some way? The setup seems ok to me, but there aren't many features. Currently we can link a music file of any type to an author and to a game. but that's it. Do we need more feature (like we did in the download structure?) 3) I personally think the music section in the cpanel is a mess. I want to change this in the future. What do you guys think of this?

Let's discuss ;-)

Maarten

stefanjl commented 7 years ago

Did the old AL have music player... i don't remember? :) How is the music played now on the new AL, i have seen the option for playing music but no explain what formats that are supported.

The whole SNDH collection exist in mp3/ogg/flac format here: http://sndhrecord.atari.org/ and that cover at least 90% of all game and demo music.

How is the order of the music sorted for the music playing function at the new AL? The "AL_gamedetail_new.png" show 3 songs and they are in a good order... title-ingame-end. Is the order depending on the order they are uploaded to the AL DB?

stgraveyard commented 7 years ago

The old AL had a jukebox at the front page. When you clicked the link, a javascript based jukebox opened in a pop up. This was linked to all the music in the DB and had a really nice interface. I have asked @fpoy to see if we can make a more up to date version at one point in time perhaps (a bit more like the jave demo you know see at www.atarilegend.com). But maybe this tracker can be an option as well. Currently, there are no music playing capabilities at the new AL. Keep in mind the design you are referring to is nothing more that that ... a photoshop design. I don't think I will be implementing anything music related in release 1. But what we release, will be cool. I like a jukebox of some kind, a separate music section (in the future) and a music player in the game detail pages. But before, I like to know if our structure needs to be enhanced. I will get back to this ...

stefanjl commented 7 years ago

I know it is an mockup screenshot :) I just liked that it showed the songs in a good order so i used that as an example.

It would be good to be able to add certeain songs to interviews... especially if it is an musician and also add music to reviews.

Found an SNDH player: http://www.tornil.me/sndh-player

https://github.com/bobuss/sndh-player

stgraveyard commented 7 years ago

ah very cool! thanks.

Indeed, these productions will also be linked in the interview section. Good point. Everything is linked to eachother, I just have to make sure I don't forget to add stuff :-) So these suggestions are great. It will have to wait till we have music online though. I am also planning seperate 'individual' section (author section) where people can search for authors and it will lead to a complete profile page with all productions and info in the db. A bit like the game section, but than for people. But that is for the future. Sorry to go of topic, back to music in this thread!

This sound player also seems like a very nice solution for the game detail pages!

nguillaumin commented 6 years ago

Interesting, I had the idea a while back to create a site dedicated to ST music, with a Javascript based music player. While researching it I found this: https://github.com/wothke/sc68-2.2.1/tree/master/emscripten . It's a port of sc68 to Javascript using Emscripten , there's a demo there: http://www.wothke.ch/webaudio68/

That works with SNDH files, which I think AtariLegend uses?

Alternatively there's YM / STSound files of which I have a big collection), and I started to work on an Emscripten port a couple of weeks ago.

So there's definitely something possible here!

stgraveyard commented 6 years ago

Wooooh, that looks so cool, you are pure gold Nico! :-)

However, this does not seem to work in IE...But this is definitely something I want. When we upload music files again (but also, this DB structure will need to be enhanced), I really want some kind of jukebox with random function, so people can use AL to listen to tunes at work, in the car ... whatever!

nguillaumin commented 6 years ago

I have a prototype working for this :smile:

output

This GIF doesn't have sound obviously, but It's pretty cool to hear the music of Turrican 2 coming out of the website :wink:

It seems there is already music in the database, which I used in my prototype. Is there anything wrong with it (as you were talking about uploading music files again)?

Would there be any interest in implementing something like that as a first step (without any jukebox features, just the ability to quickly play the music associated with the game)? If yes, what were you thinking in terms of front-end / UI? I put the music in a separate box in my example, but I'm not sure that's best...

stsilversurfer commented 6 years ago

Wow! Very cool!

It would be super if we could get the music player to be persistent so that it will keep playing while continuing to browse.

nguillaumin commented 6 years ago

Thanks! I'll try to put in on a branch later so that you guys can play with it.

Yes, I completely agree about background music, but that's a bit tricky to do without a popup or a dodgy iframe unfortunately... I'll have to think about it.

Another thing I realized, the SND files have multiple tracks embedded in them. For example for Turrican 2 there are actually 29 tracks inside the SND file (presumably 1 per level + the intro, outro, etc). So the front-end UI will have to account for that too. A difficulty is that we only know the number of tracks when we start playing the file in Javascript, so we can't really display it on the page, unless we're ready to code some PHP to open the SND file and parse its information.

Brume-AL commented 6 years ago

Playing SNDH is really cool, thanks for that, Nicolas :) I suggest to give up the idea to play YM, since the format is obsolete and it can't play many advanced sound tricks (Marcer would probably explain that better than me).

stgraveyard commented 6 years ago

Nico, you maniac!! :-D This is awesome, you go at the speed of light, I love it.

However, I have some remarks :

  1. For continues play I would love to have a super flashy kick ass AL jukebox which would start in a new tab
  2. if we want continious play, maybe we can have the player pop up? But how does this work on phone? I really want to continue focussing on phones and tabs and what is made needs to be working flawlessly on this hardware as well
  3. @nguillaumin I had a design last year : #149 - That is how I saw the music player on the main page ;-)

Anyway, great stuff!

nguillaumin commented 6 years ago

I suggest to give up the idea to play YM

Ah, I didn't know that YM was obsolete. The format looks better to me (as I understand it SNDH music actually contain the replay code in m68k assembly which sounds a bit crazy to me! Whereas YM is just a dump of the music chip registers), but I don't really mind.

Do we really want the old stuff we have in the DB?

The thing in the DB sounds alright to me, in terms of formats at least it's still the SNDH that's used today I think? I don't mind if we want to start from scratch, but I'm not sure what we would do differently?

Regarding a jukebox / continuous playing it's indeed tricky as it needs a separate tab or window, and that impacts the mobile experience indeed. So I think we should start by just having a player on the page as a first step, that's better than nothing, and then we can think of the jukebox long term.

Cool for the design on #149, I think that's achievable.

I pushed the prototype on a branch protoype-music if you guys want to check it out. Just don't look at the code it's quite ugly :wink: and I only tested it on Chrome.

stgraveyard commented 6 years ago

The thing in the DB sounds alright to me, in terms of formats at least it's still the SNDH that's used today I think? I don't mind if we want to start from scratch, but I'm not sure what we would do differently?

See point 2 of this issue. Our music section on a db level is just a file linked to a game, that's it....

Thanks for the branch, will check tomorrow ...

nguillaumin commented 6 years ago

Ah I see... Well I can think of a few improvements on the DB structure:

In any case that doesn't prevent work on the front-end / player, as it just relies on the music ID to fetch the file.

stgraveyard commented 6 years ago

There is a bit too much going on at once :-D I don't know about the music structure, I am no expert. When I compare the music structure with the download structure there is almost no extra data. But like you said, we can look into this in the weeks to come while you or anyone who wants can work on the front end.

nguillaumin commented 6 years ago

Yep, I agree we should not do too much at once, especially in terms of changing the DB. I think I can work on the front-end with the current DB structure, the player shouldn't be too affected if we change the structure later.

nguillaumin commented 6 years ago

For the design you showed in #149 , do you have separate image files for the music player (i.e. the background, buttons, etc), so that I can implement it in HTML / Javascript? Thanks.

stgraveyard commented 6 years ago

@nguillaumin Sorry, I don't, I just ripped it from the net somewhere :( But I can find this stuff I think. I will have a look this evening if you can still wait a bit...sorry

nguillaumin commented 6 years ago

That's fine don't worry about it, I was able to improvise (see the merge request).

stgraveyard commented 6 years ago

@nguillaumin This is not only a game I will be reviewing soon, but on this page you have a beautifull example of a music player : http://www.lemonamiga.com/games/details.php?id=1065 ... This is what I had in mind ...

nguillaumin commented 6 years ago

Doesn't seem to work on Linux :wink: Flash I suspect... I'll try to have a look on a Windows machine.

nguillaumin commented 6 years ago

I had a look, it looks cool indeed. I think that's achievable, the issue is really the DB structure and the fact that SNDH music can hold multiple tracks, and we can only know how many once they start being played in Javascript, which makes everything a bit harder :wink:

stsilversurfer commented 6 years ago

Nico, you have looked at this a bit more then me but how far would a php depacking function get us?

nguillaumin commented 6 years ago

It would certainly help, because we would then have all the information we need to render the page and the player, rather than having to wait for the user to click "play". With all the songs attribute we can prepare the playlist directly when the page loads.

Since we seem to have SSH access, perhaps we actually can deploy native binaries? If it works we could use any C library or program able to unpack ICE for us...

nguillaumin commented 6 years ago

Good news, I managed to do exactly that! Compile unice68 on the 1and1 server and run it to unpack a SNDH file! Then the song metadata is easily readable from PHP! So it seems there's a way forward :smiley:

stsilversurfer commented 6 years ago

wow! that opens up possibilities! Great stuff!