<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010-2011 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<resources>
    <string name="app_name">MusicFX</string>

    <!-- ControlPanelMusic strings -->
    <string name="no_effects">Effects not available.</string>
    <string name="main_toggle_effects_title">Audio effects</string>
    <string name="eq_dialog_title">Equalizer</string>
    <string name="headset_plug">Plug in headphones for these effects.</string>
    <string name="bass_boost_strength">Bass boost</string>
    <string name="virtualizer_strength">Surround sound</string>
    <string name="pr_title">Reverb:</string>
    <string name="pr_summary">Additional room reverberation effects</string>
    <string name="pr_dialog_title">Reverb preset</string>
    <string name="setup">Setup</string>
    <string name="ci_extreme">FX booster</string>
    <string name="user">User</string>

    <!-- title of control panel picker dialog [CHAR LIMIT=30] -->
    <string name="picker_title">Music effects control panel"</string>
</resources>
