public Sound(String event, URL sound_res){
        this.event = event;
        try {
            AudioInputStream audio_in = AudioSystem.getAudioInputStream(sound_res);
            AudioFormat format = audio_in.getFormat();
            DataLine.Info info = new DataLine.Info(Clip.class, format);
            this.audio = (Clip) AudioSystem.getLine(info);
            this.audio.open(audio_in);
            // Obtain the volume-control:
            if (this.audio.isControlSupported(FloatControl.Type.MASTER_GAIN)){
                volume_control = (FloatControl) audio.getControl(FloatControl.Type.MASTER_GAIN);
            }
            if (this.audio.isControlSupported(BooleanControl.Type.MUTE)){
                mute_control = (BooleanControl) audio.getControl(BooleanControl.Type.MUTE);
            }
        } catch (LineUnavailableException e){
            System.err.println("Something is blocking the audio line.");
        } catch (Exception e) {
            throw new IllegalArgumentException(e);
        }
    }