Difference between revisions of "Hyperradio js OXP"

From Elite Wiki
m
m
Line 1: Line 1:
 
===OVERVIEW===
 
===OVERVIEW===
 
 
----
 
----
  
Line 8: Line 7:
 
That was yesterday.
 
That was yesterday.
  
Note:
+
Thanks to the dev-team for the new sound-stuff.<br><br>
Oolite v1.71 has some new sound/music functionality, so the Hyperradio will get some new features.<br>
 
The latest version v1.04 is just a compatibility version with Oolite v1.71, because the engine has changed<br>
 
a little bit. So stay tuned...
 
  
 
===HANDLING===
 
===HANDLING===
 
----
 
----
- Step 1: Just place your soundfiles (.ogg or .wav -> see list of formats) in the OXPs Sounds-folder.<br\>
+
- Step 1: Just place your soundfiles in the <b>OXPs Music-folder</b>.<br>
- Step 2: Open descriptions.plist in the Config-folder (you can use a simple text-editor)
+
Please note that the versions before v1.05 have used the Sounds-folder. If you have your soundfiles already there, just rename the folder or copy/move the files in the Oxps Music folder.<br><br>
and add your filenames to the array.
+
- Step 2: Open <b>descriptions.plist</b> in the <b>OXPs Config-folder</b> (you can use a simple text-editor) and add your filenames to the array.<br>
 
+
Please note that the OpenStep-Architecture (Example) is used for all Java-Script versions now.<br><br>
Example (old form):<br>
+
Example (new form):<br>
  <key>hyperradio_songlist</key>
 
    <array>
 
      <string>example.ogg</string>
 
      <string>my_first_sound.ogg</string>
 
      <string>my_second_sound.ogg</string>
 
      <string>My_first_music.ogg</string>
 
      <string>my_second_music.ogg</string>
 
    </array>
 
 
 
Example2 (new form):<br>
 
 
   hyperradio_songlist =
 
   hyperradio_songlist =
 
     (
 
     (
Line 37: Line 23:
 
       "my_next_song.ogg" // Note that the last entry does not have a commata at the end
 
       "my_next_song.ogg" // Note that the last entry does not have a commata at the end
 
     );
 
     );
 
Please note that the OpenStep-Architecture (example2) is used in all new versions.
 
  
 
Save your additions. That's it. Totaly easy.
 
Save your additions. That's it. Totaly easy.
  
- Step 3: Fire up Oolite. Buy the Hyperradio (if you can), launch from the station and press F7 (SYSTEM_DATA_SCREEN) and step back to the cockpit view (F1). When the song is over... F7, back to F1,...
+
- Step 3: Fire up Oolite. Buy the Hyperradio (it is not everywhere available), launch from the station and go to the SYSTEM_DATA_SCREEN (F7). The connection has to be established, so wait a few seconds. When the connection is stable (the music is playing) step back to the cockpit view (F1). When the song is over... F7, back to F1,...<br><br>
 
 
!!!! Because of the handling of variables in Java-Script don't use filenames with a leading zero or other numerics.<br>
 
 
 
Example:<br>
 
    01.ogg -> interpreted as 1 (without 0 and .ogg) does not work
 
    a0.ogg -> interpreted as a0.ogg works
 
    So the best would be to use a syntax like:
 
    artist-songname.ogg
 
    Tchaikovsky-Swan_Lake_Act_II_Scene_Moderato.ogg
 
    Leon_Willett-Dreamfall.ogg
 
  
 
===DOWNLOAD===
 
===DOWNLOAD===
 
----
 
----
There are 3 different version available:<br>
+
[[Media:Hyperradio1.05.zip | Hyperradio1.05.zip]] (407 KB) - This version runs ONLY under Oolite v1.71-test or higher!<br><br>
Don't use them together, because they are using the same namespaces and variables.
 
 
 
[[Media:Hyperradio_1_04.zip | Hyperradio_1_04.zip]] (405 KB)<br>
 
This version runs ONLY under Oolite v1.71!<br> It uses Java-Script and has some functionallity that can't be done with the old legacy scripting method.
 
 
 
[[Media:Hyperradio_1_03.zip | Hyperradio_1_03.zip]] (405 KB)<br>
 
This version runs ONLY under Oolite v1.70!<br> It uses Java-Script and has some functionallity that can't be done with the old legacy scripting method.
 
 
 
[[Media:Hyperradio_legacy_1_00.zip | Hyperradio_legacy_1_00.zip]] (405 KB)<br>
 
This version runs on Oolite v1.65 - v1.70.<br>
 
[[#top | top]]
 
  
 
===TESTED FORMATS===
 
===TESTED FORMATS===
Line 256: Line 219:
 
Creating background music:<br>
 
Creating background music:<br>
 
The background music '''max''' db should be between -12 and -8 db, because a lot of players are using customsound-OXPs and the player should hear if something happens. And the new functionallity of Oolite will cause that more and more OXPs will use their own sounds. That means that sounds (like laser fire) should be between -6 and -3 db at a max. Higher values can result in digital clipping, but if you are familiar with mastering you can use higher values, but better not.<br>
 
The background music '''max''' db should be between -12 and -8 db, because a lot of players are using customsound-OXPs and the player should hear if something happens. And the new functionallity of Oolite will cause that more and more OXPs will use their own sounds. That means that sounds (like laser fire) should be between -6 and -3 db at a max. Higher values can result in digital clipping, but if you are familiar with mastering you can use higher values, but better not.<br>
 +
[[#top| top]]
 +
 +
===RESTRICTIONS===
 +
----
 +
1. Don't use it in interstellar space. There is a known bug and Oolite v1.71 will crash!<br><br>
 +
2. Because of the handling of variables in Java-Script don't use filenames with a leading zero or other numerics.<br>
 +
  Example:
 +
    01.ogg -> interpreted as 1 (without 0 and .ogg) does not work
 +
    a0.ogg -> interpreted as a0.ogg works
 +
    So the best would be to use a syntax like:
 +
      artist-songname.ogg
 +
3. Please take care that your descriptions.plist is valid. That means that there is a entry hyperradio_songlist with some songtitles in the array. If the array is empty Oolite will crash!!!<br>
 
[[#top| top]]
 
[[#top| top]]

Revision as of 12:01, 9 May 2008

OVERVIEW


I've often missed some background music while playing Oolite. Yes, it was possible to use other software
for this (like Winamp, iTunes,...), but that's not the way it should be. Oolite was a little bit 'incomplete'.

That was yesterday.

Thanks to the dev-team for the new sound-stuff.

HANDLING


- Step 1: Just place your soundfiles in the OXPs Music-folder.
Please note that the versions before v1.05 have used the Sounds-folder. If you have your soundfiles already there, just rename the folder or copy/move the files in the Oxps Music folder.

- Step 2: Open descriptions.plist in the OXPs Config-folder (you can use a simple text-editor) and add your filenames to the array.
Please note that the OpenStep-Architecture (Example) is used for all Java-Script versions now.

Example (new form):

 hyperradio_songlist =
   (
     "example.ogg",
     "example2.ogg",
     "my_song.ogg",
     "my_next_song.ogg" // Note that the last entry does not have a commata at the end
   );

Save your additions. That's it. Totaly easy.

- Step 3: Fire up Oolite. Buy the Hyperradio (it is not everywhere available), launch from the station and go to the SYSTEM_DATA_SCREEN (F7). The connection has to be established, so wait a few seconds. When the connection is stable (the music is playing) step back to the cockpit view (F1). When the song is over... F7, back to F1,...

DOWNLOAD


Hyperradio1.05.zip (407 KB) - This version runs ONLY under Oolite v1.71-test or higher!

TESTED FORMATS


This is a list of all formats that have been tested for the Hyperradio. Working formats are marked with YES, not working formats as no.
Thanks to all users who have sent in reports.

22.05KHz - 96KHz, Mono and Stereo
Format Header WIN MAC LINUX
ogg Ogg-vorbis YES YES YES
raw headerless A-Law no no no
raw headerless U-Law no no no
raw headerless 16-Bit DWVW no no no
raw headerless 24-Bit DWVW no no no
raw Signed 16-Bit PCM no no no
raw Signed 24-Bit PCM no no no
raw Signed 32-Bit PCM no no no
raw 32-Bit Float no no no
raw 64-Bit Float no no no
wav MS Signed 16-Bit PCM YES no YES
wav MS 4-Bit ADPCM YES no YES
wav MS 4-Bit IMA ADPCM YES no YES
wav MS 32-Bit Float no no no
wav MS 64-Bit Float no no no
wav MS U-Law no no no
wav MS A-Law no no no
wav MS Signed 24-Bit PCM no no no
wav MS Signed 32-Bit PCM no no no
wav MS 32kbs G721 ADPCM no no no
wav MS GSM 6.10 no no no
wav NIST A-Law no no no
wav NIST U-Law no no no
wav NIST Signed 16-Bit PCM no no no
wav NIST Signed 24-Bit PCM no no no
wav NIST Signed 32-Bit PCM no no no
flac 16-Bit L5 no no no
flac 24-Bit L5 no no no

Tested Systems: LINUX UBUNTU, MAC OS X, WIN 2000 and WIN XP.

Not included formats: AIFF, AU, AVR, CAF, HTK, IFF, MAT4, MAT5, MP3, OKI, PAF, PVF, SD2, SDS, SF, VOC, W64, WAVEX, XI and MS 8-Bit PCM.wav
top

NOTES


Using IN_GAME_MUSIC is a special thing. Currently it is possible to use the Ogg-Vorbis (.ogg) and Wave (.wav) -format. This file should not contain more than two channels, because Oolite does not support any surround-audio-files. It seems that Oolite reduces these files to stereo. And various kbps are handled by using a average kbps-rate.

Creating background music:
The background music max db should be between -12 and -8 db, because a lot of players are using customsound-OXPs and the player should hear if something happens. And the new functionallity of Oolite will cause that more and more OXPs will use their own sounds. That means that sounds (like laser fire) should be between -6 and -3 db at a max. Higher values can result in digital clipping, but if you are familiar with mastering you can use higher values, but better not.
top

RESTRICTIONS


1. Don't use it in interstellar space. There is a known bug and Oolite v1.71 will crash!

2. Because of the handling of variables in Java-Script don't use filenames with a leading zero or other numerics.

 Example:
   01.ogg -> interpreted as 1 (without 0 and .ogg)	does not work
   a0.ogg -> interpreted as a0.ogg			works
   So the best would be to use a syntax like:
     artist-songname.ogg

3. Please take care that your descriptions.plist is valid. That means that there is a entry hyperradio_songlist with some songtitles in the array. If the array is empty Oolite will crash!!!
top