Page 1 of 2

me again - howz about music?

Posted: Wed Sep 03, 2008 11:55 pm
by dogeddie
Is there any music to go w/ Oolite in-game? My pilot is lonesome. :P

Posted: Thu Sep 04, 2008 12:04 am
by Svengali
Then I would suggest to use the JFRG01 - Jazz, Funk, RnB and Groovy musicpack from the Hyperradio.oxp. It requires Oolite v1.71.x.

Posted: Thu Sep 04, 2008 12:07 am
by Disembodied
Macintosh Oolite has iTunes support. Alternatively there's the Hyperradio OXP and its musicpacks. Me myself at the moment I am mostly listening to reggae and a bit of the Chemical Brothers... but a couple of good Oolite tunes would be perhaps this or this...

Posted: Thu Sep 04, 2008 2:01 pm
by Commander McLane
As far as background music is concerned, I never have understood what the iTunes-support is good for. If I just fire up iTunes independently and choose my favorite music, it will play, no matter what Oolite does.

Posted: Thu Sep 04, 2008 2:59 pm
by Disembodied
iTunes support lets you contextualise the music to an extent, e.g. make playlists for use when docked, or in flight, or in combat, etc.

Posted: Thu Sep 04, 2008 5:27 pm
by dogeddie
So I download the Hyperradio oxp and place it in add ons as usual, or in the music folder? Does this come with default music, or do I need to add the music packs separate? I've read the read me, these are my questions.

Posted: Thu Sep 04, 2008 6:05 pm
by Svengali
dogeddie wrote:
So I download the Hyperradio oxp and place it in add ons as usual, or in the music folder? Does this come with default music, or do I need to add the music packs separate? I've read the read me, these are my questions.
The Hyperradio.oxp itself is only the 'tool' to give you the ability to play your own files without changing Oolites internal used files. It is the control mechanism and has no own (or just 2 short example) songs. You can use it in different ways - I thought it's on the WIKI-Pages :-) You can add your own ogg-vorbis audio-files (rip them, download them, write your own...) or you could download the musicpacks (3 available with different styles). Install all like any other oxp (in your AddOns folder) and buy the Hyperradio like other Equipment. You can also add own audio files to any of the used descriptions.plists (Hyperradio and musicpacks) or you could create an own radio station.

Have fun

Posted: Thu Sep 04, 2008 7:11 pm
by dogeddie
I'll install the Hyperradio into add ons and the 3 music packs into add ons. After I buy the Hyperradio, will it play random songs then from the 3 packs?

Posted: Thu Sep 04, 2008 7:57 pm
by Svengali
dogeddie wrote:
I'll install the Hyperradio into add ons and the 3 music packs into add ons. After I buy the Hyperradio, will it play random songs then from the 3 packs?
Short: Yes.

Longer: Yes and no. :-)

Long: Yes, because on every launch or entering a new system it picks a radio station (means playlist) from the list of available stations. If you are using one or more of the available musicpacks (or if you have created an own pack) the Hyperradio chooses a playlist based mainly on the system.ID, but it depends also on the number of installed musicpacks and in some cases it gets a random chance of changing the radio station.

And no, because the used method (expandDescription) does not really select a random entry from descriptions.plist. This is a known problem and maybe Oolites dev-team will change it. As workaround the Hyperradio reads in more than one entry and then selects on random base one entry. If the selection is identical to the current song it chooses another entry - nobody wants to hear the same song again and again :-). It's not totally failsafe, but 99% are not so bad :-).

Posted: Thu Sep 04, 2008 8:31 pm
by dogeddie
Thanks, Svengali :P

Posted: Thu Sep 04, 2008 9:14 pm
by JensAyton
I’d suggest having the music packs register themselves with Hyperradio using scripts, then use Math.random() to choose between them.

In rough outline:

Code: Select all

// HyperRadio script:
this.trackList = [];

this.hyperRadioRegisterMusicPack(trackNames)
{
    for (let i = 0; i != trackNames.length; ++i)
    {
        let track = trackNames[i];
        if (this.trackList.indexOf(track) == -1)
        {
            this.trackList.push(track);
        }
    }
}

// Music pack script:
this.tracks =
[
    // Insert track names here
    "13 Ghosts II.ogg",
    "[other]-unknown artist-=-track 5-.ogg"
]

this.startUp = function()
{
    let hyperRadio = worldScripts["name of hyperRadio script"];
    if (hyperRadio)
    {
        hyperRadio.hyperRadioRegisterMusicPack(this.tracks);
    }
    delete this.startUp;
    delete this.tracks;
}

Posted: Thu Sep 04, 2008 10:04 pm
by Svengali
Ahruman wrote:
I’d suggest having the music packs register themselves with Hyperradio using scripts, then use Math.random() to choose between them.
Thanks Ahruman,

I already thought about using an array instead of the descriptions.plist. It would be a lot easier for me to handle, but rejected this idea, because not every user is able to open JS-files properly. The standard-installation of Windows has problems to open these files and unexperienced users could run into trouble.

And because of the nature of this oxp most users will edit the playlist(s). So I thought - make it easy usable for them. Even if that means to use more difficult ways to script it and some restrictions in functionality.

Or should I change it?

Posted: Thu Sep 04, 2008 11:01 pm
by JohnnyBoy
I haven't tried running iTunes at the same time as Oolite - I'm worried that I wouldn't be able to hear the audio feedback that Oolite gives to tell me what's happening to my ship.

Posted: Thu Sep 04, 2008 11:26 pm
by JensAyton
You can play games without music? :-) Anyway, Both iTunes and Oolite have their own volume controls, so balancing noise levels shouldn’t be a great difficulty.

I don’t see much point in the iTunes integration myself, but I see even less point in taking it out, IYSWIM.

Posted: Fri Sep 05, 2008 8:26 am
by Commander McLane
Ahruman wrote:
You can play games without music? :-)
Actually most of the time (like 98%) I play Oolite completely silent, without even the game sounds, in order not to disturb my wife. :wink: