rendered paste bodystatic Player[] sound_players;static Player sound_player;final static byte sound_menu = 0;final static byte sound_finish = 1;final static byte sound_start1 = 2;final static byte sound_start2 = 3;final static byte sound_game = 4;final static byte sound_zipper = 5;static void sound_init(){try{sound_players = new Player[ 6 ];sound_init_player( sound_menu, "meny");sound_init_player( sound_finish, "finish");sound_init_player( sound_start1, "start1-3");sound_init_player( sound_start2, "start4");sound_init_player( sound_game, "track");sound_init_player( sound_zipper, "zippers");}catch( Exception e){System.out.println(e.getMessage());}}static void sound_init_player( byte id, String name ){Player p = null;try{byte[] data;InputStream is = Std.open("/sound/"+name+".mid");p = Manager.createPlayer(is, "audio/midi");p.realize();if( id == sound_menu || id == sound_game )p.setLoopCount( -1 );elsep.setLoopCount( 1 );sound_players[ id ] = p;}catch(Exception e){Game.debug( "start:"+e.getMessage() );}}static void sound_play( byte id ){Player player;if(Std.sound_on){try{player = sound_player;int state;if( player != null ){player.stop();state = player.getState();if( state == Player.PREFETCHED || state == Player.STARTED ) player.deallocate();}player = sound_players[ id ];state = player.getState();if( state == Player.PREFETCHED || state == Player.STARTED ) player.deallocate();state = player.getState();if( state == Player.REALIZED ) player.prefetch();state = player.getState();if( state == Player.PREFETCHED ) player.start();sound_player = player;}catch(Exception e){Game.debug( "play:"+e.getMessage() );}}}